+static void
+lldp_add_mgmt_addr (const lldp_intf_t * n, const vnet_hw_interface_t * hw,
+ u8 ** t0p)
+{
+ const size_t len_ip4 = vec_len (n->mgmt_ip4);
+ const size_t len_ip6 = vec_len (n->mgmt_ip6);
+
+ if (!(len_ip4 | len_ip6))
+ {
+ /*
+ If no management address is configured, the interface port's MAC
+ addressis sent in one TLV.
+ */
+
+ lldp_build_mgmt_addr_tlv (t0p, 1, /* address subtype: Ipv4 */
+ 6, /* address string lenth */
+ hw->hw_address, /* address */
+ hw->hw_if_index, /* if index */
+ vec_len (n->mgmt_oid), /* OID length */
+ n->mgmt_oid); /* OID */
+ return;
+ }
+
+ if (len_ip4)
+ {
+ lldp_build_mgmt_addr_tlv (t0p, 1, /* address subtype: Ipv4 */
+ len_ip4, /* address string lenth */
+ n->mgmt_ip4, /* address */
+ hw->hw_if_index, /* if index */
+ vec_len (n->mgmt_oid), /* OID length */
+ n->mgmt_oid); /* OID */
+ }
+
+ if (len_ip6)
+ {
+ lldp_build_mgmt_addr_tlv (t0p, 2, /* address subtype: Ipv6 */
+ len_ip6, /* address string lenth */
+ n->mgmt_ip6, /* address */
+ hw->hw_if_index, /* if index */
+ vec_len (n->mgmt_oid), /* OID length */
+ n->mgmt_oid); /* OID */
+ }
+}
+