On Wed, Apr 16, 2014 at 2:09 AM, Andy Zhou <az...@nicira.com> wrote:
> Thanks for the review. I will send V2.
>
> On Tue, Apr 15, 2014 at 7:14 AM, Pravin Shelar <pshe...@nicira.com> wrote:
>> On Sat, Apr 12, 2014 at 3:30 AM, Andy Zhou <az...@nicira.com> wrote:
>>> Implements Linux kernel datapath hash action. Hash action computes
>>> hash and stores it into current packet key.
>>>
>>> Signed-off-by: Andy Zhou <az...@nicira.com>
>>>
>>>         [OVS_KEY_ATTR_ARP] = sizeof(struct ovs_key_arp),
>>>         [OVS_KEY_ATTR_ND] = sizeof(struct ovs_key_nd),
>>> +       [OVS_KEY_ATTR_DP_HASH] = sizeof(u32),
>>>         [OVS_KEY_ATTR_TUNNEL] = -1,
>>>  };
>>>
>>> @@ -455,6 +461,19 @@ static int ipv4_tun_to_nlattr(struct sk_buff *skb,
>>>  static int metadata_from_nlattrs(struct sw_flow_match *match,  u64 *attrs,
>>>                                  const struct nlattr **a, bool is_mask)
>>>  {
>>> +
>>> +       if (*attrs & (1ULL << OVS_KEY_ATTR_DP_HASH)) {
>>> +               u32 hash_val = nla_get_u32(a[OVS_KEY_ATTR_DP_HASH]);
>>> +
>>> +               if (!is_mask && !hash_val) {
>>> +                       OVS_NLERR("Hash value can not be zero\n");
>>> +                       return -EINVAL;
>>> +               }
>>> +
>>> +               SW_FLOW_KEY_PUT(match, dp_hash, hash_val, is_mask);
>>> +               *attrs &= ~(1ULL << OVS_KEY_ATTR_DP_HASH);
>>> +       }
>> Is hash allowed to be partially masked?
> Yes.

How can arbitrary hash value which is outside control of vswitchd can
be partially masked. I think we can either exact match it or
completely wildcard. Am I missing something?
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to