openvswitch: Add meter action support
Implements OVS kernel meter action support. Signed-off-by: Andy Zhou <azhou@ovn.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
96fbc13d7e
commit
cd8a6c3369
@@ -90,6 +90,7 @@ static bool actions_may_change_flow(const struct nlattr *actions)
|
||||
case OVS_ACTION_ATTR_SAMPLE:
|
||||
case OVS_ACTION_ATTR_SET:
|
||||
case OVS_ACTION_ATTR_SET_MASKED:
|
||||
case OVS_ACTION_ATTR_METER:
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
@@ -2844,6 +2845,7 @@ static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
|
||||
[OVS_ACTION_ATTR_POP_ETH] = 0,
|
||||
[OVS_ACTION_ATTR_PUSH_NSH] = (u32)-1,
|
||||
[OVS_ACTION_ATTR_POP_NSH] = 0,
|
||||
[OVS_ACTION_ATTR_METER] = sizeof(u32),
|
||||
};
|
||||
const struct ovs_action_push_vlan *vlan;
|
||||
int type = nla_type(a);
|
||||
@@ -3029,6 +3031,10 @@ static int __ovs_nla_copy_actions(struct net *net, const struct nlattr *attr,
|
||||
break;
|
||||
}
|
||||
|
||||
case OVS_ACTION_ATTR_METER:
|
||||
/* Non-existent meters are simply ignored. */
|
||||
break;
|
||||
|
||||
default:
|
||||
OVS_NLERR(log, "Unknown Action type %d", type);
|
||||
return -EINVAL;
|
||||
|
Reference in New Issue
Block a user