for (i = 0; i < actions->n_actions; i++) {
const union odp_action *a = &actions->actions[i];
- __be16 mask;
switch (a->type) {
case ODPAT_CONTROLLER:
break;
case ODPAT_SET_DL_TCI:
- mask = a->dl_tci.mask;
- if (mask != htons(VLAN_VID_MASK) &&
- mask != htons(VLAN_PCP_MASK) &&
- mask != htons(VLAN_VID_MASK | VLAN_PCP_MASK))
- return -EINVAL;
- if (a->dl_tci.tci & ~mask)
+ if (a->dl_tci.tci & htons(VLAN_CFI_MASK))
return -EINVAL;
break;
if (compat_get_flow(&uf, ufp))
return -EFAULT;
- memset(uf.key.reserved, 0, sizeof uf.key.reserved);
flow_node = tbl_lookup(table, &uf.key, flow_hash(&uf.key), flow_cmp);
if (!flow_node)