From be81f272784d40ec740398c060dd12ef58df0180 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Mon, 17 Apr 2017 10:01:51 -0400 Subject: [PATCH] eigrpd: Save whether or not a interface is passive. Save whether or not a interface is passive in EIGRP. More work is needed to actual respect that. Signed-off-by: Donald Sharp --- eigrpd/eigrp_vty.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/eigrpd/eigrp_vty.c b/eigrpd/eigrp_vty.c index 1793b34246..1fc8c54594 100644 --- a/eigrpd/eigrp_vty.c +++ b/eigrpd/eigrp_vty.c @@ -244,9 +244,16 @@ DEFUN (eigrp_passive_interface, "Suppress routing updates on an interface\n" "Interface to suppress on\n") { - //struct eigrp *eigrp = vty->index; - /*TODO: */ + VTY_DECLVAR_CONTEXT(eigrp, eigrp); + struct eigrp_interface *ei; + struct listnode *node; + char *ifname = argv[1]->arg; + for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei)) + { + if (strcmp (ifname, ei->ifp->name) == 0) + SET_IF_PARAM (IF_DEF_PARAMS (ei->ifp), passive_interface); + } return CMD_SUCCESS; } @@ -257,8 +264,16 @@ DEFUN (no_eigrp_passive_interface, "Suppress routing updates on an interface\n" "Interface to suppress on\n") { - //struct eigrp *eigrp = vty->index; - /*TODO: */ + VTY_DECLVAR_CONTEXT(eigrp, eigrp); + struct eigrp_interface *ei; + struct listnode *node; + char *ifname = argv[2]->arg; + + for (ALL_LIST_ELEMENTS_RO (eigrp->eiflist, node, ei)) + { + if (strcmp (ifname, ei->ifp->name) == 0) + UNSET_IF_PARAM (IF_DEF_PARAMS (ei->ifp), passive_interface); + } return CMD_SUCCESS; } -- 2.39.5