mp->bd_id =
ntohl (l2input_main.bd_configs[l2fe_key->fields.bd_index].bd_id);
- mp->mac = l2fib_make_key (l2fe_key->fields.mac, 0);
+ clib_memcpy (mp->mac, l2fe_key->fields.mac, 6);
mp->sw_if_index = ntohl (l2fe_res->fields.sw_if_index);
mp->static_mac = l2fe_res->fields.static_mac;
mp->filter_mac = l2fe_res->fields.filter;
}
u32 bd_index = p[0];
- u64 mac = mp->mac;
+ u8 mac[6];
+
+ clib_memcpy (mac, mp->mac, 6);
if (mp->is_add)
{
if (mp->filter_mac)
{
lm->client_pid = 0;
lm->client_index = 0;
- lm->global_learn_limit = L2LEARN_DEFAULT_LIMIT;
+ if (learn_limit && (learn_limit < L2LEARN_DEFAULT_LIMIT))
+ lm->global_learn_limit = learn_limit;
+ else
+ lm->global_learn_limit = L2LEARN_DEFAULT_LIMIT;
}
exit:
.arp_term = mp->arp_term,
.mac_age = mp->mac_age,
.bd_id = ntohl (mp->bd_id),
+ .bd_tag = mp->bd_tag
};
int rv = bd_add_del (&a);
mp->arp_term = bd_feature_arp_term (bd_config);
mp->bvi_sw_if_index = ntohl (bd_config->bvi_sw_if_index);
mp->mac_age = bd_config->mac_age;
+ if (bd_config->bd_tag)
+ {
+ strncpy ((char *) mp->bd_tag, (char *) bd_config->bd_tag,
+ ARRAY_LEN (mp->bd_tag) - 1);
+ mp->bd_tag[ARRAY_LEN (mp->bd_tag) - 1] = 0;
+ }
+
mp->context = context;
sw_ifs = (vl_api_bridge_domain_sw_if_t *) mp->sw_if_details;