summaryrefslogtreecommitdiffstats
path: root/sys/net/if_var.h
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1997-01-08 13:20:25 +0000
committerwollman <wollman@FreeBSD.org>1997-01-08 13:20:25 +0000
commit18b2a70a7d49403de96eece39647adc7bede4c58 (patch)
treedf1b27a28f9dceb3141666ddaff5ff4dead407a4 /sys/net/if_var.h
parentbf70ac7d48b1d04e4034ae5559d632caba564706 (diff)
downloadFreeBSD-src-18b2a70a7d49403de96eece39647adc7bede4c58.zip
FreeBSD-src-18b2a70a7d49403de96eece39647adc7bede4c58.tar.gz
Fix a few oversights in the new multicast membership interface.
Diffstat (limited to 'sys/net/if_var.h')
-rw-r--r--sys/net/if_var.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/net/if_var.h b/sys/net/if_var.h
index 98842df..75b5489 100644
--- a/sys/net/if_var.h
+++ b/sys/net/if_var.h
@@ -264,11 +264,12 @@ struct ifaddr {
* address, not a count of pointers to this structure.
*/
struct ifmultiaddr {
- LIST_ENTRY(ifmultiaddr) ifma_link;
- struct sockaddr *ifma_addr;
- struct sockaddr *ifma_lladdr;
- struct ifnet *ifma_ifp;
- u_int ifma_refcount;
+ LIST_ENTRY(ifmultiaddr) ifma_link; /* queue macro glue */
+ struct sockaddr *ifma_addr; /* address this membership is for */
+ struct sockaddr *ifma_lladdr; /* link-layer translation, if any */
+ struct ifnet *ifma_ifp; /* back-pointer to interface */
+ u_int ifma_refcount; /* reference count */
+ void *ifma_protospec; /* protocol-specific state, if any */
};
#ifdef KERNEL
@@ -290,7 +291,8 @@ int ether_output __P((struct ifnet *,
struct mbuf *, struct sockaddr *, struct rtentry *));
int ether_ioctl __P((struct ifnet *, int, caddr_t));
-int if_addmulti __P((struct ifnet *, struct sockaddr *));
+int if_addmulti __P((struct ifnet *, struct sockaddr *,
+ struct ifmultiaddr **));
int if_allmulti __P((struct ifnet *, int));
void if_attach __P((struct ifnet *));
int if_delmulti __P((struct ifnet *, struct sockaddr *));
@@ -319,6 +321,9 @@ struct ifaddr *ifa_ifwithroute __P((int, struct sockaddr *,
struct ifaddr *ifaof_ifpforaddr __P((struct sockaddr *, struct ifnet *));
void ifafree __P((struct ifaddr *));
+struct ifmultiaddr *ifmaof_ifpforaddr __P((struct sockaddr *,
+ struct ifnet *));
+
int looutput __P((struct ifnet *,
struct mbuf *, struct sockaddr *, struct rtentry *));
#endif /* KERNEL */
OpenPOWER on IntegriCloud