sub->sw_if_index = ntohl (mp->sw_if_index);
sub->sub_id = ntohl (mp->sub_id);
- sub->raw_flags = ntohl (mp->sub_if_flags & SUB_IF_API_FLAG_MASK_VNET);
-
+ sub->sub_dot1ad = mp->sub_dot1ad;
sub->sub_number_of_tags = mp->sub_number_of_tags;
sub->sub_outer_vlan_id = ntohs (mp->sub_outer_vlan_id);
sub->sub_inner_vlan_id = ntohs (mp->sub_inner_vlan_id);
+ sub->sub_exact_match = mp->sub_exact_match;
+ sub->sub_default = mp->sub_default;
+ sub->sub_outer_vlan_id_any = mp->sub_outer_vlan_id_any;
+ sub->sub_inner_vlan_id_any = mp->sub_inner_vlan_id_any;
/* vlan tag rewrite */
sub->vtr_op = ntohl (mp->vtr_op);
vat_json_object_add_uint (node, "sw_if_index", ntohl (mp->sw_if_index));
vat_json_object_add_uint (node, "sup_sw_if_index",
ntohl (mp->sup_sw_if_index));
+ vat_json_object_add_uint (node, "l2_address_length",
+ ntohl (mp->l2_address_length));
vat_json_object_add_bytes (node, "l2_address", mp->l2_address,
sizeof (mp->l2_address));
vat_json_object_add_string_copy (node, "interface_name",
- mp->interface_name.buf);
- vat_json_object_add_uint (node, "flags", mp->flags);
+ mp->interface_name);
+ vat_json_object_add_uint (node, "admin_up_down", mp->admin_up_down);
+ vat_json_object_add_uint (node, "link_up_down", mp->link_up_down);
vat_json_object_add_uint (node, "link_duplex", mp->link_duplex);
vat_json_object_add_uint (node, "link_speed", mp->link_speed);
vat_json_object_add_uint (node, "mtu", ntohs (mp->link_mtu));
vat_json_object_add_uint (node, "sub_id", ntohl (mp->sub_id));
+ vat_json_object_add_uint (node, "sub_dot1ad", mp->sub_dot1ad);
vat_json_object_add_uint (node, "sub_number_of_tags",
mp->sub_number_of_tags);
vat_json_object_add_uint (node, "sub_outer_vlan_id",
ntohs (mp->sub_outer_vlan_id));
vat_json_object_add_uint (node, "sub_inner_vlan_id",
ntohs (mp->sub_inner_vlan_id));
- vat_json_object_add_uint (node, "sub_if_flags", ntohl (mp->sub_if_flags));
+ vat_json_object_add_uint (node, "sub_exact_match", mp->sub_exact_match);
+ vat_json_object_add_uint (node, "sub_default", mp->sub_default);
+ vat_json_object_add_uint (node, "sub_outer_vlan_id_any",
+ mp->sub_outer_vlan_id_any);
+ vat_json_object_add_uint (node, "sub_inner_vlan_id_any",
+ mp->sub_inner_vlan_id_any);
vat_json_object_add_uint (node, "vtr_op", ntohl (mp->vtr_op));
vat_json_object_add_uint (node, "vtr_push_dot1q",
ntohl (mp->vtr_push_dot1q));
vat_json_object_add_uint (node, "vtr_tag1", ntohl (mp->vtr_tag1));
vat_json_object_add_uint (node, "vtr_tag2", ntohl (mp->vtr_tag2));
- if (ntohl (mp->sub_if_flags) & SUB_IF_API_FLAG_DOT1AH)
+ if (mp->sub_dot1ah)
{
vat_json_object_add_string_copy (node, "pbb_vtr_dmac",
format (0, "%U",
if (vam->interface_event_display)
errmsg ("interface flags: sw_if_index %d %s %s",
ntohl (mp->sw_if_index),
- ((ntohl (mp->flags)) & IF_STATUS_API_FLAG_ADMIN_UP) ?
- "admin-up" : "admin-down",
- ((ntohl (mp->flags)) & IF_STATUS_API_FLAG_LINK_UP) ?
- "link-up" : "link-down");
+ mp->admin_up_down ? "admin-up" : "admin-down",
+ mp->link_up_down ? "link-up" : "link-down");
}
#endif
/* Construct the API message */
M (SW_INTERFACE_SET_FLAGS, mp);
mp->sw_if_index = ntohl (sw_if_index);
- mp->flags = ntohl ((admin_up) ? IF_STATUS_API_FLAG_ADMIN_UP : 0);
+ mp->admin_up_down = admin_up;
/* send it... */
S (mp);
mp->del_all = del_all;
if (v6_address_set)
{
- mp->prefix.address.af = ADDRESS_IP6;
- clib_memcpy (mp->prefix.address.un.ip6, &v6address, sizeof (v6address));
+ mp->is_ipv6 = 1;
+ clib_memcpy (mp->address, &v6address, sizeof (v6address));
}
else
{
- mp->prefix.address.af = ADDRESS_IP4;
- clib_memcpy (mp->prefix.address.un.ip4, &v4address, sizeof (v4address));
+ clib_memcpy (mp->address, &v4address, sizeof (v4address));
}
- mp->prefix.address_length = address_length;
+ mp->address_length = address_length;
/* send it... */
S (mp);
_(outer_vlan_id_any) \
_(inner_vlan_id_any)
-#define foreach_create_subif_flag \
-_(0, "no_tags") \
-_(1, "one_tag") \
-_(2, "two_tags") \
-_(3, "dot1ad") \
-_(4, "exact_match") \
-_(5, "default_sub") \
-_(6, "outer_vlan_id_any") \
-_(7, "inner_vlan_id_any")
-
static int
api_create_subif (vat_main_t * vam)
{
mp->sw_if_index = ntohl (sw_if_index);
mp->sub_id = ntohl (sub_id);
-#define _(a,b) mp->sub_if_flags |= (1 << a);
- foreach_create_subif_flag;
+#define _(a) mp->a = a;
+ foreach_create_subif_bit;
#undef _
mp->outer_vlan_id = ntohs (outer_vlan_id);
u32 crypto_alg = 0, integ_alg = 0;
u8 *lck = NULL, *rck = NULL;
u8 *lik = NULL, *rik = NULL;
- ip4_address_t local_ip = { {0} };
- ip4_address_t remote_ip = { {0} };
+ vl_api_address_t local_ip = { 0 };
+ vl_api_address_t remote_ip = { 0 };
u8 is_add = 1;
u8 esn = 0;
u8 anti_replay = 0;
;
else if (unformat (i, "remote_spi %d", &remote_spi))
;
- else if (unformat (i, "local_ip %U", unformat_ip4_address, &local_ip))
+ else
+ if (unformat (i, "local_ip %U", unformat_vl_api_address, &local_ip))
;
- else if (unformat (i, "remote_ip %U", unformat_ip4_address, &remote_ip))
+ else
+ if (unformat (i, "remote_ip %U", unformat_vl_api_address, &remote_ip))
;
else if (unformat (i, "local_crypto_key %U", unformat_hex_string, &lck))
;
mp->esn = esn;
mp->anti_replay = anti_replay;
- clib_memcpy (mp->local_ip, &local_ip, sizeof (ip4_address_t));
- clib_memcpy (mp->remote_ip, &remote_ip, sizeof (ip4_address_t));
+ clib_memcpy (&mp->local_ip, &local_ip, sizeof (local_ip));
+ clib_memcpy (&mp->remote_ip, &remote_ip, sizeof (remote_ip));
mp->local_spi = htonl (local_spi);
mp->remote_spi = htonl (remote_spi);
ntohl (mp->entry.integrity_algorithm));
flags = ntohl (mp->entry.flags);
vat_json_object_add_uint (node, "use_esn",
- ! !(flags &
- IPSEC_API_SAD_FLAG_USE_EXTENDED_SEQ_NUM));
+ ! !(flags & IPSEC_API_SAD_FLAG_USE_ESN));
vat_json_object_add_uint (node, "use_anti_replay",
! !(flags & IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY));
vat_json_object_add_uint (node, "is_tunnel",
mp->sw_if_index = ntohl (sw_if_index);
mp->is_add = enable;
if (enable)
- vl_api_to_api_string (strlen ((char *) tag), tag, &mp->tag);
+ strncpy ((char *) mp->tag, (char *) tag, ARRAY_LEN (mp->tag) - 1);
vec_free (tag);
S (mp);