summaryrefslogtreecommitdiffstats
path: root/sys/net/if_llatbl.h
diff options
context:
space:
mode:
authorqingli <qingli@FreeBSD.org>2009-05-20 21:07:15 +0000
committerqingli <qingli@FreeBSD.org>2009-05-20 21:07:15 +0000
commite6b86b7c8fc96c72c1f5df5a94c60e96783ecaac (patch)
tree3c5f22922fbf16f4da56611f23479ce79b4deb12 /sys/net/if_llatbl.h
parent803ffe40e141533bd4dd2d51a0c7bd977f855ee7 (diff)
downloadFreeBSD-src-e6b86b7c8fc96c72c1f5df5a94c60e96783ecaac.zip
FreeBSD-src-e6b86b7c8fc96c72c1f5df5a94c60e96783ecaac.tar.gz
When an interface address is removed and the last prefix
route is also being deleted, the link-layer address table (arp or nd6) will flush those L2 llinfo entries that match the removed prefix. Reviewed by: kmacy
Diffstat (limited to 'sys/net/if_llatbl.h')
-rw-r--r--sys/net/if_llatbl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net/if_llatbl.h b/sys/net/if_llatbl.h
index 3b3086f..4d721ef 100644
--- a/sys/net/if_llatbl.h
+++ b/sys/net/if_llatbl.h
@@ -147,6 +147,9 @@ struct lltable {
struct llentry * (*llt_new)(const struct sockaddr *, u_int);
void (*llt_free)(struct lltable *, struct llentry *);
+ void (*llt_prefix_free)(struct lltable *,
+ const struct sockaddr *prefix,
+ const struct sockaddr *mask);
struct llentry * (*llt_lookup)(struct lltable *, u_int flags,
const struct sockaddr *l3addr);
int (*llt_rtcheck)(struct ifnet *,
@@ -174,6 +177,8 @@ MALLOC_DECLARE(M_LLTABLE);
struct lltable *lltable_init(struct ifnet *, int);
void lltable_free(struct lltable *);
+void lltable_prefix_free(int, struct sockaddr *,
+ struct sockaddr *);
void lltable_drain(int);
int lltable_sysctl_dumparp(int, struct sysctl_req *);
OpenPOWER on IntegriCloud