From: Ben Pfaff Date: Mon, 5 Apr 2010 16:37:46 +0000 (-0700) Subject: ovs-ofctl: Add support for "resubmit" Nicira vendor extension. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3a2fe1f354988b92aa8b4fa8a7c3bac04f8693ab;p=openvswitch ovs-ofctl: Add support for "resubmit" Nicira vendor extension. CC: Paul Ingram --- diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index e7d7fc54..da2ecd93 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -391,6 +391,15 @@ Sets the IP ToS/DSCP field to \fItos\fR. Valid values are between 0 and 255, inclusive. Note that the two lower reserved bits are never modified. . +.IP \fBresubmit\fB:\fIport\fR +Re-searches the OpenFlow flow table with the \fBin_port\fR field +replaced by \fIport\fR and executes the actions found, if any, in +addition to any other actions in this flow entry. Recursive +\fBresubmit\fR actions are ignored. +.IP +This action is a Nicira vendor extension that, as of this writing, is +only known to be implemented by Open vSwitch. +. .RE . .IP diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c index 9a75969b..0c977c79 100644 --- a/utilities/ovs-ofctl.c +++ b/utilities/ovs-ofctl.c @@ -627,6 +627,12 @@ str_to_action(char *str, struct ofpbuf *b) struct ofp_action_nw_tos *nt; nt = put_action(b, sizeof *nt, OFPAT_SET_NW_TOS); nt->nw_tos = str_to_u32(arg); + } else if (!strcasecmp(act, "resubmit")) { + struct nx_action_resubmit *nar; + nar = put_action(b, sizeof *nar, OFPAT_VENDOR); + nar->vendor = htonl(NX_VENDOR_ID); + nar->subtype = htons(NXAST_RESUBMIT); + nar->in_port = htons(str_to_u32(arg)); } else if (!strcasecmp(act, "output")) { put_output_action(b, str_to_u32(arg)); } else if (!strcasecmp(act, "drop")) {