diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2024-01-24 10:53:29 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-24 10:53:29 -0500 |
| commit | c3a66e5082069ec4adb67a309f8343bf66273928 (patch) | |
| tree | c0043ff58521436dc06ecb1496837f9e0dae6e9e /zebra/interface.c | |
| parent | 16406a31d388b6fdbf3d7445f8a4f0cedce0f926 (diff) | |
| parent | 6a44127597d05a7f8ea4d544ee90bcafa97adda0 (diff) | |
Merge pull request #15173 from louis-6wind/nhrp-noarp
nhrpd: unset noarp flag using a zapi message
Diffstat (limited to 'zebra/interface.c')
| -rw-r--r-- | zebra/interface.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index 9f160020a8..f864b91822 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -3662,6 +3662,27 @@ DEFUN (show_interface_desc_vrf_all, return CMD_SUCCESS; } +void if_arp(struct interface *ifp, bool enable) +{ + int ret; + + if (!CHECK_FLAG(ifp->status, ZEBRA_INTERFACE_ACTIVE)) + return; + + if (enable) + ret = if_unset_flags(ifp, IFF_NOARP); + else + ret = if_set_flags(ifp, IFF_NOARP); + + if (ret < 0) { + zlog_debug("Can't %sset noarp flag on interface %s", + enable ? "" : "un", ifp->name); + return; + } + + if_refresh(ifp); +} + int if_multicast_set(struct interface *ifp) { struct zebra_if *if_data; |
