summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ndp
diff options
context:
space:
mode:
authormelifaro <melifaro@FreeBSD.org>2016-01-17 06:02:59 +0000
committermelifaro <melifaro@FreeBSD.org>2016-01-17 06:02:59 +0000
commitdb8f77905b5c1c636b0886c5990a8a68cce07bae (patch)
treec3d51b9fb2efcc84d3753874e4f5e16138957e4b /usr.sbin/ndp
parentd201d6637a6f2ed9b242604d0c72a05366eb3a4f (diff)
downloadFreeBSD-src-db8f77905b5c1c636b0886c5990a8a68cce07bae.zip
FreeBSD-src-db8f77905b5c1c636b0886c5990a8a68cce07bae.tar.gz
MFC r288297 (userland part).
If ever MFC is done for the new lltable code, this change will miminise ABI breakage. rtsock requests for deleting interface address lles started to return EPERM instead of old "ignore-and-return 0" in r287789. This broke arp -da / ndp -cn behavior (they exit on rtsock command failure). Fix this by translating LLE_IFADDR to RTM_PINNED flag, passing it to userland and making arp/ndp ignore these entries in batched delete.
Diffstat (limited to 'usr.sbin/ndp')
-rw-r--r--usr.sbin/ndp/ndp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c
index ada1822..c2fe869 100644
--- a/usr.sbin/ndp/ndp.c
+++ b/usr.sbin/ndp/ndp.c
@@ -655,6 +655,8 @@ again:;
if (rtm->rtm_flags & RTF_CLONED)
delete(host_buf);
#else
+ if (rtm->rtm_flags & RTF_PINNED)
+ continue;
delete(host_buf);
#endif
continue;
OpenPOWER on IntegriCloud