diff options
author | thompsa <thompsa@FreeBSD.org> | 2007-08-30 19:12:10 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2007-08-30 19:12:10 +0000 |
commit | 5a077cac2f389a08f684b2c73e883d5ecf9a46af (patch) | |
tree | 943d2728b35e5d492107c7f62ebdc0f6aeb701de /sys/net/if_lagg.c | |
parent | 7be8f2924b7f70393462f765bb4f2ed7da9ee7c3 (diff) | |
download | FreeBSD-src-5a077cac2f389a08f684b2c73e883d5ecf9a46af.zip FreeBSD-src-5a077cac2f389a08f684b2c73e883d5ecf9a46af.tar.gz |
Show the ACTIVE flag in ifconfig for the single interface that is actaully
active in failover mode rather than all interfaces with a link. This makes it
clear if the master interface is in use or one of the backup links.
Found by: Writing the Handbook section
Approved by: re (kensmith)
Diffstat (limited to 'sys/net/if_lagg.c')
-rw-r--r-- | sys/net/if_lagg.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index 22462b3..a0b081a 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -718,6 +718,7 @@ static void lagg_port2req(struct lagg_port *lp, struct lagg_reqport *rp) { struct lagg_softc *sc = lp->lp_softc; + strlcpy(rp->rp_ifname, sc->sc_ifname, sizeof(rp->rp_ifname)); strlcpy(rp->rp_portname, lp->lp_ifp->if_xname, sizeof(rp->rp_portname)); rp->rp_prio = lp->lp_prio; @@ -730,7 +731,10 @@ lagg_port2req(struct lagg_port *lp, struct lagg_reqport *rp) case LAGG_PROTO_FAILOVER: if (lp == sc->sc_primary) rp->rp_flags |= LAGG_PORT_MASTER; - /* FALLTHROUGH */ + if (lp == lagg_link_active(sc, sc->sc_primary)) + rp->rp_flags |= LAGG_PORT_ACTIVE; + break; + case LAGG_PROTO_ROUNDROBIN: case LAGG_PROTO_LOADBALANCE: case LAGG_PROTO_ETHERCHANNEL: |