[ovs-dev] [PATCH ovn] pinctrl: Fix incorrect warning message for multicast querier.

Numan Siddique numans at ovn.org
Thu Sep 3 12:07:45 UTC 2020


On Thu, Aug 27, 2020 at 8:18 PM Dumitru Ceara <dceara at redhat.com> wrote:

> It's quite common that IP Multicast is enabled only for IPv4 or only for
> IPv6. In such cases ovn-controller should not generate warnings.
>
> Fixes: 677a3ba4d66b ("ovn: Add MLD support.")
> Signed-off-by: Dumitru Ceara <dceara at redhat.com>
>

Thanks Dumitru. I applied this patch to master.

Numan


> ---
>  controller/pinctrl.c | 38 +++++++++++++++++++++++---------------
>  1 file changed, 23 insertions(+), 15 deletions(-)
>
> diff --git a/controller/pinctrl.c b/controller/pinctrl.c
> index f72ab70..c8fbd37 100644
> --- a/controller/pinctrl.c
> +++ b/controller/pinctrl.c
> @@ -4183,21 +4183,11 @@ ip_mcast_snoop_cfg_load(struct ip_mcast_snoop_cfg
> *cfg,
>      cfg->seq_no = ip_mcast->seq_no;
>
>      if (querier_enabled) {
> -        /* Try to parse the source ETH address. */
> -        if (!ip_mcast->eth_src ||
> -                !eth_addr_from_string(ip_mcast->eth_src,
> -                                      &cfg->query_eth_src)) {
> -            VLOG_WARN_RL(&rl,
> -                         "IGMP Querier enabled with invalid ETH src
> address");
> -            /* Failed to parse the ETH source address. Disable the
> querier. */
> -            cfg->querier_v4_enabled = false;
> -            cfg->querier_v6_enabled = false;
> -        }
> -
>          /* Try to parse the source IPv4 address. */
>          if (cfg->querier_v4_enabled) {
> -            if (!ip_mcast->ip4_src ||
> -                    !ip_parse(ip_mcast->ip4_src, &cfg->query_ipv4_src)) {
> +            if (!ip_mcast->ip4_src || !ip_mcast->ip4_src[0]) {
> +                cfg->querier_v4_enabled = false;
> +            } else if (!ip_parse(ip_mcast->ip4_src,
> &cfg->query_ipv4_src)) {
>                  VLOG_WARN_RL(&rl,
>                              "IGMP Querier enabled with invalid IPv4 "
>                              "src address");
> @@ -4215,8 +4205,9 @@ ip_mcast_snoop_cfg_load(struct ip_mcast_snoop_cfg
> *cfg,
>
>          /* Try to parse the source IPv6 address. */
>          if (cfg->querier_v6_enabled) {
> -            if (!ip_mcast->ip6_src ||
> -                    !ipv6_parse(ip_mcast->ip6_src, &cfg->query_ipv6_src))
> {
> +            if (!ip_mcast->ip6_src || !ip_mcast->ip6_src[0]) {
> +                cfg->querier_v6_enabled = false;
> +            } else if (!ipv6_parse(ip_mcast->ip6_src,
> &cfg->query_ipv6_src)) {
>                  VLOG_WARN_RL(&rl,
>                              "MLD Querier enabled with invalid IPv6 "
>                              "src address");
> @@ -4232,6 +4223,23 @@ ip_mcast_snoop_cfg_load(struct ip_mcast_snoop_cfg
> *cfg,
>              cfg->query_ipv6_dst =
>                  (struct in6_addr)IN6ADDR_ALL_HOSTS_INIT;
>          }
> +
> +        if (!cfg->querier_v4_enabled && !cfg->querier_v6_enabled) {
> +            VLOG_WARN_RL(&rl,
> +                         "IGMP Querier enabled without a valid IPv4 or
> IPv6 "
> +                         "address");
> +        }
> +
> +        /* Try to parse the source ETH address. */
> +        if (!ip_mcast->eth_src ||
> +                !eth_addr_from_string(ip_mcast->eth_src,
> +                                      &cfg->query_eth_src)) {
> +            VLOG_WARN_RL(&rl,
> +                         "IGMP Querier enabled with invalid ETH src
> address");
> +            /* Failed to parse the ETH source address. Disable the
> querier. */
> +            cfg->querier_v4_enabled = false;
> +            cfg->querier_v6_enabled = false;
> +        }
>      }
>  }
>
> --
> 1.8.3.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>


More information about the dev mailing list