[ovs-dev] [PATCH] [ovn-northd] Don't emit ICMP need to frag on LRP with no IPv4 address

Lucas Alvares Gomes lucasagomes at gmail.com
Thu Jul 25 16:02:22 UTC 2019


Hi,

Thanks for the quick patch Daniel. Without this patch I was getting a
segmentation fault in ovn-northd:
http://paste.openstack.org/show/754850/. Daniel debugged it and found
the problem, I applied this patch and now it works :D

On Thu, Jul 25, 2019 at 4:38 PM Daniel Alvarez <dalvarez at redhat.com> wrote:
>
> Prior to this patch, when a LRP has only IPv6 addresses, ovn-northd
> will crash (SIGSEV) because the current code injects a flow to
> emit the ICMP need-to-frag from its IPv4 address which does not
> exist.
>
> This patch is adding a check to skip the flow installation in case
> the port does not have any IPv4 address.
>
> Signed-off-by: Daniel Alvarez <dalvarez at redhat.com>
> ---
>  ovn/northd/ovn-northd.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/ovn/northd/ovn-northd.c b/ovn/northd/ovn-northd.c
> index eb6c47cad..3542ba72f 100644
> --- a/ovn/northd/ovn-northd.c
> +++ b/ovn/northd/ovn-northd.c
> @@ -7705,7 +7705,8 @@ build_lrouter_flows(struct hmap *datapaths, struct hmap *ports,
>              for (size_t i = 0; i < od->nbr->n_ports; i++) {
>                  struct ovn_port *rp = ovn_port_find(ports,
>                                                      od->nbr->ports[i]->name);
> -                if (!rp || rp == od->l3dgw_port) {
> +                if (!rp || rp == od->l3dgw_port ||
> +                    !rp->lrp_networks.ipv4_addrs) {
>                      continue;
>                  }
>                  ds_clear(&match);
> --
> 2.21.0 (Apple Git-120)
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Acked-By: Lucas Alvares Gomes <lucasagomes at gmail.com>


More information about the dev mailing list