summaryrefslogtreecommitdiffstats
path: root/src/vat/api_format.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2017-11-05 23:07:07 -0800
committerDave Barach <openvpp@barachs.net>2017-11-06 21:45:22 +0000
commitc97a7398fc465c480a3ac66cf4b0f91a034ed564 (patch)
tree31467dcc219751cd89903e83b66c3315e31be947 /src/vat/api_format.c
parenta3d933c87f146df801aa3947c25b6f1b2538f847 (diff)
session: add rule tags
Change-Id: Id5ebb410f509ac4c83d60e48efd54e00035e5ce6 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vat/api_format.c')
-rw-r--r--src/vat/api_format.c26
1 files changed, 19 insertions, 7 deletions
diff --git a/src/vat/api_format.c b/src/vat/api_format.c
index f27d51ab7c7..c972c192db3 100644
--- a/src/vat/api_format.c
+++ b/src/vat/api_format.c
@@ -21560,19 +21560,21 @@ vl_api_session_rules_details_t_handler (vl_api_session_rules_details_t * mp)
if (mp->is_ip4)
{
- print (vam->ofp, "appns %u tp %u scope %d %U/%d %d %U/%d %d action: %d",
+ print (vam->ofp,
+ "appns %u tp %u scope %d %U/%d %d %U/%d %d action: %d tag: %s",
mp->appns_index, mp->transport_proto, mp->scope,
format_ip4_address, &mp->lcl_ip, mp->lcl_plen, mp->lcl_port,
format_ip4_address, &mp->rmt_ip, mp->rmt_plen, mp->rmt_port,
- mp->action_index);
+ mp->action_index, mp->tag);
}
else
{
- print (vam->ofp, "appns %u tp %u scope %d %U/%d %d %U/%d %d action: %d",
+ print (vam->ofp,
+ "appns %u tp %u scope %d %U/%d %d %U/%d %d action: %d tag: %s",
mp->appns_index, mp->transport_proto, mp->scope,
format_ip6_address, &mp->lcl_ip, mp->lcl_plen, mp->lcl_port,
format_ip6_address, &mp->rmt_ip, mp->rmt_plen, mp->rmt_port,
- mp->action_index);
+ mp->action_index, mp->tag);
}
}
@@ -21606,6 +21608,7 @@ vl_api_session_rules_details_t_handler_json (vl_api_session_rules_details_t *
clib_net_to_host_u16 (mp->rmt_port));
vat_json_object_add_uint (node, "lcl_plen", mp->lcl_plen);
vat_json_object_add_uint (node, "rmt_plen", mp->rmt_plen);
+ vat_json_object_add_string_copy (node, "tag", mp->tag);
if (mp->is_ip4)
{
clib_memcpy (&ip4, mp->lcl_ip, sizeof (ip4));
@@ -21632,7 +21635,7 @@ api_session_rule_add_del (vat_main_t * vam)
ip4_address_t lcl_ip4, rmt_ip4;
ip6_address_t lcl_ip6, rmt_ip6;
u8 is_ip4 = 1, conn_set = 0;
- u8 is_add = 1;
+ u8 is_add = 1, *tag = 0;
int ret;
while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT)
@@ -21649,6 +21652,8 @@ api_session_rule_add_del (vat_main_t * vam)
;
else if (unformat (i, "scope %d", &scope))
;
+ else if (unformat (i, "tag %_%v%_", &tag))
+ ;
else
if (unformat
(i, "%U/%d %d %U/%d %d", unformat_ip4_address, &lcl_ip4,
@@ -21688,8 +21693,10 @@ api_session_rule_add_del (vat_main_t * vam)
mp->is_ip4 = is_ip4;
mp->transport_proto = proto;
- mp->lcl_plen = clib_host_to_net_u16 (lcl_plen);
- mp->rmt_plen = clib_host_to_net_u16 (rmt_plen);
+ mp->lcl_port = clib_host_to_net_u16 ((u16) lcl_port);
+ mp->rmt_port = clib_host_to_net_u16 ((u16) rmt_port);
+ mp->lcl_plen = lcl_plen;
+ mp->rmt_plen = rmt_plen;
mp->action_index = clib_host_to_net_u32 (action);
mp->appns_index = clib_host_to_net_u32 (appns_index);
mp->scope = scope;
@@ -21704,6 +21711,11 @@ api_session_rule_add_del (vat_main_t * vam)
clib_memcpy (mp->lcl_ip, &lcl_ip6, sizeof (lcl_ip6));
clib_memcpy (mp->rmt_ip, &rmt_ip6, sizeof (rmt_ip6));
}
+ if (tag)
+ {
+ clib_memcpy (mp->tag, tag, vec_len (tag));
+ vec_free (tag);
+ }
S (mp);
W (ret);