summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdladm/common/linkprop.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libdladm/common/linkprop.c')
-rw-r--r--usr/src/lib/libdladm/common/linkprop.c57
1 files changed, 57 insertions, 0 deletions
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,