diff options
author | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2015-09-27 04:54:29 +0000 |
---|---|---|
committer | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2015-09-27 04:54:29 +0000 |
commit | 4a336ef40c4cae6f3fa425176ebeddbcfd3e7960 (patch) | |
tree | b8bd529bc94d7864472e3eae47cfdc76698c9f0b /usr.sbin/ndp | |
parent | c91afdd4d085ab80bcbedd2df64ffd7999bc7b04 (diff) | |
download | src-4a336ef40c4cae6f3fa425176ebeddbcfd3e7960.tar.gz src-4a336ef40c4cae6f3fa425176ebeddbcfd3e7960.zip |
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.
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=288297
Diffstat (limited to 'usr.sbin/ndp')
-rw-r--r-- | usr.sbin/ndp/ndp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.sbin/ndp/ndp.c b/usr.sbin/ndp/ndp.c index 4837b06ac324..a14520ca61df 100644 --- a/usr.sbin/ndp/ndp.c +++ b/usr.sbin/ndp/ndp.c @@ -649,6 +649,8 @@ again:; if (rtm->rtm_flags & RTF_CLONED) delete(host_buf); #else + if (rtm->rtm_flags & RTF_PINNED) + continue; delete(host_buf); #endif continue; |