Deleted Added
full compact
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 ---