[ovs-discuss] openvswitch: netlink: Flow actions may not be safe on all matching packets - MPLS packets hitting flood entry

Jesse Gross jesse at kernel.org
Thu Jan 14 17:27:28 UTC 2016


On Wed, Jan 13, 2016 at 10:43 PM, Farhad Sunavala <fsbiz at yahoo.com> wrote:
>
> I keep getting several of these messages in kern.log
>
> Jan 10 19:27:42 controller-160 kernel: [175640.463342] openvswitch: netlink:
> Flow actions may not be safe on all matching packets.
>
> The packets being dropped are MPLS packets which need to be sent over a
> VXLAN tunnel.
>
> Specifically, "unknown destination" MPLS packets matching the multicast
> flood entry shown below
>
> cookie=0x8e9ca45d1a13c3ab, duration=12089.542s, table=22, n_packets=3724,
> n_bytes=364064, priority=1,dl_vlan=2
> actions=pop_vlan,set_field:0x203d->tun_id,output:2,output:4"
>
>
> In addition, this only happens when there are atleast two tunnels through
> which the packets need to be flooded out.
> The problem does not happen if the flow entry is as follows
>
> cookie=0x8e9ca45d1a13c3ab, duration=12089.542s, table=22, n_packets=3724,
> n_bytes=364064, priority=1,dl_vlan=2
> actions=pop_vlan,set_field:0x203d->tun_id,output:2"
>
> ovs_nla_copy_actions() is most probably returning an error.  Any pointers.

The combination of MPLS and tunnels is not supported since they use
the same fields internally in the kernel. You can see the check for
                if (eth_p_mpls(eth_type))
                        return -EINVAL;
in validate_set() under the case OVS_KEY_ATTR_TUNNEL.



More information about the discuss mailing list