summaryrefslogtreecommitdiffstats
path: root/src/vat/api_format.c
diff options
context:
space:
mode:
authorSteve Shin <jonshin@cisco.com>2017-10-11 13:55:16 -0700
committerJohn Lo <loj@cisco.com>2017-10-12 13:57:11 +0000
commit9a6fcef43c3263d6acb95aaca2dcd2eb86169a75 (patch)
tree3ca1f20feb1194c2b6af8be2eae70585afe4b57a /src/vat/api_format.c
parent34acce2574311bcc149660729bde5fccf1045915 (diff)
LLDP: Add Management Address TLV
- Management Address TLV is added as per IEEE Std 802.1AB-2009. - Support of management ipv4/ipv6 addresses and OID. Change-Id: I57c14741774390809ce5a829cc087947424432c7 Signed-off-by: Steve Shin <jonshin@cisco.com>
Diffstat (limited to 'src/vat/api_format.c')
-rw-r--r--src/vat/api_format.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/vat/api_format.c b/src/vat/api_format.c
index daa090700a3..ae1db411242 100644
--- a/src/vat/api_format.c
+++ b/src/vat/api_format.c
@@ -20633,9 +20633,14 @@ api_sw_interface_set_lldp (vat_main_t * vam)
vl_api_sw_interface_set_lldp_t *mp;
u32 sw_if_index = ~0;
u32 enable = 1;
- u8 *port_desc = NULL;
+ u8 *port_desc = NULL, *mgmt_oid = NULL;
+ ip4_address_t ip4_addr;
+ ip6_address_t ip6_addr;
int ret;
+ memset (&ip4_addr, 0, sizeof (ip4_addr));
+ memset (&ip6_addr, 0, sizeof (ip6_addr));
+
while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT)
{
if (unformat (i, "disable"))
@@ -20647,6 +20652,12 @@ api_sw_interface_set_lldp (vat_main_t * vam)
;
else if (unformat (i, "port-desc %s", &port_desc))
;
+ else if (unformat (i, "mgmt-ip4 %U", unformat_ip4_address, &ip4_addr))
+ ;
+ else if (unformat (i, "mgmt-ip6 %U", unformat_ip6_address, &ip6_addr))
+ ;
+ else if (unformat (i, "mgmt-oid %s", &mgmt_oid))
+ ;
else
break;
}
@@ -20659,11 +20670,16 @@ api_sw_interface_set_lldp (vat_main_t * vam)
/* Construct the API message */
vec_add1 (port_desc, 0);
+ vec_add1 (mgmt_oid, 0);
M (SW_INTERFACE_SET_LLDP, mp);
mp->sw_if_index = ntohl (sw_if_index);
mp->enable = enable;
clib_memcpy (mp->port_desc, port_desc, vec_len (port_desc));
+ clib_memcpy (mp->mgmt_oid, mgmt_oid, vec_len (mgmt_oid));
+ clib_memcpy (mp->mgmt_ip4, &ip4_addr, sizeof (ip4_addr));
+ clib_memcpy (mp->mgmt_ip6, &ip6_addr, sizeof (ip6_addr));
vec_free (port_desc);
+ vec_free (mgmt_oid);
S (mp);
W (ret);
@@ -21600,7 +21616,8 @@ _(sw_interface_get_table, "<intfc> | sw_if_index <id> [ipv6]") \
_(p2p_ethernet_add, "<intfc> | sw_if_index <nn> remote_mac <mac-address> sub_id <id>") \
_(p2p_ethernet_del, "<intfc> | sw_if_index <nn> remote_mac <mac-address>") \
_(lldp_config, "system-name <name> tx-hold <nn> tx-interval <nn>") \
-_(sw_interface_set_lldp, "<intfc> | sw_if_index <nn> [port-desc <description>] [disable]") \
+_(sw_interface_set_lldp, "<intfc> | sw_if_index <nn> [port-desc <description>]\n" \
+ " [mgmt-ip4 <ip4>] [mgmt-ip6 <ip6>] [mgmt-oid <object id>] [disable]") \
_(tcp_configure_src_addresses, "<ip4|6>first-<ip4|6>last [vrf <id>]") \
_(memfd_segment_create,"size <nnn>") \
_(app_namespace_add_del, "[add] id <ns-id> secret <nn> sw_if_index <nn>")\