diff options
Diffstat (limited to 'usr/src/lib/libdladm/common/linkprop.c')
-rw-r--r-- | usr/src/lib/libdladm/common/linkprop.c | 57 |
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, |