diff options
author | vivek <vivek@cumulusnetworks.com> | 2016-03-22 17:52:35 +0100 |
---|---|---|
committer | vivek <vivek@cumulusnetworks.com> | 2016-03-22 17:52:35 +0100 |
commit | c23af4d3e6ea864774f0bedfccc9ed1acb2cfab2 (patch) | |
tree | acb8c6c9fafde0d1634c55f6f51c10c5c7e42b42 /zebra/rtadv.h | |
parent | quagga: Setup the proper version number in quagga (diff) | |
download | frr-c23af4d3e6ea864774f0bedfccc9ed1acb2cfab2.tar.xz frr-c23af4d3e6ea864774f0bedfccc9ed1acb2cfab2.zip |
Zebra: Restrict IPv6 RA to valid interfaces
Restrict interfaces on which IPv6 Router Advertisements are allowed. The list
excludes loopback interfaces including the VRF device interface; specific to
Cumulus, it also includes "switch0" and "ethX" interfaces.
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-9849
Reviewed By: CCR-4334
Testing Done: Manual
Diffstat (limited to 'zebra/rtadv.h')
-rw-r--r-- | zebra/rtadv.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/zebra/rtadv.h b/zebra/rtadv.h index e8d84f9de..a3ea42593 100644 --- a/zebra/rtadv.h +++ b/zebra/rtadv.h @@ -116,9 +116,11 @@ static inline int interface_ipv6_auto_ra_allowed (struct interface *ifp) { #if defined (HAVE_RTADV) + if (if_is_loopback (ifp) || + CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_VRF_LOOPBACK)) + return 0; #if defined (HAVE_CUMULUS) if ((strncmp (ifp->name, "eth", strlen("eth")) == 0) || - (strncmp (ifp->name, "lo", strlen("lo")) == 0) || (strncmp (ifp->name, "switch", strlen("switch")) == 0)) return 0; #endif |