diff options
author | Daniele Di Proietto <diproiettod@vmware.com> | 2017-03-10 15:44:40 -0800 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2017-03-16 13:42:26 -0700 |
commit | 4c71600d2256641b927e04b75e95751355e799f8 (patch) | |
tree | 0f8393fa951fa4076dfe195864cc67638e64730c /utilities | |
parent | 2ce5f3114b4c2054b9071e5b139a0a33f50986c3 (diff) | |
download | openvswitch-4c71600d2256641b927e04b75e95751355e799f8.tar.gz |
ofp-actions: Add limit to learn action.
This commit adds a new feature to the learn actions: the possibility to
limit the number of learned flows.
To be compatible with users of the old learn action, a new structure is
introduced as well as a new OpenFlow raw action number.
There's a small corner case when we have to delete the ukey. This
happens when:
* The learned rule has expired (or has been deleted).
* The ukey that learned the rule is still in the datapath.
* No packets hit the datapath flow recently.
In this case we cannot relearn the rule (because there are no new
packets), and the actions might depend on the learn execution, so the
only option is to delete the ukey. I don't think this has big
performance implications since it's done only for ukey with no traffic.
We could also slowpath it, but that will cause an action upcall and the
correct datapath actions will be installed later by a revalidator. If
we delete the ukey, the next upcall will be a miss upcall and that will
immediatedly install the correct datapath flow.
Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'utilities')
-rw-r--r-- | utilities/ovs-ofctl.8.in | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index 14db85e73..8a3ba0279 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -1457,6 +1457,22 @@ the specified table with the specified cookie. .IP This flag was added in Open vSwitch 2.4. . +.IP \fBlimit=\fInumber\fR +If the number of flows in table \fBtable\fR with cookie id \fBcookie\fR exceeds +\fInumber\fR, a new flow will not be learned by this action. By default +there's no limit. +. +.IP +This flag was added in Open vSwitch 2.8. +. +.IP \fBresult_dst=\fIfield\fB[\fIbit\fB]\fR +If learning failed (because the number of flows exceeds \fBlimit\fR), +the action sets \fIfield\fB[\fIbit\fB]\fR to 0, otherwise it will be set to 1. +\fIfield\fB[\fIbit\fB]\fR must be a single bit. +. +.IP +This flag was added in Open vSwitch 2.8. +. .IP \fIfield\fB=\fIvalue\fR .IQ \fIfield\fB[\fIstart\fB..\fIend\fB]=\fIsrc\fB[\fIstart\fB..\fIend\fB]\fR .IQ \fIfield\fB[\fIstart\fB..\fIend\fB]\fR |