Hi, Neale
Many thanks!
I did the same job already ) My patch in attach.
I'm trying to test it now and will write later about results.
Best regards,
Aleksander
On Mon, Aug 27, 2018 at 05:40 PM, Neale Ranns wrote:
>
>
>
> Hi Aleksander,
>
>
>
>
>
>
>
> The API required to enable router mode did not have a CLI equivalent. I
> have added it in :
>
>
>
> https://gerrit.fd.io/r/#/c/14507/
>
>
>
>
>
>
>
> now do:
>
>
>
> igmp enable router <INTERFACE>
>
>
>
> when done
>
>
>
> igmp disable router <INTERFACE>
>
>
>
>
>
>
--- src/plugins/igmp/igmp_cli.c.orig 2018-08-27 09:58:45.076027254 +0300
+++ src/plugins/igmp/igmp_cli.c 2018-08-27 15:09:17.709417958 +0300
@@ -78,6 +78,72 @@
/* *INDENT-ON* */
static clib_error_t *
+igmp_enable_disable_command_fn (vlib_main_t * vm, unformat_input_t * input,
+ vlib_cli_command_t * cmd)
+{
+ unformat_input_t _line_input, *line_input = &_line_input;
+ clib_error_t *error = NULL;
+ vnet_main_t *vnm = vnet_get_main ();
+ u32 sw_if_index;
+ u8 enable = 1;
+ igmp_mode_t mode = IGMP_MODE_HOST;
+
+ if (!unformat_user (input, unformat_line_input, line_input))
+ {
+ error =
+ clib_error_return (0,
+ "'help igmp' or 'igmp ?' for help");
+ return error;
+ }
+
+ while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT)
+ {
+ if (unformat (line_input, "enable"))
+ enable = 1;
+ else if (unformat (line_input, "disable"))
+ enable = 0;
+ else
+ if (unformat
+ (line_input, "int %U", unformat_vnet_sw_interface, vnm,
+ &sw_if_index));
+ else
+ if (unformat (line_input, "mode host"));
+ else
+ if (unformat (line_input, "mode router"))
+ mode = IGMP_MODE_ROUTER;
+ else
+ {
+ error =
+ clib_error_return (0, "unknown input '%U'", format_unformat_error,
+ line_input);
+ goto done;
+ }
+ }
+
+ if ((vnet_sw_interface_get_flags (vnm, sw_if_index)
+ && VNET_SW_INTERFACE_FLAG_ADMIN_UP) == 0)
+ {
+ error = clib_error_return (0, "Interface is down");
+ goto done;
+ }
+
+ igmp_enable_disable (sw_if_index, enable, mode);
+
+done:
+ unformat_free (line_input);
+ return error;
+}
+
+/* *INDENT-OFF* */
+VLIB_CLI_COMMAND (igmp_enable_disable_command, static) = {
+ .path = "igmp",
+ .short_help = "igmp [<enable|disable>] "
+ "int <interface> mode [<host|router>]",
+ .function = igmp_enable_disable_command_fn,
+};
+/* *INDENT-ON* */
+
+static clib_error_t *
igmp_listen_command_fn (vlib_main_t * vm, unformat_input_t * input,
vlib_cli_command_t * cmd)
{
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#10313): https://lists.fd.io/g/vpp-dev/message/10313
Mute This Topic: https://lists.fd.io/mt/24971765/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-