Change-Id: Id6aba75c30712e9a0ac7b3075bd6cfc49d6bec36
Signed-off-by: Neale Ranns <nranns@cisco.com>
mp->context = context;
mp->sw_if_index = htonl (config->sw_if_index);
clib_memcpy (mp->saddr.address, &src->key->ip4, sizeof (src->key->ip4));
mp->context = context;
mp->sw_if_index = htonl (config->sw_if_index);
clib_memcpy (mp->saddr.address, &src->key->ip4, sizeof (src->key->ip4));
- clib_memcpy (mp->gaddr.address, &group->key->ip4, sizeof (group->key->ip6));
+ clib_memcpy (mp->gaddr.address, &group->key->ip4, sizeof (group->key->ip4));
vl_msg_api_send_shmem (q, (u8 *) & mp);
}
vl_msg_api_send_shmem (q, (u8 *) & mp);
}
unformat_input_t _line_input, *line_input = &_line_input;
clib_error_t *error = NULL;
u8 enable = 1;
unformat_input_t _line_input, *line_input = &_line_input;
clib_error_t *error = NULL;
u8 enable = 1;
- ip46_address_t saddr, gaddr;
+ ip46_address_t saddr, *saddrs = NULL, gaddr;
vnet_main_t *vnm = vnet_get_main ();
u32 sw_if_index;
int rv;
vnet_main_t *vnm = vnet_get_main ();
u32 sw_if_index;
int rv;
(line_input, "int %U", unformat_vnet_sw_interface, vnm,
&sw_if_index));
else
(line_input, "int %U", unformat_vnet_sw_interface, vnm,
&sw_if_index));
else
- if (unformat (line_input, "saddr %U", unformat_ip46_address, &saddr));
+ if (unformat (line_input, "saddr %U", unformat_ip46_address, &saddr))
+ vec_add1 (saddrs, saddr);
else
if (unformat (line_input, "gaddr %U", unformat_ip46_address, &gaddr));
else
else
if (unformat (line_input, "gaddr %U", unformat_ip46_address, &gaddr));
else
- rv = igmp_listen (vm, enable, sw_if_index, &saddr, &gaddr);
+ rv = igmp_listen (vm, enable, sw_if_index, saddrs, &gaddr);
done:
unformat_free (line_input);
done:
unformat_free (line_input);
vm = vlib_get_main ();
config = igmp_config_lookup (bk->sw_if_index);
vm = vlib_get_main ();
config = igmp_config_lookup (bk->sw_if_index);
+
+ if (NULL == config)
+ return;
+
f = vlib_get_frame_to_node (vm, ip4_rewrite_mcast_node.index);
to_next = vlib_frame_vector_args (f);
f = vlib_get_frame_to_node (vm, ip4_rewrite_mcast_node.index);
to_next = vlib_frame_vector_args (f);