summaryrefslogtreecommitdiffstats
path: root/sys/net/if_lagg.h
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2007-05-07 00:18:56 +0000
committerthompsa <thompsa@FreeBSD.org>2007-05-07 00:18:56 +0000
commitcaab23fd294a310227a4c2f4912f639cdebc28e2 (patch)
treece0d3495b9167705eac6cf537e571262085ec09e /sys/net/if_lagg.h
parent38031925b7d011576f9184b9a3788e787ae55aa1 (diff)
downloadFreeBSD-src-caab23fd294a310227a4c2f4912f639cdebc28e2.zip
FreeBSD-src-caab23fd294a310227a4c2f4912f639cdebc28e2.tar.gz
Change from using if_delmulti() to if_delmulti_ifma() as it simplifies the code
and is safe to use if the ifp has disappeared. Suggested by: bms
Diffstat (limited to 'sys/net/if_lagg.h')
-rw-r--r--sys/net/if_lagg.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/net/if_lagg.h b/sys/net/if_lagg.h
index a717d39..3c648f0 100644
--- a/sys/net/if_lagg.h
+++ b/sys/net/if_lagg.h
@@ -136,12 +136,8 @@ struct lagg_lb {
};
struct lagg_mc {
- union {
- struct ether_multi *mcu_enm;
- } mc_u;
- struct sockaddr_storage mc_addr;
-
- SLIST_ENTRY(lagg_mc) mc_entries;
+ struct ifmultiaddr *mc_ifma;
+ SLIST_ENTRY(lagg_mc) mc_entries;
};
struct lagg_softc {
@@ -156,8 +152,6 @@ struct lagg_softc {
SLIST_HEAD(__tplhd, lagg_port) sc_ports; /* list of interfaces */
SLIST_ENTRY(lagg_softc) sc_entries;
- SLIST_HEAD(__mclhd, lagg_mc) sc_mc_head; /* multicast addresses */
-
/* lagg protocol callbacks */
int (*sc_detach)(struct lagg_softc *);
int (*sc_start)(struct lagg_softc *, struct mbuf *);
@@ -183,6 +177,8 @@ struct lagg_port {
void *lh_cookie; /* if state hook */
caddr_t lp_psc; /* protocol data */
+ SLIST_HEAD(__mclhd, lagg_mc) lp_mc_head; /* multicast addresses */
+
/* Redirected callbacks */
int (*lp_ioctl)(struct ifnet *, u_long, caddr_t);
int (*lp_output)(struct ifnet *, struct mbuf *, struct sockaddr *,
OpenPOWER on IntegriCloud