if_lagg.c (287723) | if_lagg.c (287808) |
---|---|
1/* $OpenBSD: if_trunk.c,v 1.30 2007/01/31 06:20:19 reyk Exp $ */ 2 3/* 4 * Copyright (c) 2005, 2006 Reyk Floeter <reyk@openbsd.org> 5 * Copyright (c) 2007 Andrew Thompson <thompsa@FreeBSD.org> 6 * 7 * Permission to use, copy, modify, and distribute this software for any 8 * purpose with or without fee is hereby granted, provided that the above --- 4 unchanged lines hidden (view full) --- 13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20#include <sys/cdefs.h> | 1/* $OpenBSD: if_trunk.c,v 1.30 2007/01/31 06:20:19 reyk Exp $ */ 2 3/* 4 * Copyright (c) 2005, 2006 Reyk Floeter <reyk@openbsd.org> 5 * Copyright (c) 2007 Andrew Thompson <thompsa@FreeBSD.org> 6 * 7 * Permission to use, copy, modify, and distribute this software for any 8 * purpose with or without fee is hereby granted, provided that the above --- 4 unchanged lines hidden (view full) --- 13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20#include <sys/cdefs.h> |
21__FBSDID("$FreeBSD: stable/10/sys/net/if_lagg.c 287723 2015-09-12 20:36:39Z hrs $"); | 21__FBSDID("$FreeBSD: stable/10/sys/net/if_lagg.c 287808 2015-09-15 05:19:10Z hiren $"); |
22 23#include "opt_inet.h" 24#include "opt_inet6.h" 25 26#include <sys/param.h> 27#include <sys/kernel.h> 28#include <sys/malloc.h> 29#include <sys/mbuf.h> --- 1046 unchanged lines hidden (view full) --- 1076 1077 lsc = (struct lacp_softc *)sc->sc_psc; 1078 if (lsc->lsc_debug.lsc_tx_test != 0) 1079 ro->ro_opts |= LAGG_OPT_LACP_TXTEST; 1080 if (lsc->lsc_debug.lsc_rx_test != 0) 1081 ro->ro_opts |= LAGG_OPT_LACP_RXTEST; 1082 if (lsc->lsc_strict_mode != 0) 1083 ro->ro_opts |= LAGG_OPT_LACP_STRICT; | 22 23#include "opt_inet.h" 24#include "opt_inet6.h" 25 26#include <sys/param.h> 27#include <sys/kernel.h> 28#include <sys/malloc.h> 29#include <sys/mbuf.h> --- 1046 unchanged lines hidden (view full) --- 1076 1077 lsc = (struct lacp_softc *)sc->sc_psc; 1078 if (lsc->lsc_debug.lsc_tx_test != 0) 1079 ro->ro_opts |= LAGG_OPT_LACP_TXTEST; 1080 if (lsc->lsc_debug.lsc_rx_test != 0) 1081 ro->ro_opts |= LAGG_OPT_LACP_RXTEST; 1082 if (lsc->lsc_strict_mode != 0) 1083 ro->ro_opts |= LAGG_OPT_LACP_STRICT; |
1084 if (lsc->lsc_fast_timeout != 0) 1085 ro->ro_opts |= LAGG_OPT_LACP_TIMEOUT; |
|
1084 1085 ro->ro_active = sc->sc_active; 1086 } else { 1087 ro->ro_active = 0; 1088 SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) 1089 ro->ro_active += LAGG_PORTACTIVE(lp); 1090 } 1091 ro->ro_flapping = sc->sc_flapping; --- 19 unchanged lines hidden (view full) --- 1111 lacp = 0; 1112 break; 1113 case LAGG_OPT_LACP_TXTEST: 1114 case -LAGG_OPT_LACP_TXTEST: 1115 case LAGG_OPT_LACP_RXTEST: 1116 case -LAGG_OPT_LACP_RXTEST: 1117 case LAGG_OPT_LACP_STRICT: 1118 case -LAGG_OPT_LACP_STRICT: | 1086 1087 ro->ro_active = sc->sc_active; 1088 } else { 1089 ro->ro_active = 0; 1090 SLIST_FOREACH(lp, &sc->sc_ports, lp_entries) 1091 ro->ro_active += LAGG_PORTACTIVE(lp); 1092 } 1093 ro->ro_flapping = sc->sc_flapping; --- 19 unchanged lines hidden (view full) --- 1113 lacp = 0; 1114 break; 1115 case LAGG_OPT_LACP_TXTEST: 1116 case -LAGG_OPT_LACP_TXTEST: 1117 case LAGG_OPT_LACP_RXTEST: 1118 case -LAGG_OPT_LACP_RXTEST: 1119 case LAGG_OPT_LACP_STRICT: 1120 case -LAGG_OPT_LACP_STRICT: |
1121 case LAGG_OPT_LACP_TIMEOUT: 1122 case -LAGG_OPT_LACP_TIMEOUT: |
|
1119 valid = lacp = 1; 1120 break; 1121 default: 1122 valid = lacp = 0; 1123 break; 1124 } 1125 1126 LAGG_WLOCK(sc); --- 12 unchanged lines hidden (view full) --- 1139 if (ro->ro_opts == LAGG_OPT_FLOWIDSHIFT) 1140 sc->flowid_shift = ro->ro_flowid_shift; 1141 else if (ro->ro_opts > 0) 1142 sc->sc_opts |= ro->ro_opts; 1143 else 1144 sc->sc_opts &= ~ro->ro_opts; 1145 } else { 1146 struct lacp_softc *lsc; | 1123 valid = lacp = 1; 1124 break; 1125 default: 1126 valid = lacp = 0; 1127 break; 1128 } 1129 1130 LAGG_WLOCK(sc); --- 12 unchanged lines hidden (view full) --- 1143 if (ro->ro_opts == LAGG_OPT_FLOWIDSHIFT) 1144 sc->flowid_shift = ro->ro_flowid_shift; 1145 else if (ro->ro_opts > 0) 1146 sc->sc_opts |= ro->ro_opts; 1147 else 1148 sc->sc_opts &= ~ro->ro_opts; 1149 } else { 1150 struct lacp_softc *lsc; |
1151 struct lacp_port *lp; |
|
1147 1148 lsc = (struct lacp_softc *)sc->sc_psc; 1149 1150 switch (ro->ro_opts) { 1151 case LAGG_OPT_LACP_TXTEST: 1152 lsc->lsc_debug.lsc_tx_test = 1; 1153 break; 1154 case -LAGG_OPT_LACP_TXTEST: --- 6 unchanged lines hidden (view full) --- 1161 lsc->lsc_debug.lsc_rx_test = 0; 1162 break; 1163 case LAGG_OPT_LACP_STRICT: 1164 lsc->lsc_strict_mode = 1; 1165 break; 1166 case -LAGG_OPT_LACP_STRICT: 1167 lsc->lsc_strict_mode = 0; 1168 break; | 1152 1153 lsc = (struct lacp_softc *)sc->sc_psc; 1154 1155 switch (ro->ro_opts) { 1156 case LAGG_OPT_LACP_TXTEST: 1157 lsc->lsc_debug.lsc_tx_test = 1; 1158 break; 1159 case -LAGG_OPT_LACP_TXTEST: --- 6 unchanged lines hidden (view full) --- 1166 lsc->lsc_debug.lsc_rx_test = 0; 1167 break; 1168 case LAGG_OPT_LACP_STRICT: 1169 lsc->lsc_strict_mode = 1; 1170 break; 1171 case -LAGG_OPT_LACP_STRICT: 1172 lsc->lsc_strict_mode = 0; 1173 break; |
1174 case LAGG_OPT_LACP_TIMEOUT: 1175 LACP_LOCK(lsc); 1176 LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) 1177 lp->lp_state |= LACP_STATE_TIMEOUT; 1178 LACP_UNLOCK(lsc); 1179 lsc->lsc_fast_timeout = 1; 1180 break; 1181 case -LAGG_OPT_LACP_TIMEOUT: 1182 LACP_LOCK(lsc); 1183 LIST_FOREACH(lp, &lsc->lsc_ports, lp_next) 1184 lp->lp_state &= ~LACP_STATE_TIMEOUT; 1185 LACP_UNLOCK(lsc); 1186 lsc->lsc_fast_timeout = 0; 1187 break; |
|
1169 } 1170 } 1171 proto->ti_attach(sc); 1172 LAGG_WLOCK(sc); 1173 sc->sc_proto = proto->ti_proto; 1174 LAGG_WUNLOCK(sc); 1175 break; 1176 case SIOCGLAGGFLAGS: --- 930 unchanged lines hidden --- | 1188 } 1189 } 1190 proto->ti_attach(sc); 1191 LAGG_WLOCK(sc); 1192 sc->sc_proto = proto->ti_proto; 1193 LAGG_WUNLOCK(sc); 1194 break; 1195 case SIOCGLAGGFLAGS: --- 930 unchanged lines hidden --- |