mirror_frr/bgpd
Chirag Shah d846168d35 bgpd: l3vni del to free ip prefix routes from vrf
In Symmetric routing case, L3VNI stores evpn MAC_IP routes
as IP_PREFIX routes in associated bgp_vrf and fib.

When vxlan device for l3vni goes down, triggers l3vni delete
in bgp.
As part l3vni delete, evpn ip prefix routes associated
with the vni need to be withdrawn from zebra as well
bgpinfo needs to be freed.
bgp_delete does not free bgp_info associated
to evpn ip prefix routes (link to bgp_vrf).
Call to uninstall_evpn_route_entry_in_vrf() properly
cleanup bgp_info as well triggers appropriate updates.

Ticket:CM-21443
Testing Done:
On DUT, bringup symmetric routing configuration, learn
EVPN Type-2 and Type-3 Routes.
Type-2 MAC_IP routes will be stored as ip_prefix in vrf table
during l3vni bring up.

Remove L3vni, deletes all ip_prefix routes from the zebra, kernel
vrf route table and bgp_info is freed.

Check the show bgp memory stats for bgp_info post l3vni flap.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
2018-07-02 14:48:33 -07:00
..
rfapi Merge pull request #2577 from pacovn/Coverity_1399377_Structurally_dead_code 2018-06-29 17:08:58 -04:00
rfp-example *: add missing \n in some help strings 2017-10-24 19:30:30 -02:00
.gitignore *: globally ignore clippy-generated source 2018-03-09 17:52:15 -05:00
BGP4-MIB.txt Initial revision 2002-12-13 20:15:29 +00:00
bgp_advertise.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_advertise.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_aspath.c bgpd: null check (Coverity 23106) 2018-06-21 15:58:51 +02:00
bgp_aspath.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_attr_evpn.c *: change struct evpn_addr to include a union of all evpn route types 2018-05-02 17:49:17 -07:00
bgp_attr_evpn.h bgpd: add basic support for ETI and ESI for BGP EVPN 2018-04-09 11:42:08 +02:00
bgp_attr.c bgpd: null check (Coverity 23106) 2018-06-21 15:58:51 +02:00
bgp_attr.h bgpd: Handle multiple PREFIX_SID's at a time. 2018-05-02 18:48:58 -04:00
bgp_bfd.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_bfd.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_btoa.c bgpd: Untrusted argument (Coverity 1399380) 2018-06-19 15:00:25 +02:00
bgp_clist.c bgpd, lib: null check (Coverity 1436344, 1451361) 2018-06-20 19:14:01 +02:00
bgp_clist.h bgpd: clean up clist management logic 2018-04-17 13:58:24 -04:00
bgp_community.c bgpd: null check (Coverity 23201) 2018-06-14 17:18:08 +02:00
bgp_community.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_damp.c bgpd: avoid indexing with negative integer 2018-04-18 12:16:19 -04:00
bgp_damp.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_debug.c bgpd: enhance debug bgp pbr error vty command 2018-05-25 15:49:38 +02:00
bgp_debug.h bgpd: add pbr error flag for pbr errors 2018-04-30 11:56:23 +02:00
bgp_dump.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_dump.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_ecommunity.c bgpd, lib: Cleanup CI warnings from system 2018-05-30 07:48:21 -04:00
bgp_ecommunity.h bgpd: Fix memory leak of ecommunity_ecom2str 2018-05-16 09:59:06 -04:00
bgp_encap_tlv.c bgpd: Fix off by one error introduced by 8c9cc7bbf6 2017-10-18 18:37:38 -04: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_evpn_private.h bgpd, lib: Cleanup CI warnings from system 2018-05-30 07:48:21 -04:00
bgp_evpn_vty.c bgpd: Add some asserts because of our linklist stuff 2018-06-28 22:33:35 -04: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 bgpd: l3vni del to free ip prefix routes from vrf 2018-07-02 14:48:33 -07:00
bgp_evpn.h *: support for evpn type-4 route 2018-05-30 07:48:20 -04:00
bgp_filter.c bgpd: fix clang warning 2017-10-08 23:50:54 +02:00
bgp_filter.h *: reindent 2017-07-17 14:04:07 +02: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: align fragment flowspec decoding with tcpflags 2018-06-28 11:08:58 +02:00
bgp_flowspec_util.h bgpd: align fragment flowspec decoding with tcpflags 2018-06-28 11:08:58 +02:00
bgp_flowspec_vty.c bgpd: align fragment flowspec decoding with tcpflags 2018-06-28 11:08:58 +02:00
bgp_flowspec.c bgpd: align fragment flowspec decoding with tcpflags 2018-06-28 11:08:58 +02:00
bgp_flowspec.h bgpd: add vty command to restrict FS policy routing to a defined interface 2018-05-25 15:49:38 +02:00
bgp_fsm.c bgpd: Implement group-overrides for peer timers 2018-06-14 18:55:30 +02:00
bgp_fsm.h bgpd: fix bgp_packet.c / bgp_fsm.c organization 2017-11-30 16:18:02 -05:00
bgp_io.c bgpd isisd ldpd lib ospfd pimd: redundancy (infer) 2018-06-20 22:25:28 +02:00
bgp_io.h bgpd: update pthreads to use lib changes 2018-01-24 15:30:55 -05:00
bgp_keepalives.c bgpd: fix incorrect keepalive timer evaluation 2018-02-21 12:15:17 -05:00
bgp_keepalives.h bgpd: update pthreads to use lib changes 2018-01-24 15:30:55 -05:00
bgp_label.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_label.h bgpd: Prevent vrf 2 vrf route leaking from going offbox. 2018-04-25 12:41:17 -04:00
bgp_labelpool.c bgpd: dynamic mpls label pool 2018-04-11 23:18:28 -07:00
bgp_labelpool.h bgpd: dynamic mpls label pool 2018-04-11 23:18:28 -07:00
bgp_lcommunity.c bgpd: Improve JSON support for large communities 2018-05-13 19:37:51 +02:00
bgp_lcommunity.h bgpd: Improve JSON support for large communities 2018-05-13 19:37:51 +02:00
bgp_main.c bgpd: bgp_default may be null 2018-06-12 15:12:48 -04: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 bgpd: null chk (Coverity 1433544 1433543 1433542) 2018-06-18 16:07:43 +02:00
bgp_mpath.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_mplsvpn.c bgpd: don't nexthop-track twice-leaked routes that came from zebra 2018-06-24 13:04:05 -07:00
bgp_mplsvpn.h bgpd: Add some vrf <-> vrf code comments 2018-04-25 12:39:17 -04:00
bgp_network.c bgpd: allow for case where vrf sockets aren't needed (default accepts for vrf) 2018-06-17 21:10:28 -04:00
bgp_network.h bgpd: server socket is created for all enabled VRF 2018-02-27 11:11:24 +01:00
bgp_nexthop.c bgpd isisd ldpd lib ospfd pimd: redundancy (infer) 2018-06-20 22:25:28 +02:00
bgp_nexthop.h bgpd: Handle connected routes and IPv6 link-local nexthops for route leaking 2018-04-25 12:39:16 -04:00
bgp_nht.c bgpd: fix NHT free when nht_info is null (fixes crash) 2018-05-09 16:07:36 -04:00
bgp_nht.h bgpd: nexthop tracking with labels for vrf-vpn leaking 2018-04-04 10:00:23 -07:00
bgp_open.c bgpd: return value (Coverity 1399203) 2018-06-28 12:41:52 +02:00
bgp_open.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_packet.c bgpd: Implement group-overrides for peer timers 2018-06-14 18:55:30 +02:00
bgp_packet.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_pbr.c bgpd: rework enumerate function, handle not values 2018-06-28 11:08:59 +02:00
bgp_pbr.h bgpd: support for flowspec fragment list into policy routing 2018-06-28 11:08:58 +02:00
bgp_rd.c bgpd, lib, ospfd, zebra: all_digit moved to frrstr 2018-06-19 17:59:53 +02: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: Fix some build issues from removing HAVE_CUMULUS 2018-06-28 20:57:36 -04:00
bgp_route.h Merge pull request #2142 from pguibert6WIND/fs_zebra_complement 2018-05-29 11:33:00 -04:00
bgp_routemap.c Merge pull request #2495 from pacovn/fixme_all_digit 2018-06-20 07:38:19 -04:00
bgp_rpki.c bgpd: fix rpki segfault 2018-07-01 22:57:36 +02:00
bgp_snmp.c bgpd: Implement group-overrides for peer timers 2018-06-14 18:55:30 +02:00
bgp_table.c bgpd: nexthop tracking with labels for vrf-vpn leaking 2018-04-04 10:00:23 -07:00
bgp_table.h bgpd: nexthop tracking with labels for vrf-vpn leaking 2018-04-04 10:00:23 -07:00
bgp_updgrp_adv.c *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_updgrp_packet.c bgpd isisd ldpd lib ospfd pimd: redundancy (infer) 2018-06-20 22:25:28 +02:00
bgp_updgrp.c Merge pull request #2483 from pacovn/clang_scan_bgpd_updgrp_deref 2018-06-19 07:18:13 -04:00
bgp_updgrp.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_vnc_types.h *: reindent 2017-07-17 14:04:07 +02:00
bgp_vpn.c Merge pull request #2501 from pacovn/infer_unused1 2018-06-21 15:12:33 -04:00
bgp_vpn.h *: use C99 standard fixed-width integer types 2018-03-27 15:13:34 -04:00
bgp_vty.c fixed #2567: Json status of BGP peer is not updated properly 2018-06-30 16:27:25 +04:00
bgp_vty.h bgpd: add flowspec feature 2018-03-30 14:00:47 +02:00
bgp_zebra.c bgpd: support for flowspec fragment list into policy routing 2018-06-28 11:08:58 +02:00
bgp_zebra.h bgpd: do not install BGP FS entries, while table range not obtained 2018-05-25 15:49:38 +02:00
bgpd.c Merge pull request #2578 from pacovn/Coverity_1453455_Dereference_null_return_value 2018-06-29 13:28:28 -04:00
bgpd.conf.sample bgpd: hide "router bgp" commands also under "address-family ipv4 unicast" 2017-05-04 17:06:13 +00:00
bgpd.conf.sample2 Initial revision 2002-12-13 20:15:29 +00:00
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: Implement group-overrides for peer attrs 2018-06-14 18:55:32 +02:00
IMPLEMENTATION.txt Adjust size complexity estimates. Still not quite right, but closer. 2005-02-15 17:10:03 +00:00
Makefile.am *: disable all sanitizers for clippy build 2018-06-08 17:22:13 +00:00