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