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

Joe Stringer joe at wand.net.nz
Wed May 14 02:39:09 UTC 2014


I suppose so. Does this affect finding rules when there's a new userspace
and older kernel?

On 13 May 2014 16:39, Andy Zhou <azhou at nicira.com> wrote:

> Their is no use case of partial mask in the user space.
>
> Now that both user space and kernel data path always export recirc_id
> and dp_hash, may be we can drop the else if (is_mask) case
> for recirc_id?
>
> On Mon, May 12, 2014 at 4:00 PM, Joe Stringer <joe at wand.net.nz> wrote:
> > 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/20140514/1e8696e3/attachment-0005.html>


More information about the dev mailing list