On Wed, Apr 16, 2014 at 2:09 AM, Andy Zhou <[email protected]> wrote: > Thanks for the review. I will send V2. > > On Tue, Apr 15, 2014 at 7:14 AM, Pravin Shelar <[email protected]> wrote: >> On Sat, Apr 12, 2014 at 3:30 AM, Andy Zhou <[email protected]> wrote: >>> Implements Linux kernel datapath hash action. Hash action computes >>> hash and stores it into current packet key. >>> >>> Signed-off-by: Andy Zhou <[email protected]> >>> >>> [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 [email protected] http://openvswitch.org/mailman/listinfo/dev
