version 1.29, 2022/01/12 01:21:36 |
version 1.30, 2022/01/12 08:23:53 |
Line 102 static const struct lagg_proto lagg_prot |
|
Line 102 static const struct lagg_proto lagg_prot |
|
.pr_stopport = lacp_stopport, |
.pr_stopport = lacp_stopport, |
.pr_protostat = lacp_protostat, |
.pr_protostat = lacp_protostat, |
.pr_portstat = lacp_portstat, |
.pr_portstat = lacp_portstat, |
.pr_linkstate = lacp_linkstate, |
.pr_linkstate = lacp_linkstate_ifnet_locked, |
.pr_ioctl = lacp_ioctl, |
.pr_ioctl = lacp_ioctl, |
}, |
}, |
[LAGG_PROTO_FAILOVER] = { |
[LAGG_PROTO_FAILOVER] = { |
Line 1490 lagg_proto_linkstate(struct lagg_softc * |
|
Line 1490 lagg_proto_linkstate(struct lagg_softc * |
|
lagg_proto pr; |
lagg_proto pr; |
int bound; |
int bound; |
|
|
|
KASSERT(IFNET_LOCKED(lp->lp_ifp)); |
|
|
bound = curlwp_bind(); |
bound = curlwp_bind(); |
var = lagg_variant_getref(sc, &psref); |
var = lagg_variant_getref(sc, &psref); |
|
|
Line 2692 lagg_port_ioctl(struct ifnet *ifp, u_lon |
|
Line 2694 lagg_port_ioctl(struct ifnet *ifp, u_lon |
|
goto fallback; |
goto fallback; |
} |
} |
|
|
|
KASSERT(IFNET_LOCKED(lp->lp_ifp)); |
|
|
switch (cmd) { |
switch (cmd) { |
case SIOCSIFCAP: |
case SIOCSIFCAP: |
case SIOCSIFMTU: |
case SIOCSIFMTU: |
Line 2817 lagg_linkstate_changed(void *xifp) |
|
Line 2821 lagg_linkstate_changed(void *xifp) |
|
} |
} |
pserialize_read_exit(s); |
pserialize_read_exit(s); |
|
|
|
IFNET_LOCK(lp->lp_ifp); |
lagg_proto_linkstate(lp->lp_softc, lp); |
lagg_proto_linkstate(lp->lp_softc, lp); |
|
IFNET_UNLOCK(lp->lp_ifp); |
|
|
lagg_port_putref(lp, &psref); |
lagg_port_putref(lp, &psref); |
curlwp_bindx(bound); |
curlwp_bindx(bound); |
} |
} |