aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2015-01-03 19:09:06 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2015-01-03 19:09:06 +0000
commitb44a7d5d874985eee33e82ef72f511c7ab2bd71d (patch)
tree2c9268edf1c174521f366e035f97d74b52555cab /sys/netinet6
parent20dd899505f9dead9d234724941e33048c19e4aa (diff)
downloadsrc-b44a7d5d874985eee33e82ef72f511c7ab2bd71d.tar.gz
src-b44a7d5d874985eee33e82ef72f511c7ab2bd71d.zip
* Use unified code for deleting entry by sockaddr instead of per-af one.
* Remove now unused llt_delete_addr callback.
Notes
Notes: svn path=/projects/routing/; revision=276631
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/in6.c44
1 files changed, 0 insertions, 44 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index 11f6a94cd308..5e81ce8c3094 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -2185,49 +2185,6 @@ in6_lltable_find_dst(struct lltable *llt, const struct in6_addr *dst)
return (lle);
}
-static int
-in6_lltable_delete(struct lltable *llt, u_int flags,
- const struct sockaddr *l3addr)
-{
- const struct sockaddr_in6 *sin6 = (const struct sockaddr_in6 *)l3addr;
- struct ifnet *ifp;
- struct llentry *lle;
-
- ifp = llt->llt_ifp;
-
- IF_AFDATA_CFG_UNLOCK_ASSERT(ifp);
- KASSERT(l3addr->sa_family == AF_INET6,
- ("sin_family %d", l3addr->sa_family));
-
- IF_AFDATA_CFG_WLOCK(ifp);
- lle = in6_lltable_find_dst(llt, &sin6->sin6_addr);
-
- if (lle == NULL) {
- IF_AFDATA_CFG_WUNLOCK(ifp);
- return (ENOENT);
- }
-
- /* Skipping LLE_IFADDR record */
- if ((lle->la_flags & LLE_IFADDR) != 0 && (flags & LLE_IFADDR) == 0) {
- IF_AFDATA_CFG_WUNLOCK(ifp);
- return (0);
- }
-
- LLE_WLOCK(lle);
- IF_AFDATA_RUN_WLOCK(ifp);
- lltable_unlink_entry(llt, lle);
- IF_AFDATA_RUN_WUNLOCK(ifp);
- IF_AFDATA_CFG_WUNLOCK(ifp);
-
-#ifdef DIAGNOSTIC
- log(LOG_INFO, "ifaddr cache = %p is deleted\n", lle);
-#endif
- EVENTHANDLER_INVOKE(lle_event, lle, LLENTRY_DELETED);
- llt->llt_clear_entry(llt, lle);
-
- return (0);
-}
-
static struct llentry *
in6_lltable_create(struct lltable *llt, u_int flags,
const void *paddr)
@@ -2389,7 +2346,6 @@ in6_domifattach(struct ifnet *ifp)
llt->llt_lookup = in6_lltable_lookup;
llt->llt_create = in6_lltable_create;
- llt->llt_delete_addr = in6_lltable_delete;
llt->llt_dump_entry = in6_lltable_dump_entry;
llt->llt_hash = in6_lltable_hash;
llt->llt_get_sa_addr = in6_lltable_get_sa_addr;