]> git.puffer.fish Git - mirror/frr.git/commit
bgpd: Do not send a label to zebra that it doesn't understand 3593/head
authorDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 9 Jan 2019 13:48:37 +0000 (08:48 -0500)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Thu, 10 Jan 2019 12:57:30 +0000 (07:57 -0500)
commit727cf7c933c438733b1540a3adc5e71ec421577c
tree1063302e05c54b5aebc922c50d86f6ce76f96e85
parent8de312fd4ea87ac344162234c13abc68b8b20cd9
bgpd: Do not send a label to zebra that it doesn't understand

When using an `import vrf` mechanism we are marking
the vrf label as BGP_PREVENT_VRF_2_VRF_LEAK, and then sending
this down to zebra.  Since zebra knows nothing about this special
value, convert it to a value that it does know MPLS_LABEL_NONE.

This bug was introduced by: 13b7e7f007833c4e2942f40cbd2c2f93a2767e78

And shows up with this error message in the zebra log:

2019/01/09 08:25:16 ZEBRA: Extended Error: Label >= configured maximum in platform_labels
2019/01/09 08:25:16 ZEBRA: [EC 4043309093] netlink-cmd (NS 0) error: Invalid argument, type=RTM_NEWROUTE(24), seq=8, pid=3321825991
2019/01/09 08:25:16 ZEBRA: [EC 4043309103] LSP Install Failure: 4294967294

And zebra kept the label as:
donna.cumulusnetworks.com# show mpls table
 Inbound                            Outbound
   Label     Type          Nexthop     Label
--------  -------  ---------------  --------
      -2      BGP            GREEN
      -2      BGP             BLUE

After this fix, neither the labels are stored in zebra nor do we see
the log error message.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
bgpd/bgp_mplsvpn.c