diff options
author | Steve Shin <jonshin@cisco.com> | 2017-10-11 13:55:16 -0700 |
---|---|---|
committer | John Lo <loj@cisco.com> | 2017-10-12 13:57:11 +0000 |
commit | 9a6fcef43c3263d6acb95aaca2dcd2eb86169a75 (patch) | |
tree | 3ca1f20feb1194c2b6af8be2eae70585afe4b57a /src/vat | |
parent | 34acce2574311bcc149660729bde5fccf1045915 (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')
-rw-r--r-- | src/vat/api_format.c | 21 |
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>")\ |