Not at my computer, just a wild guess – would you try please, instead of ::/0, narrowing the range, e.g. like 2000::/3? I haven't seen the code recently but this may help.
Maria On 4 May 2024 17:16:21 CEST, Vladimir Pouzanov <farcal...@gmail.com> wrote: >Hi! > >I'm running bird 2.15.1 and I'm trying to make it talk to cilium that uses >gobgp under the hood. I can negotiate the session over ipv4 with no issues, >but due to a bug in the cilium implementation, the ipv6 routes aren't >advertised properly. The suggestion from cilium was to negotiate the >session over ipv6, but this creates issues for bird. > >I have a config that looks somewhat like this: > >protocol bgp { > local port 179 as 65100; > neighbor range 0::/0 port 179 as 65100 internal; > > dynamic name "GW6_"; > direct; > passive; > > ipv4 { > import all; > }; > > ipv6 { > import all; > }; >} > >protocol bgp { > local port 179 as 65100; > neighbor range 10.0.0.0/8 port 179 as 65100 internal; > > dynamic name "GW4_"; > direct; > passive; > > ipv4 { > import all; > }; > > ipv6 { > import all; > }; >} > >When I connect to bird over ipv4, gobgp sends a packet like this: > >Frame 4: 154 bytes on wire (1232 bits), 154 bytes captured (1232 bits) on >interface vmbrdev, id 0 >Ethernet II, Src: 22:fc:7f:47:6b:f4 (22:fc:7f:47:6b:f4), Dst: >6e:82:6c:1b:e9:95 (6e:82:6c:1b:e9:95) >Internet Protocol Version 4, Src: 10.224.129.15, Dst: 10.224.129.1 >Transmission Control Protocol, Src Port: 39201, Dst Port: 179, Seq: 1, Ack: >1, Len: 88 >Border Gateway Protocol - OPEN Message > Marker: ffffffffffffffffffffffffffffffff > Length: 88 > Type: OPEN Message (1) > Version: 4 > My AS: 65100 > Hold Time: 90 > BGP Identifier: 10.224.129.15 > Optional Parameters Length: 59 > Optional Parameters > Optional Parameter: Capability > Parameter Type: Capability (2) > Parameter Length: 57 > Capability: Route refresh capability > Type: Route refresh capability (2) > Length: 0 > Capability: FQDN Capability > Type: FQDN Capability (73) > Length: 12 > Hostname Length: 10 > Hostname: dev-master > Domain Name Length: 0 > Domain Name: > Capability: Unknown capability 75 > Type: Unknown (75) > Length: 13 > Unknown: 0c476f4247502f332e32332e30 > Capability: Multiprotocol extensions capability > Type: Multiprotocol extensions capability (1) > Length: 4 > AFI: IPv4 (1) > Reserved: 00 > SAFI: Unicast (1) > Capability: Multiprotocol extensions capability > Type: Multiprotocol extensions capability (1) > Length: 4 > AFI: IPv6 (2) > Reserved: 00 > SAFI: Unicast (1) > Capability: Support for 4-octet AS number capability > Type: Support for 4-octet AS number capability (65) > Length: 4 > AS Number: 65100 > Capability: Extended Next Hop Encoding > Type: Extended Next Hop Encoding (5) > Length: 6 > AFI: IPv4 (1) > SAFI: Unicast (1) > Next hop AFI: IPv6 (2) > >Which is followed up by OPEN from bird2 and they establish the session. The >logs say: > >May 04 14:47:02 ammy bird[7755]: bgp2: Incoming connection from >10.224.129.15 (port 39201) accepted >May 04 14:47:02 ammy bird[7755]: GW4_1: Initializing >May 04 14:47:02 ammy bird[7755]: GW4_1: Starting >May 04 14:47:02 ammy bird[7755]: GW4_1: State changed to start >May 04 14:47:02 ammy bird[7755]: GW4_1: Started >May 04 14:47:02 ammy bird[7755]: GW4_1: Got >OPEN(as=65100,hold=90,id=10.224.129.15) >May 04 14:47:02 ammy bird[7755]: GW4_1: Sending >OPEN(ver=4,as=65100,hold=240,id=0ae08101) >May 04 14:47:02 ammy bird[7755]: GW4_1: Sending KEEPALIVE >May 04 14:47:02 ammy bird[7755]: GW4_1: Got KEEPALIVE >May 04 14:47:02 ammy bird[7755]: GW4_1: BGP session established > >When I try to establish the connection over ipv6, gobgp sends an OPEN >that's exactly the same sans being transferred over ipv6: > >Frame 15: 174 bytes on wire (1392 bits), 174 bytes captured (1392 bits) on >interface vmbrdev, id 0 >Ethernet II, Src: 22:fc:7f:47:6b:f4 (22:fc:7f:47:6b:f4), Dst: >6e:82:6c:1b:e9:95 (6e:82:6c:1b:e9:95) >Internet Protocol Version 6, Src: 2a01:xxx:xxx:xxx:xxx:xxx:xxx:d930, Dst: >fd00::53 >Transmission Control Protocol, Src Port: 58663, Dst Port: 179, Seq: 1, Ack: >1, Len: 88 > >and then bird just stalls the connection. The logs say: > >May 04 14:49:17 ammy bird[7755]: bgp1: Incoming connection from >2a01:4f8:173:fe11:6f81:e7cd:2787:fb71 (port 35581) accepted >May 04 14:49:17 ammy bird[7755]: GW6_1: Initializing >May 04 14:49:17 ammy bird[7755]: GW6_1: Starting >May 04 14:49:17 ammy bird[7755]: GW6_1: State changed to start >May 04 14:49:17 ammy bird[7755]: GW6_1: Waiting for >2a01:xxx:xxx:xxx:xxx:xxx:xxx:d930 to become my neighbor > >I suspect it's either a bug or a misconfiguration on the bird side, because >gobgp behaves the same in both scenarios. How do I investigate/debug this >further? -- Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.