X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvat%2Fapi_format.c;h=1babaf406f5023f0105625673c8bbd796e83a603;hb=2feaffcb4af8e311b56328015bcfd82f5b15626c;hp=176fe836c45cd3ec0a162f2a24681e2aa9351050;hpb=878c609889dcdc58538d40d8b3f662320f88573d;p=vpp.git diff --git a/src/vat/api_format.c b/src/vat/api_format.c index 176fe836c45..1babaf406f5 100644 --- a/src/vat/api_format.c +++ b/src/vat/api_format.c @@ -5790,6 +5790,12 @@ api_tap_connect (vat_main_t * vam) u8 name_set = 0; u8 *tap_name; u8 *tag = 0; + ip4_address_t ip4_address; + u32 ip4_mask_width; + int ip4_address_set = 0; + ip6_address_t ip6_address; + u32 ip6_mask_width; + int ip6_address_set = 0; memset (mac_address, 0, sizeof (mac_address)); @@ -5806,6 +5812,12 @@ api_tap_connect (vat_main_t * vam) name_set = 1; else if (unformat (i, "tag %s", &tag)) ; + else if (unformat (i, "address %U/%d", + unformat_ip4_address, &ip4_address, &ip4_mask_width)) + ip4_address_set = 1; + else if (unformat (i, "address %U/%d", + unformat_ip6_address, &ip6_address, &ip6_mask_width)) + ip6_address_set = 1; else break; } @@ -5837,6 +5849,19 @@ api_tap_connect (vat_main_t * vam) if (tag) clib_memcpy (mp->tag, tag, vec_len (tag)); + if (ip4_address_set) + { + mp->ip4_address_set = 1; + clib_memcpy (mp->ip4_address, &ip4_address, sizeof (mp->ip4_address)); + mp->ip4_mask_width = ip4_mask_width; + } + if (ip6_address_set) + { + mp->ip6_address_set = 1; + clib_memcpy (mp->ip6_address, &ip6_address, sizeof (mp->ip6_address)); + mp->ip6_mask_width = ip6_mask_width; + } + vec_free (tap_name); vec_free (tag);