Closed alexejli closed 4 years ago
master is currently in flux and but could you please test the fix above. The previous patch is also related.
It works now:
Sun, 17 May 2020 10:19:10 8086 process command from process test : announce attribute route-distinguisher 63333:100 label [ 110 ] next-hop 10.0.99.12 nlri 129.0.64.0/18 Sun, 17 May 2020 10:19:10 8086 reactor async | test | announce attribute route-distinguisher 63333:100 label [ 110 ] next-hop 10.0.99.12 nlri 129.0.64.0/18 Sun, 17 May 2020 10:19:10 8086 configuration . attribute | 'route-distinguisher' '63333:100' 'label' '[' '110' ']' 'next-hop' '10.0.99.12' 'nlri' '129.0.64.0/18' Sun, 17 May 2020 10:19:10 8086 api route added to neighbor 192.168.5.65 local-ip 127.0.0.1 local-as 65003 peer-as 65004 router-id 127.0.0.1 family-allowed in-open : 129.0.64.0/18 label 110 next-hop 10.0.99.12 rd 63333:100 Sun, 17 May 2020 10:19:10 8086 outgoing-1 sending TCP payload ( 82) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0052 0200 0000 3B40 0101 0040 0206 0201 0000 FDEB 4003 040A 0063 0C80 0E24 0001 800C 0000 0000 0000 0000 0A00 630C 0000 0000 006A 0006 E100 00F7 6500 0000 6481 0040 Sun, 17 May 2020 10:19:10 8086 outgoing-1 >> 1 UPDATE(s)
Sun, 17 May 2020 10:19:10 8076 incoming-1 received TCP payload ( 19) FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0052 02 Sun, 17 May 2020 10:19:10 8076 incoming-1 received TCP payload ( 63) 0000 003B 4001 0100 4002 0602 0100 00FD EB40 0304 0A00 630C 800E 2400 0180 0C00 0000 0000 0000 000A 0063 0C00 0000 0000 6A00 06E1 0000 F765 0000 0064 8100 40 Sun, 17 May 2020 10:19:10 8076 incoming-1 << message of type UPDATE Sun, 17 May 2020 10:19:10 8076 parser parsing UPDATE ( 63) 0000 003B 4001 0100 4002 0602 0100 00FD EB40 0304 0A00 630C 800E 2400 0180 0C00 0000 0000 0000 000A 0063 0C00 0000 0000 6A00 06E1 0000 F765 0000 0064 8100 40 Sun, 17 May 2020 10:19:10 8076 routes withdrawn NLRI none Sun, 17 May 2020 10:19:10 8076 parser attribute origin flag 0x40 type 0x01 len 0x01 payload 00 Sun, 17 May 2020 10:19:10 8076 parser attribute as-path flag 0x40 type 0x02 len 0x06 payload 0201 0000 FDEB Sun, 17 May 2020 10:19:10 8076 parser attribute next-hop flag 0x40 type 0x03 len 0x04 payload 0A00 630C Sun, 17 May 2020 10:19:10 8076 parser attribute mp-reach-nlri flag 0x80 type 0x0e len 0x24 payload 0001 800C 0000 0000 0000 0000 0A00 630C 0000 0000 006A 0006 E100 00F7 6500 0000 6481 0040 Sun, 17 May 2020 10:19:10 8076 parser NLRI ipv4 mpls-vpn with path-information payload 0000 0000 6A00 06E1 0000 F765 0000 0064 8100 40 Sun, 17 May 2020 10:19:10 8076 routes announced NLRI none Sun, 17 May 2020 10:19:10 8076 peer-1 << UPDATE #15 Sun, 17 May 2020 10:19:10 8076 peer-1 UPDATE #15 nlri ( 19) 129.0.64.0/18 path-information 0.0.0.0 label 110 next-hop 10.0.99.12 rd 63333:100
Bug Report
While experimenting with sending different routes between two exabgp instances I came across a possible bug. When I send a route like one from your example (etc/exabgp/run/api-attributes-vpn.run):
announce attribute route-distinguisher 63333:100 label [ 110 ] next-hop 10.0.99.12 nlri 128.0.64.0/18
.. second exabgp peer breaks and keeps restarting session with error - UPDATE message error / Unspecific / unsupported family ipv4 mpls-vpn with extended next-hop capability enabled]
Edit: Sorry - forgot to mention the cause of the error (which is obvious from log) - capability nexthop. When I remove:
everything works as supposed.
The question is why I shoud not be able to have next-hop capability enabled while sending such a route?
# 1 INSTANCE
source etc/snd.env exabgp -d -f . etc/snd.conf
snd.conf
snd.env
# 2 INSTANCE
source etc/rcv.env exabgp -d -f . etc/snd.conf
rcv.conf
rcv.env
Environment
Logs issue.log