mirror_frr/bgpd
Lakshman Krishnamoorthy e241544469 bgpd: Filtering received EVPN routes based on VNI does not work
Issue1: When "neighbor X.X.X.X route-map RM-VNI-FILTER in" is configured under evpn address-family,
all the received routes are dropped regardless of whether the route has a matching vni or not.

Issue2: Routes with 2 labels are not filtered correctly

Issue3: Interpreting the label based on tunnel type, vxlan was not done correctly.
Vxlan label has 24 bits, whereas, MPLS label is 20 bits long

Fix1: The handler bgp_update() that services the received route ignored the route's label while deciding whether to filter it or not. As part of the fix, the handler now uses the label info to make the decision about whether to filter the route or not.

Fix2: route_match_vni() now tries to match both the labels within the route, not just the one.

Signed-off-by: Lakshman Krishnamoorthy <lkrishnamoor@vmware.com>
2019-05-31 10:22:11 -07:00
..
rfapi bgpd: fix rfapi false compiler warning 2019-05-29 18:02:57 +00:00
rfp-example Treewide: use ANSI function definitions 2019-01-24 11:21:59 +01:00
.gitignore *: cleanup .gitignore files 2018-09-08 21:30:42 +02:00
bgp_addpath_types.h bgpd: Re-use TX Addpath IDs where possible 2018-11-10 00:16:36 +00:00
bgp_addpath.c *: remove trailing newlines from zlog messages 2019-03-14 18:41:15 +00:00
bgp_addpath.h bgpd: Re-use TX Addpath IDs where possible 2018-11-10 00:16:36 +00:00
bgp_advertise.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_advertise.h bgpd: use DLIST for adv_fifo 2019-05-21 05:42:13 +02:00
bgp_aspath.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_aspath.h lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_attr_evpn.c Merge pull request #3869 from qlyoung/cocci-fixes 2019-03-06 15:54:44 +01:00
bgp_attr_evpn.h bgpd: parse and comapre rmac attr against self mac 2019-03-04 09:56:05 -08:00
bgp_attr.c Merge pull request #4340 from qlyoung/hash-key-const 2019-05-16 10:00:55 -04:00
bgp_attr.h Merge pull request #4340 from qlyoung/hash-key-const 2019-05-16 10:00:55 -04:00
bgp_bfd.c bgpd: add vty command to enable bfd control-plane-check-failure 2019-05-14 16:49:49 +02:00
bgp_bfd.h bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
bgp_btoa.c bgpd: Untrusted argument (Coverity 1399380) 2018-06-19 15:00:25 +02:00
bgp_clist.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_clist.h bgpd: Use string length not sizeof the array 2019-01-16 20:43:53 -05:00
bgp_community.c bgpd: use XCALLOC to allocate string buf 2019-05-29 18:03:26 +00:00
bgp_community.h lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_damp.c *: spelchek 2018-10-25 20:10:57 +02:00
bgp_damp.h bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
bgp_debug.c bgpd: Remove unused bgp_debug_count function 2019-02-09 18:22:01 -05:00
bgp_debug.h bgpd: Remove unused bgp_debug_count function 2019-02-09 18:22:01 -05:00
bgp_dump.c bgpd: Abstract bgp_info retrieving/setting from info pointer 2018-11-16 09:43:35 -05:00
bgp_dump.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_ecommunity.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_ecommunity.h Merge pull request #4340 from qlyoung/hash-key-const 2019-05-16 10:00:55 -04:00
bgp_encap_tlv.c *: remove null check before XFREE 2019-02-25 23:00:46 +00:00
bgp_encap_tlv.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_encap_types.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_errors.c bgpd, lib: Remove SO_MARK 2019-05-24 08:35:35 -04:00
bgp_errors.h bgpd, lib: Remove SO_MARK 2019-05-24 08:35:35 -04:00
bgp_evpn_private.h Merge pull request #4025 from AnuradhaKaruppiah/pim-evpn 2019-04-22 11:44:52 -05:00
bgp_evpn_vty.c Merge pull request #4349 from donaldsharp/bgp_reason 2019-05-17 09:51:17 -07:00
bgp_evpn_vty.h bgpd: get rid of afi_header_vty_out() & co. 2017-08-29 08:36:03 +02:00
bgp_evpn.c lib: Introducing a 3rd state for route-map match cmd: RMAP_NOOP 2019-05-30 11:21:28 -07:00
bgp_evpn.h bgpd: maintain flood mcast group per-l2-vni 2019-04-20 08:33:20 -07:00
bgp_filter.c Merge pull request #4184 from ton31337/fix/documentation_for_as-path_regexp 2019-04-24 11:54:35 -04:00
bgp_filter.h bgpd: Validate as-path in show bgp regexp 2019-04-23 11:25:35 +03:00
bgp_flowspec_private.h bgpd: support for show bgp ipv4 flowspec 2018-03-30 14:01:05 +02:00
bgp_flowspec_util.c bgpd: upon bgp fs study, determine if iprule can be used 2019-01-29 14:15:09 +01:00
bgp_flowspec_util.h bgpd: flowspec redirect IP info is retrieved into nh tracking 2018-12-28 18:10:26 +01:00
bgp_flowspec_vty.c bgpd: do not allocate lists on fs entries of bgp entries. 2019-03-28 16:57:59 +01:00
bgp_flowspec.c bgpd: Do not send UPDATE message with maximum-prefix 2019-04-24 14:51:06 +03:00
bgp_flowspec.h bgpd: Convert binfo to path 2018-10-09 14:26:30 -04:00
bgp_fsm.c bgpd: Update an fsm debug message 2019-05-28 18:10:26 -04:00
bgp_fsm.h bgpd: improve reconnection mechanism by cancelling connect timers 2019-04-18 16:11:51 +02:00
bgp_io.c lib,bgpd: remove deprecated stream lib macros 2018-11-29 11:13:15 -05:00
bgp_io.h bgpd: update pthreads to use lib changes 2018-01-24 15:30:55 -05:00
bgp_keepalives.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_keepalives.h bgpd: update pthreads to use lib changes 2018-01-24 15:30:55 -05:00
bgp_label.c bgpd: Do not send UPDATE message with maximum-prefix 2019-04-24 14:51:06 +03:00
bgp_label.h bgpd, zebra: auto assign labels from label pool to regular prefixes in BGP labeled unicast 2018-12-20 15:28:52 +03:00
bgp_labelpool.c bgpd: replace label pool fifo with DECLARE_LIST 2019-04-27 19:33:45 +02:00
bgp_labelpool.h bgpd: replace label pool fifo with DECLARE_LIST 2019-04-27 19:33:45 +02:00
bgp_lcommunity.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_lcommunity.h lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_mac.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_mac.h bgpd: parse and comapre rmac attr against self mac 2019-03-04 09:56:05 -08:00
bgp_main.c bgpd, ripd, ripngd: remove deprecated -r option 2019-05-22 17:42:40 +02:00
bgp_memory.c *: support for evpn type-4 route 2018-05-30 07:48:20 -04:00
bgp_memory.h *: support for evpn type-4 route 2018-05-30 07:48:20 -04:00
bgp_mpath.c *: compare pointer types to NULL, not 0 2019-02-25 23:00:46 +00:00
bgp_mpath.h bgpd: Rename various variable names to something more appropriate 2018-10-09 14:26:30 -04:00
bgp_mplsvpn.c bgpd: Remove logically dead code assignment 2019-05-03 05:05:19 -04:00
bgp_mplsvpn.h Merge pull request #3931 from chiragshah6/evpn_dev1 2019-04-02 11:59:35 -04:00
bgp_network.c bgpd, lib: Remove SO_MARK 2019-05-24 08:35:35 -04:00
bgp_network.h bgpd: add support for MD5 auth on listen ranges 2019-04-16 15:26:20 +00:00
bgp_nexthop.c Merge pull request #4219 from bisdhdh/biswajitfrr_5 2019-05-16 10:36:02 -04:00
bgp_nexthop.h Revert "bgpd: Prevent IPv6 routes received via a ibgp session with own ip as nexthop " 2019-05-02 07:15:39 -04:00
bgp_nht.c lib,zebra,bgpd: Remove nexthop_same_no_recurse() 2019-05-23 12:21:15 -04:00
bgp_nht.h bgpd: Late registration of Extended Nexthop should allow RA's to happen 2018-11-07 14:11:45 -05:00
bgp_open.c bgpd: capabilty 2019-02-27 18:09:08 +00:00
bgp_open.h bgpd: capabilty 2019-02-27 18:09:08 +00:00
bgp_packet.c bgpd: suppress dead store warning 2019-05-29 18:03:26 +00:00
bgp_packet.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_pbr.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_pbr.h lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_rd.c *: remove null check before XFREE 2019-02-25 23:00:46 +00:00
bgp_rd.h bgpd: Auto RD definitions and encoding 2018-04-25 12:39:16 -04:00
bgp_regex.c *: reindent 2017-07-17 14:04:07 +02:00
bgp_regex.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_route.c bgpd: Filtering received EVPN routes based on VNI does not work 2019-05-31 10:22:11 -07:00
bgp_route.h bgpd: Store reason why bestpath was choosen 2019-05-15 21:17:52 -04:00
bgp_routemap.c bgpd: Filtering received EVPN routes based on VNI does not work 2019-05-31 10:22:11 -07:00
bgp_rpki.c lib: Introducing a 3rd state for route-map match cmd: RMAP_NOOP 2019-05-30 11:21:28 -07:00
bgp_snmp.c *: use array_size instead of raw division 2019-02-25 23:00:16 +00:00
bgp_table.c Merge pull request #3093 from donaldsharp/bgp_node_continued 2018-12-11 11:13:25 -05:00
bgp_table.h bgpd: Store reason why bestpath was choosen 2019-05-15 21:17:52 -04:00
bgp_updgrp_adv.c lib: Introducing a 3rd state for route-map match cmd: RMAP_NOOP 2019-05-30 11:21:28 -07:00
bgp_updgrp_packet.c Merge branch 'master' of https://github.com/frrouting/frr 2019-05-07 03:28:55 -07:00
bgp_updgrp.c lib: hashing functions should take const arguments 2019-05-14 21:23:08 +00:00
bgp_updgrp.h bgpd : no neighbor <> send-community large is not working dynamically 2019-05-18 09:15:45 -07:00
bgp_vnc_types.h bgpd: Cleanup of bgp daemon code 2018-07-07 22:51:13 +02:00
bgp_vpn.c bgpd: Cleanup non-usage of prefix2str in bgp_vpn.c 2018-11-16 09:43:35 -05:00
bgp_vpn.h bgpd/ospfd: make bgp and ospf json response a bit more consistent 2018-08-30 12:40:18 +00:00
bgp_vty.c Merge pull request #4384 from dslicenc/bgp-no-delete-default 2019-05-28 11:45:34 -04:00
bgp_vty.h bgpd, lib, vtysh, zebra: Convert to using CMD_VNI_RANGE 2018-10-31 06:23:32 -04:00
bgp_zebra.c Merge pull request #4413 from donaldsharp/bgp_distance_comes_closer 2019-05-30 09:45:43 -07:00
bgp_zebra.h bgpd: move bgp_update_redist_vrf_bitmaps to bgp_zebra.c for wider use beyond bgp_vty 2019-03-14 15:05:38 +00:00
bgpd.c bgpd: upon peer unconfiguration, remove bfd context if any 2019-05-21 18:02:28 +02:00
bgpd.conf.sample Fix typos in BGPd sample configuration file 2018-12-27 09:13:55 +02:00
bgpd.conf.sample2
bgpd.conf.vnc.sample bgpd: hide "router bgp" commands also under "address-family ipv4 unicast" 2017-05-04 17:06:13 +00:00
bgpd.h bgpd: remove deprecated "bgp enforce-first-as" command 2019-05-20 22:04:52 -03:00
IMPLEMENTATION.txt bgpd: Convert struct bgp_info to struct bgp_path_info 2018-10-09 14:14:25 -04:00
Makefile build: non-recursive bgpd & rfp 2018-09-08 21:25:59 +02:00
subdir.am bgpd: vrl source-vrf route map filter 2019-02-19 07:24:19 -08:00
valgrind.supp bgpd: make valgrind suppression more generic 2019-02-19 22:00:34 +01:00