[ovs-dev] [PATCHv3] datapath: add skb mark matching and set action

Jesse Gross jesse at nicira.com
Mon Nov 19 18:56:39 UTC 2012


On Sat, Nov 17, 2012 at 11:28 AM, Ansis Atteka <aatteka at nicira.com> wrote:
> diff --git a/lib/flow.c b/lib/flow.c
> index 7084079..816d561 100644
> --- a/lib/flow.c
> +++ b/lib/flow.c
> @@ -352,6 +352,7 @@ flow_extract(struct ofpbuf *packet, uint32_t skb_priority,
>      }
>      flow->in_port = ofp_in_port;
>      flow->skb_priority = skb_priority;
> +    flow->skb_mark = 0;

I think we need to actually pass in this value so that we can
initialize it based on what the kernel gave us.  Otherwise, there is
nothing to translate between the conversion from Netlink and actual
userspace flow.  We're starting to accumulate several fields in this
category so we might want to group them together in a struct if it
makes sense.

> diff --git a/lib/odp-util.h b/lib/odp-util.h
> index 5cdb204..0214a8b 100644
> --- a/lib/odp-util.h
> +++ b/lib/odp-util.h
> @@ -56,6 +56,7 @@ int odp_actions_from_string(const char *, const struct simap *port_names,
>   *  OVS_KEY_ATTR_TUN_ID        8    --     4     12
>   *  OVS_KEY_ATTR_IPV4_TUNNEL  24    --     4     28
>   *  OVS_KEY_ATTR_IN_PORT       4    --     4      8
> + *  OVS_KEY_ATTR_SKB_MARK      4    --     4      8
>   *  OVS_KEY_ATTR_ETHERNET     12    --     4     16
>   *  OVS_KEY_ATTR_ETHERTYPE     2     2     4      8  (outer VLAN ethertype)
>   *  OVS_KEY_ATTR_8021Q         4    --     4      8
> @@ -65,12 +66,12 @@ int odp_actions_from_string(const char *, const struct simap *port_names,
>   *  OVS_KEY_ATTR_ICMPV6        2     2     4      8
>   *  OVS_KEY_ATTR_ND           28    --     4     32
>   *  -------------------------------------------------
> - *  total                                       184
> + *  total                                       192
>   *
>   * We include some slack space in case the calculation isn't quite right or we
>   * add another field and forget to adjust this value.
>   */
> -#define ODPUTIL_FLOW_KEY_BYTES 200
> +#define ODPUTIL_FLOW_KEY_BYTES 208

At this point, let's just bump this up a little more since we're
starting to get close - maybe 256.



More information about the dev mailing list