summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2015-10-12 13:08:27 -0700
committerGarrett D'Amore <garrett@lucera.com>2015-11-12 06:20:47 +0000
commit3bc4925d580ab95c16f1ddd5eb387655cbd16e65 (patch)
tree108c519ac2dfd6e8c9ee81bd0f22d6c3b4c24f16 /usr/src
parent620f322510b2d6433f7f6af60fa52380c07756ad (diff)
downloadillumos-gate-3bc4925d580ab95c16f1ddd5eb387655cbd16e65.tar.gz
6329 Need support for new link speeds in mac_ether
6330 Delete ETHER_STAT_ISMII macro Reviewed by: Sebastien Roy <sebastien.roy@delphix.com> Reviewed by: Dan McDonald <danmcd@omniti.com> Reviewed by: Albert Lee <trisk@omniti.com> Approved by: Robert Mustacchi <rm@joyent.com>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/lib/libdladm/common/libdlether.c4
-rw-r--r--usr/src/lib/libdladm/common/linkprop.c57
-rw-r--r--usr/src/uts/common/io/mac/mac.c9
-rw-r--r--usr/src/uts/common/io/mac/plugins/mac_ether.c50
-rw-r--r--usr/src/uts/common/io/softmac/softmac_stat.c22
-rw-r--r--usr/src/uts/common/sys/mac.h9
-rw-r--r--usr/src/uts/common/sys/mac_ether.h67
7 files changed, 168 insertions, 50 deletions
diff --git a/usr/src/lib/libdladm/common/libdlether.c b/usr/src/lib/libdladm/common/libdlether.c
index 4855dc234d..6f9d1080f7 100644
--- a/usr/src/lib/libdladm/common/libdlether.c
+++ b/usr/src/lib/libdladm/common/libdlether.c
@@ -21,6 +21,8 @@
/*
* Copyright 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2015 Garrett D'Amore <garrett@damore.org>
*/
#include <stdlib.h>
@@ -223,7 +225,7 @@ dladm_ether_spdx2str(char *buf, size_t buflen, dladm_ether_info_t *eattr,
if (j < i)
continue;
- if (speed >= 1000) {
+ if ((speed % 1000) == 0) {
speed = speed/1000;
speed_unit = 'G';
} else {
diff --git a/usr/src/lib/libdladm/common/linkprop.c b/usr/src/lib/libdladm/common/linkprop.c
index c3eea9a7f1..171e23dc2c 100644
--- a/usr/src/lib/libdladm/common/linkprop.c
+++ b/usr/src/lib/libdladm/common/linkprop.c
@@ -21,6 +21,7 @@
/*
* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Joyent, Inc. All rights reserved.
+ * Copyright 2015 Garrett D'Amore <garrett@damore.org>
*/
#include <stdlib.h>
@@ -256,6 +257,22 @@ static link_attr_t link_attr[] = {
{ MAC_PROP_AUTOPUSH, sizeof (struct dlautopush), "autopush"},
+ { MAC_PROP_ADV_5000FDX_CAP, sizeof (uint8_t), "adv_5000fdx_cap"},
+
+ { MAC_PROP_EN_5000FDX_CAP, sizeof (uint8_t), "en_5000fdx_cap"},
+
+ { MAC_PROP_ADV_2500FDX_CAP, sizeof (uint8_t), "adv_2500fdx_cap"},
+
+ { MAC_PROP_EN_2500FDX_CAP, sizeof (uint8_t), "en_2500fdx_cap"},
+
+ { MAC_PROP_ADV_100GFDX_CAP, sizeof (uint8_t), "adv_100gfdx_cap"},
+
+ { MAC_PROP_EN_100GFDX_CAP, sizeof (uint8_t), "en_100gfdx_cap"},
+
+ { MAC_PROP_ADV_40GFDX_CAP, sizeof (uint8_t), "adv_40gfdx_cap"},
+
+ { MAC_PROP_EN_40GFDX_CAP, sizeof (uint8_t), "en_40gfdx_cap"},
+
{ MAC_PROP_ADV_10GFDX_CAP, sizeof (uint8_t), "adv_10gfdx_cap"},
{ MAC_PROP_EN_10GFDX_CAP, sizeof (uint8_t), "en_10gfdx_cap"},
@@ -522,6 +539,26 @@ static prop_desc_t prop_table[] = {
get_secondary_macs, check_secondary_macs, PD_CHECK_ALLOC,
DATALINK_CLASS_VNIC, DL_ETHER },
+ { "adv_100gfdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ NULL, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
+ { "en_100gfdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ set_public_prop, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
+ { "adv_40gfdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ NULL, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
+ { "en_40gfdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ set_public_prop, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
{ "adv_10gfdx_cap", { "", 0 },
link_01_vals, VALCNT(link_01_vals),
NULL, NULL, get_binary, NULL,
@@ -532,6 +569,26 @@ static prop_desc_t prop_table[] = {
set_public_prop, NULL, get_binary, NULL,
0, DATALINK_CLASS_PHYS, DL_ETHER },
+ { "adv_5000fdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ NULL, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
+ { "en_5000fdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ set_public_prop, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
+ { "adv_2500fdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ NULL, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
+ { "en_2500fdx_cap", { "", 0 },
+ link_01_vals, VALCNT(link_01_vals),
+ set_public_prop, NULL, get_binary, NULL,
+ 0, DATALINK_CLASS_PHYS, DL_ETHER },
+
{ "adv_1000fdx_cap", { "", 0 },
link_01_vals, VALCNT(link_01_vals),
NULL, NULL, get_binary, NULL,
diff --git a/usr/src/uts/common/io/mac/mac.c b/usr/src/uts/common/io/mac/mac.c
index 55b0f6d9ea..1d30dc3478 100644
--- a/usr/src/uts/common/io/mac/mac.c
+++ b/usr/src/uts/common/io/mac/mac.c
@@ -22,6 +22,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2015 Joyent, Inc.
+ * Copyright 2015 Garrett D'Amore <garrett@damore.org>
*/
/*
@@ -3035,6 +3036,14 @@ mac_prop_check_size(mac_prop_id_t id, uint_t valsize, boolean_t is_range)
case MAC_PROP_FLOWCTRL:
minsize = sizeof (link_flowctrl_t);
break;
+ case MAC_PROP_ADV_5000FDX_CAP:
+ case MAC_PROP_EN_5000FDX_CAP:
+ case MAC_PROP_ADV_2500FDX_CAP:
+ case MAC_PROP_EN_2500FDX_CAP:
+ case MAC_PROP_ADV_100GFDX_CAP:
+ case MAC_PROP_EN_100GFDX_CAP:
+ case MAC_PROP_ADV_40GFDX_CAP:
+ case MAC_PROP_EN_40GFDX_CAP:
case MAC_PROP_ADV_10GFDX_CAP:
case MAC_PROP_EN_10GFDX_CAP:
case MAC_PROP_ADV_1000HDX_CAP:
diff --git a/usr/src/uts/common/io/mac/plugins/mac_ether.c b/usr/src/uts/common/io/mac/plugins/mac_ether.c
index c7e6a33880..e9c8332534 100644
--- a/usr/src/uts/common/io/mac/plugins/mac_ether.c
+++ b/usr/src/uts/common/io/mac/plugins/mac_ether.c
@@ -21,6 +21,8 @@
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2015 Garrett D'Amore <garrett@damore.org>
*/
/*
@@ -63,6 +65,10 @@ static mac_stat_info_t ether_stats[] = {
{ ETHER_STAT_XCVR_ADDR, "xcvr_addr", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_XCVR_ID, "xcvr_id", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_XCVR_INUSE, "xcvr_inuse", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_CAP_5000FDX, "cap_5000fdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_CAP_2500FDX, "cap_2500fdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_CAP_100GFDX, "cap_100gfdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_CAP_40GFDX, "cap_40gfdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_CAP_10GFDX, "cap_10gfdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_CAP_1000FDX, "cap_1000fdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_CAP_1000HDX, "cap_1000hdx", KSTAT_DATA_UINT32, 0 },
@@ -75,6 +81,10 @@ static mac_stat_info_t ether_stats[] = {
{ ETHER_STAT_CAP_PAUSE, "cap_pause", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_CAP_AUTONEG, "cap_autoneg", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_CAP_REMFAULT, "cap_rem_fault", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_ADV_CAP_5000FDX, "adv_cap_5000fdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_ADV_CAP_2500FDX, "adv_cap_2500fdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_ADV_CAP_100GFDX, "adv_cap_100gfdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_ADV_CAP_40GFDX, "adv_cap_40gfdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_ADV_CAP_10GFDX, "adv_cap_10gfdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_ADV_CAP_1000FDX, "adv_cap_1000fdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_ADV_CAP_1000HDX, "adv_cap_1000hdx", KSTAT_DATA_UINT32, 0 },
@@ -88,6 +98,10 @@ static mac_stat_info_t ether_stats[] = {
{ ETHER_STAT_ADV_CAP_PAUSE, "adv_cap_pause", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_ADV_CAP_AUTONEG, "adv_cap_autoneg", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_ADV_REMFAULT, "adv_rem_fault", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_LP_CAP_5000FDX, "lp_cap_5000fdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_LP_CAP_2500FDX, "lp_cap_2500fdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_LP_CAP_100GFDX, "lp_cap_100gfdx", KSTAT_DATA_UINT32, 0 },
+ { ETHER_STAT_LP_CAP_40GFDX, "lp_cap_40gfdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_LP_CAP_10GFDX, "lp_cap_10gfdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_LP_CAP_1000FDX, "lp_cap_1000fdx", KSTAT_DATA_UINT32, 0 },
{ ETHER_STAT_LP_CAP_1000HDX, "lp_cap_1000hdx", KSTAT_DATA_UINT32, 0 },
@@ -123,6 +137,18 @@ static mac_ndd_mapping_t mac_ether_mapping[] = {
{"adv_autoneg_cap", MAC_PROP_AUTONEG, 0, 1,
sizeof (uint8_t), MAC_PROP_PERM_RW},
+ {"adv_5000fdx_cap", MAC_PROP_EN_5000FDX_CAP, 0, 1,
+ sizeof (uint8_t), MAC_PROP_PERM_RW},
+
+ {"adv_2500fdx_cap", MAC_PROP_EN_2500FDX_CAP, 0, 1,
+ sizeof (uint8_t), MAC_PROP_PERM_RW},
+
+ {"adv_100gfdx_cap", MAC_PROP_EN_100GFDX_CAP, 0, 1,
+ sizeof (uint8_t), MAC_PROP_PERM_RW},
+
+ {"adv_40gfdx_cap", MAC_PROP_EN_40GFDX_CAP, 0, 1,
+ sizeof (uint8_t), MAC_PROP_PERM_RW},
+
{"adv_10gfdx_cap", MAC_PROP_EN_10GFDX_CAP, 0, 1,
sizeof (uint8_t), MAC_PROP_PERM_RW},
@@ -165,6 +191,18 @@ static mac_ndd_mapping_t mac_ether_mapping[] = {
{"asym_pause_cap", ETHER_STAT_CAP_ASMPAUSE, 0, 1,
sizeof (long), MAC_PROP_FLAGS_RK},
+ {"5000fdx_cap", ETHER_STAT_CAP_5000FDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
+ {"2500fdx_cap", ETHER_STAT_CAP_2500FDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
+ {"100gfdx_cap", ETHER_STAT_CAP_100GFDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
+ {"40gfdx_cap", ETHER_STAT_CAP_40GFDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
{"10gfdx_cap", ETHER_STAT_CAP_10GFDX, 0, 1,
sizeof (long), MAC_PROP_FLAGS_RK},
@@ -198,6 +236,18 @@ static mac_ndd_mapping_t mac_ether_mapping[] = {
{"lp_asym_pause_cap", ETHER_STAT_LP_CAP_ASMPAUSE, 0, 1,
sizeof (long), MAC_PROP_FLAGS_RK},
+ {"lp_5000fdx_cap", ETHER_STAT_LP_CAP_5000FDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
+ {"lp_2500fdx_cap", ETHER_STAT_LP_CAP_2500FDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
+ {"lp_100gfdx_cap", ETHER_STAT_LP_CAP_100GFDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
+ {"lp_40gfdx_cap", ETHER_STAT_LP_CAP_40GFDX, 0, 1,
+ sizeof (long), MAC_PROP_FLAGS_RK},
+
{"lp_10gfdx_cap", ETHER_STAT_LP_CAP_10GFDX, 0, 1,
sizeof (long), MAC_PROP_FLAGS_RK},
diff --git a/usr/src/uts/common/io/softmac/softmac_stat.c b/usr/src/uts/common/io/softmac/softmac_stat.c
index a4017a5edc..cede0a2b53 100644
--- a/usr/src/uts/common/io/softmac/softmac_stat.c
+++ b/usr/src/uts/common/io/softmac/softmac_stat.c
@@ -21,6 +21,8 @@
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2015 Garrett D'Amore <garret@damore.org>
*/
#include <sys/types.h>
@@ -129,11 +131,27 @@ static i_softmac_stat_info_t i_softmac_ether_si[] = {
{ ETHER_STAT_JABBER_ERRORS, "jabber_errors", NULL },
{ ETHER_STAT_CAP_100T4, "cap_100T4", NULL },
{ ETHER_STAT_ADV_CAP_100T4, "adv_cap_100T4", NULL },
- { ETHER_STAT_LP_CAP_100T4, "lp_cap_100T4", NULL },
+ { ETHER_STAT_LP_CAP_100T4, "lp_cap_100T4", NULL },
{ ETHER_STAT_CAP_10GFDX, "cap_10gfdx", NULL },
{ ETHER_STAT_ADV_CAP_10GFDX, "adv_cap_10gfdx", NULL },
- { ETHER_STAT_LP_CAP_1000FDX, "lp_cap_10gfdx", NULL }
+ { ETHER_STAT_LP_CAP_1000FDX, "lp_cap_10gfdx", NULL },
+
+ { ETHER_STAT_CAP_40GFDX, "cap_40gfdx", NULL },
+ { ETHER_STAT_ADV_CAP_40GFDX, "adv_cap_40gfdx", NULL },
+ { ETHER_STAT_LP_CAP_40GFDX, "lp_cap_40gfdx", NULL },
+
+ { ETHER_STAT_CAP_100GFDX, "cap_100gfdx", NULL },
+ { ETHER_STAT_ADV_CAP_100GFDX, "adv_cap_100gfdx", NULL },
+ { ETHER_STAT_LP_CAP_100GFDX, "lp_cap_100gfdx", NULL },
+
+ { ETHER_STAT_CAP_2500FDX, "cap_2500fdx", NULL },
+ { ETHER_STAT_ADV_CAP_2500FDX, "adv_cap_2500fdx", NULL },
+ { ETHER_STAT_LP_CAP_2500FDX, "lp_cap_2500fdx", NULL },
+
+ { ETHER_STAT_CAP_5000FDX, "cap_5000fdx", NULL },
+ { ETHER_STAT_ADV_CAP_5000FDX, "adv_cap_5000fdx", NULL },
+ { ETHER_STAT_LP_CAP_5000FDX, "lp_cap_5000fdx", NULL },
};
#define SOFTMAC_ETHER_SI_SZ \
diff --git a/usr/src/uts/common/sys/mac.h b/usr/src/uts/common/sys/mac.h
index bd09077f1b..247c3bd48d 100644
--- a/usr/src/uts/common/sys/mac.h
+++ b/usr/src/uts/common/sys/mac.h
@@ -22,6 +22,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Joyent, Inc. All rights reserved.
+ * Copyright (c) 2015 Garrett D'Amore <garrett@damore.org>
*/
#ifndef _SYS_MAC_H
@@ -214,6 +215,14 @@ typedef enum {
MAC_PROP_MAX_TXHWCLNT_AVAIL,
MAC_PROP_IB_LINKMODE,
MAC_PROP_SECONDARY_ADDRS,
+ MAC_PROP_ADV_40GFDX_CAP,
+ MAC_PROP_EN_40GFDX_CAP,
+ MAC_PROP_ADV_100GFDX_CAP,
+ MAC_PROP_EN_100GFDX_CAP,
+ MAC_PROP_ADV_2500FDX_CAP,
+ MAC_PROP_EN_2500FDX_CAP,
+ MAC_PROP_ADV_5000FDX_CAP,
+ MAC_PROP_EN_5000FDX_CAP,
MAC_PROP_PRIVATE = -1
} mac_prop_id_t;
diff --git a/usr/src/uts/common/sys/mac_ether.h b/usr/src/uts/common/sys/mac_ether.h
index 32e0168971..03ec47b0a4 100644
--- a/usr/src/uts/common/sys/mac_ether.h
+++ b/usr/src/uts/common/sys/mac_ether.h
@@ -21,6 +21,8 @@
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright 2015 Garrett D'Amore <garrett@damore.org>
*/
#ifndef _SYS_MAC_ETHER_H
@@ -105,9 +107,26 @@ enum ether_stat {
ETHER_STAT_CAP_10GFDX,
ETHER_STAT_ADV_CAP_10GFDX,
ETHER_STAT_LP_CAP_10GFDX,
+
+ ETHER_STAT_CAP_40GFDX,
+ ETHER_STAT_ADV_CAP_40GFDX,
+ ETHER_STAT_LP_CAP_40GFDX,
+
+ ETHER_STAT_CAP_100GFDX,
+ ETHER_STAT_ADV_CAP_100GFDX,
+ ETHER_STAT_LP_CAP_100GFDX,
+
+ ETHER_STAT_CAP_2500FDX,
+ ETHER_STAT_ADV_CAP_2500FDX,
+ ETHER_STAT_LP_CAP_2500FDX,
+
+ ETHER_STAT_CAP_5000FDX,
+ ETHER_STAT_ADV_CAP_5000FDX,
+ ETHER_STAT_LP_CAP_5000FDX,
};
-#define ETHER_NSTAT (ETHER_STAT_LP_CAP_10GFDX - ETHER_STAT_ALIGN_ERRORS + 1)
+#define ETHER_NSTAT \
+ (ETHER_STAT_LP_CAP_5000FDX - ETHER_STAT_ALIGN_ERRORS + 1)
#define ETHER_STAT_ISACOUNTER(_ether_stat) \
((_ether_stat) == ETHER_STAT_ALIGN_ERRORS || \
@@ -125,52 +144,6 @@ enum ether_stat {
(_ether_stat) == ETHER_STAT_JABBER_ERRORS || \
(_ether_stat) == ETHER_STAT_MACRCV_ERRORS)
-/*
- * Some drivers have a need to determine if a particular stat is a MII/GMII
- * physical layer 802.3 stat.
- */
-#define ETHER_STAT_ISMII(_ether_stat) \
- ((_ether_stat) == ETHER_STAT_XCVR_ADDR || \
- (_ether_stat) == ETHER_STAT_XCVR_ID || \
- (_ether_stat) == ETHER_STAT_XCVR_INUSE || \
- (_ether_stat) == ETHER_STAT_CAP_1000FDX || \
- (_ether_stat) == ETHER_STAT_CAP_1000HDX || \
- (_ether_stat) == ETHER_STAT_CAP_100FDX || \
- (_ether_stat) == ETHER_STAT_CAP_100HDX || \
- (_ether_stat) == ETHER_STAT_CAP_10FDX || \
- (_ether_stat) == ETHER_STAT_CAP_10HDX || \
- (_ether_stat) == ETHER_STAT_CAP_ASMPAUSE || \
- (_ether_stat) == ETHER_STAT_CAP_PAUSE || \
- (_ether_stat) == ETHER_STAT_CAP_AUTONEG || \
- (_ether_stat) == ETHER_STAT_CAP_REMFAULT || \
- (_ether_stat) == ETHER_STAT_CAP_100T4 || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_1000FDX || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_1000HDX || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_100FDX || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_100HDX || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_10FDX || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_10HDX || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_ASMPAUSE || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_PAUSE || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_AUTONEG || \
- (_ether_stat) == ETHER_STAT_ADV_REMFAULT || \
- (_ether_stat) == ETHER_STAT_ADV_CAP_100T4 || \
- (_ether_stat) == ETHER_STAT_LP_CAP_1000FDX || \
- (_ether_stat) == ETHER_STAT_LP_CAP_1000HDX || \
- (_ether_stat) == ETHER_STAT_LP_CAP_100FDX || \
- (_ether_stat) == ETHER_STAT_LP_CAP_100HDX || \
- (_ether_stat) == ETHER_STAT_LP_CAP_10FDX || \
- (_ether_stat) == ETHER_STAT_LP_CAP_10HDX || \
- (_ether_stat) == ETHER_STAT_LP_CAP_ASMPAUSE || \
- (_ether_stat) == ETHER_STAT_LP_CAP_PAUSE || \
- (_ether_stat) == ETHER_STAT_LP_CAP_AUTONEG || \
- (_ether_stat) == ETHER_STAT_LP_REMFAULT || \
- (_ether_stat) == ETHER_STAT_LP_CAP_100T4 || \
- (_ether_stat) == ETHER_STAT_LINK_ASMPAUSE || \
- (_ether_stat) == ETHER_STAT_LINK_PAUSE || \
- (_ether_stat) == ETHER_STAT_LINK_AUTONEG || \
- (_ether_stat) == ETHER_STAT_LINK_DUPLEX)
-
#endif /* _KERNEL */
#ifdef __cplusplus