[ovs-dev] [bond megaflow v4 3/4] dpif-netdev: user space datapath recirculation

Joe Stringer joe at wand.net.nz
Mon May 12 23:00:18 UTC 2014


On 25 March 2014 14:58, Andy Zhou <azhou at nicira.com> wrote:
>
>      /* Metadata. */
> +    if (present_attrs & (UINT64_C(1) << OVS_KEY_ATTR_RECIRC_ID)) {
> +        flow->recirc_id = nl_attr_get_u32(attrs[OVS_KEY_ATTR_RECIRC_ID]);
> +        expected_attrs |= UINT64_C(1) << OVS_KEY_ATTR_RECIRC_ID;
> +    } else if (is_mask) {
> +        /* Always exact match recirc_id when datapath does not sepcify
> it. */
> +        flow->recirc_id = UINT32_MAX;
> +    }
> +
> +    if (present_attrs & (UINT64_C(1) << OVS_KEY_ATTR_DP_HASH)) {
> +        flow->dp_hash = nl_attr_get_u32(attrs[OVS_KEY_ATTR_DP_HASH]);
> +        expected_attrs |= UINT64_C(1) << OVS_KEY_ATTR_DP_HASH;
> +    }
>      if (present_attrs & (UINT64_C(1) << OVS_KEY_ATTR_PRIORITY)) {
>          flow->skb_priority =
> nl_attr_get_u32(attrs[OVS_KEY_ATTR_PRIORITY]);
>          expected_attrs |= UINT64_C(1) << OVS_KEY_ATTR_PRIORITY;
>

What's the reasoning behind the "else if (is_mask)" case for recirc_id, and
why does this not apply to dp_hash?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20140513/dd71254e/attachment-0005.html>


More information about the dev mailing list