mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-05 22:50:14 +00:00
eigrpd: When deleting interface remove connected routes from topo table
When we are deleting an interface, remove the connected routes associated with that interface from the topo table. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
505a2c46d1
commit
4325044689
@ -436,6 +436,9 @@ eigrp_default_iftype (struct interface *ifp)
|
||||
void
|
||||
eigrp_if_free (struct eigrp_interface *ei, int source)
|
||||
{
|
||||
struct prefix_ipv4 dest_addr;
|
||||
struct eigrp_prefix_entry *pe;
|
||||
struct eigrp *eigrp = eigrp_lookup ();
|
||||
|
||||
if (source == INTERFACE_DOWN_BY_VTY)
|
||||
{
|
||||
@ -443,6 +446,14 @@ eigrp_if_free (struct eigrp_interface *ei, int source)
|
||||
eigrp_hello_send(ei,EIGRP_HELLO_GRACEFUL_SHUTDOWN, NULL);
|
||||
}
|
||||
|
||||
dest_addr.family = AF_INET;
|
||||
dest_addr.prefix = ei->connected->address->u.prefix4;
|
||||
dest_addr.prefixlen = ei->connected->address->prefixlen;
|
||||
apply_mask_ipv4(&dest_addr);
|
||||
pe = eigrp_topology_table_lookup_ipv4 (eigrp->topology_table, &dest_addr);
|
||||
if (pe)
|
||||
eigrp_prefix_entry_delete (eigrp->topology_table, pe);
|
||||
|
||||
eigrp_if_down (ei);
|
||||
|
||||
list_delete (ei->nbrs);
|
||||
|
Loading…
Reference in New Issue
Block a user