mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 06:15:47 +00:00
Add Nicira extension for modifying queue without transmitting
The OpenFlow OFPAT_ENQUEUE action sets a queue id and outputs the packet in one shot. There are times in which the queue should be set, but the output port is not yet known. This commit adds the NXAST_SET_QUEUE and NXAST_POP_QUEUE Nicira extension actions to modify the queue configuration without requiring a port argument. CC: Jeremy Stribling <strib@nicira.com> CC: Keith Amidon <keith@nicira.com>
This commit is contained in:
@@ -267,6 +267,17 @@ str_to_action(char *str, struct ofpbuf *b)
|
||||
nah = put_action(b, sizeof *nah, OFPAT_VENDOR);
|
||||
nah->vendor = htonl(NX_VENDOR_ID);
|
||||
nah->subtype = htons(NXAST_DROP_SPOOFED_ARP);
|
||||
} else if (!strcasecmp(act, "set_queue")) {
|
||||
struct nx_action_set_queue *nasq;
|
||||
nasq = put_action(b, sizeof *nasq, OFPAT_VENDOR);
|
||||
nasq->vendor = htonl(NX_VENDOR_ID);
|
||||
nasq->subtype = htons(NXAST_SET_QUEUE);
|
||||
nasq->queue_id = htonl(str_to_u32(arg));
|
||||
} else if (!strcasecmp(act, "pop_queue")) {
|
||||
struct nx_action_header *nah;
|
||||
nah = put_action(b, sizeof *nah, OFPAT_VENDOR);
|
||||
nah->vendor = htonl(NX_VENDOR_ID);
|
||||
nah->subtype = htons(NXAST_POP_QUEUE);
|
||||
} else if (!strcasecmp(act, "output")) {
|
||||
put_output_action(b, str_to_u32(arg));
|
||||
} else if (!strcasecmp(act, "enqueue")) {
|
||||
|
Reference in New Issue
Block a user