[ovs-dev] [PATCH] datapath: Fix wrong push/pop ethernet validation

Gregory Rose gvrose8192 at gmail.com
Fri Nov 2 15:31:06 UTC 2018


On 11/2/2018 4:45 AM, Jaime Caamaño Ruiz wrote:
> Upstream commit:
>      commit 46ebe2834ba5b541f28ee72e556a3fed42c47570
>      Author: Jaime Caamaño Ruiz <jcaamano at suse.com>
>      Date:   Wed Oct 31 18:52:03 2018 +0100
>
>      openvswitch: Fix push/pop ethernet validation
>
>      When there are both pop and push ethernet header actions among the
>      actions to be applied to a packet, an unexpected EINVAL (Invalid
>      argument) error is obtained. This is due to mac_proto not being reset
>      correctly when those actions are validated.
>
>      Reported-at:
>      https://mail.openvswitch.org/pipermail/ovs-discuss/2018-October/047554.html
>      Fixes: 91820da6ae85 ("openvswitch: add Ethernet push and pop actions")
>      Signed-off-by: Jaime Caamaño Ruiz <jcaamano at suse.com>
>
> Reported-at:
> https://mail.openvswitch.org/pipermail/ovs-discuss/2018-October/047554.html
> Fixes: 6fcecb85ab ("datapath: add Ethernet push and pop actions")
> Signed-off-by: Jaime Caamaño Ruiz <jcaamano at suse.com>
> ---
>   datapath/flow_netlink.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c
> index c3f1baa05..ee0c18422 100644
> --- a/datapath/flow_netlink.c
> +++ b/datapath/flow_netlink.c
> @@ -2998,7 +2998,7 @@ static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
>   			 * is already present */
>   			if (mac_proto != MAC_PROTO_NONE)
>   				return -EINVAL;
> -			mac_proto = MAC_PROTO_NONE;
> +			mac_proto = MAC_PROTO_ETHERNET;
>   			break;
>   
>   		case OVS_ACTION_ATTR_POP_ETH:
> @@ -3006,7 +3006,7 @@ static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
>   				return -EINVAL;
>   			if (vlan_tci & htons(VLAN_TAG_PRESENT))
>   				return -EINVAL;
> -			mac_proto = MAC_PROTO_ETHERNET;
> +			mac_proto = MAC_PROTO_NONE;
>   			break;
>   
>   		case OVS_ACTION_ATTR_PUSH_NSH:

Thanks for all your work on this Jaime!

Tested-by: Greg Rose <gvrose8192 at gmail.com>
Reviewed-by: Greg Rose <gvrose8192 at gmail.com>



More information about the dev mailing list