summaryrefslogtreecommitdiffstats
path: root/sys/netinet/in_var.h
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2006-09-28 10:04:07 +0000
committerbms <bms@FreeBSD.org>2006-09-28 10:04:07 +0000
commitb8c88cc5311a2eda826e4748545455fd429c6590 (patch)
treee43f1645b510e84a20d7f5cb8193459620865b10 /sys/netinet/in_var.h
parent99ad5797cb69ad572667fb6e36c41297dc1bf76a (diff)
downloadFreeBSD-src-b8c88cc5311a2eda826e4748545455fd429c6590.zip
FreeBSD-src-b8c88cc5311a2eda826e4748545455fd429c6590.tar.gz
The IPv4 code should clean up multicast group state when an interface
goes away. Without this change, it leaks in_multi (and often ether_multi state) if many clonable interfaces are created and destroyed in quick succession. The concept of this fix is borrowed from KAME. Detailed information about this behaviour, as well as test cases, are available in the PR. PR: kern/78227 MFC after: 1 week
Diffstat (limited to 'sys/netinet/in_var.h')
-rw-r--r--sys/netinet/in_var.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h
index da728a6..7d22844 100644
--- a/sys/netinet/in_var.h
+++ b/sys/netinet/in_var.h
@@ -247,6 +247,8 @@ do { \
struct route;
struct in_multi *in_addmulti(struct in_addr *, struct ifnet *);
void in_delmulti(struct in_multi *);
+void in_delmulti_locked(struct in_multi *);
+void in_delmulti_ifp(struct ifnet *ifp);
int in_control(struct socket *, u_long, caddr_t, struct ifnet *,
struct thread *);
void in_rtqdrain(void);
OpenPOWER on IntegriCloud