Optional attribute error peering BGP with FRR

Derrick Lim derrickltl at gmail.com
Thu Jul 11 13:41:29 CEST 2019


Hello everyone,

I’m having an issue with FRR running on Cumulus (4.0+cl3u10), which is
peering BGP to BIRD (2.0.2, also tried 1.6.3).

When certain routes from FRR are advertised to BIRD (I configured them
through vrf leaking on FRR, but not sure if that matters, or its just
something with the routes), BIRD terminates the BGP session with an
`Optional attribute error` (on BIRD 2.0.2, different error on 1.6.3)
when receiving the BGP UPDATE message.

I’m not sure if this an FRR or BIRD issue, so I'm hoping someone here
could take a look if the UPDATE message from FRR could possibly be
malformed, or is BIRD handling this in an odd way.

I've attached the tcpdump as well as error logs from BIRD, along with
the bird.conf, as well a portion of the FRR config.

100.91.38.1 is the host running BIRD.
100.91.38.61 is the host running FRR.

Regards,
Derrick
-------------- next part --------------
root at priv-ipvs101:~# !!
bird -c /usr/local/etc/bird.conf -d
bird: direct1: Channel ipv4 connected to table master4
bird: direct1: Initializing
bird: uplink2: Channel ipv4 connected to table master4
bird: uplink2: Initializing
bird: kernel1: Channel ipv4 connected to table master4
bird: kernel1: Initializing
bird: device1: Initializing
bird: bfd1: Initializing
bird: device1: Starting
bird: device1: Scanning interfaces
bird: Missing broadcast address for interface bond0.1000
bird: device1: State changed to up
bird: Chosen router ID 100.91.36.74 according to interface bond0
bird: direct1: Starting
bird: direct1: State changed to up
bird: uplink2: Starting
bird: uplink2: State changed to start
bird: kernel1: Starting
bird: kernel1: State changed to up
bird: bfd1: Starting
bird: bfd1: State changed to up
bird: Started
bird: direct1 < interface lo goes up
bird: direct1 < address 127.0.0.0/8 on interface lo added
bird: direct1 < interface eno2 created
bird: direct1 < interface bond0 goes up
bird: direct1 < address 100.91.36.0/25 on interface bond0 added
bird: direct1 < interface bond0.1000 goes up
bird: direct1 < address 100.91.38.0/26 on interface bond0.1000 added
bird: direct1 < address fe80::/64 on interface bond0.1000 added
bird: direct1 < interface eno1 goes up
bird: uplink2: Started
bird: uplink2: Connect delayed by 5 seconds
bird: kernel1 < interface lo goes up
bird: kernel1 < interface eno2 created
bird: kernel1 < interface bond0 goes up
bird: kernel1 < interface bond0.1000 goes up
bird: kernel1 < interface eno1 goes up
bird: kernel1: Scanning routing table
bird: kernel1: 0.0.0.0/0: [alien] ignored
bird: kernel1: 100.91.36.126/32: [alien] ignored
bird: kernel1: 0.0.0.0/0: [alien] ignored
bird: kernel1: 100.91.36.126/32: [alien] ignored
bird: kernel1: Pruning table master4
bird: uplink2: Connecting to 100.91.38.61 from local address 100.91.38.1
bird: uplink2: Connected
bird: uplink2: Sending OPEN(ver=4,as=-22544387,hold=240,id=645b244a)
bird: uplink2: Got OPEN(as=23456,hold=9,id=100.92.0.19)
bird: uplink2: Got KEEPALIVE
bird: uplink2: BGP session established
bird: uplink2: State changed to up
bird: uplink2: Sending KEEPALIVE
bird: uplink2: Sending END-OF-RIB
bird: uplink2: Got UPDATE
bird: uplink2: Error: Optional attribute error
bird: uplink2: BGP session closed
bird: uplink2: State changed to stop
bird: uplink2: Sending NOTIFICATION(code=3.9)
bird: uplink2: Down
bird: uplink2: State changed to flush
bird: uplink2: State changed to down
bird: uplink2: Starting
bird: uplink2: State changed to start
bird: uplink2: Startup delayed by 60 seconds due to errors
bird: device1: Scanning interfaces
bird: direct1 < interface eno2 goes up
bird: kernel1 < interface eno2 goes up
^C
root at priv-ipvs101:~#
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bird_bgp_err.pcap
Type: application/octet-stream
Size: 6505 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190711/b6cf8758/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: frr.conf
Type: application/octet-stream
Size: 524 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190711/b6cf8758/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bird.conf
Type: application/octet-stream
Size: 743 bytes
Desc: not available
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190711/b6cf8758/attachment-0002.obj>


More information about the Bird-users mailing list