summaryrefslogtreecommitdiff
path: root/include/openflow/nicira-ext.h
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2013-05-06 15:38:36 -0700
committerBen Pfaff <blp@nicira.com>2013-05-08 10:22:43 -0700
commit557323cd11f0b02c0dc755f65699895df02781de (patch)
tree33c308698d33fa9de4e751c4ace385a3be0cfee2 /include/openflow/nicira-ext.h
parent94aa0d197d3898264ed9761dd5a2089fed40fca3 (diff)
downloadopenvswitch-557323cd11f0b02c0dc755f65699895df02781de.tar.gz
meta-flow: Make 'in_port' field writable.
OpenFlow says that an "output" action to a flow's input port is ordinarily dropped, unless the flow explicitly outputs to OFPP_IN_PORT. We've occasionally been asked to implement some way to avoid this behavior in cases where it is not easily known in advance whether a given port is the input port (so that OFPP_IN_PORT is not easy to use). This commit implements such a feature. With this commit, one may write: actions=load:0->NXM_OF_IN_PORT[],output:123 which will output to port 123 regardless of whether it is the input port. If the input port is important, then one may save and restore it on the stack: actions=push:NXM_OF_IN_PORT[],load:0->NXM_OF_IN_PORT[],output:123, pop:NXM_OF_IN_PORT[] (Sometimes I am asked whether "resubmit" changes the in_port and would therefore interact badly with this feature. It does not. "resubmit" only (optionally) changes the in_port used for the resubmit's flow table lookup. It does not otherwise have any effect on in_port.) Bug #14091. CC: Jarno Rajahalme <jarno.rajahalme@nsn.com> CC: Ronghua Zhang <rzhang@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'include/openflow/nicira-ext.h')
-rw-r--r--include/openflow/nicira-ext.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/openflow/nicira-ext.h b/include/openflow/nicira-ext.h
index c80ff9560..8c9fab1e1 100644
--- a/include/openflow/nicira-ext.h
+++ b/include/openflow/nicira-ext.h
@@ -493,6 +493,8 @@ OFP_ASSERT(sizeof(struct nx_action_pop_queue) == 16);
* Modifying any of the above fields changes the corresponding packet
* header.
*
+ * - NXM_OF_IN_PORT
+ *
* - NXM_NX_REG(idx) for idx in the switch's accepted range.
*
* - NXM_OF_VLAN_TCI. Modifying this field's value has side effects on the