diff options
author | Ben Pfaff <blp@ovn.org> | 2016-07-13 15:53:20 -0700 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2016-07-14 09:15:29 -0700 |
commit | 0f2aaee939fb9d10c6d985687edb20c8847f9143 (patch) | |
tree | 5a2633b334935be6e9e2fb114cf51844a1f6b4b3 /lib | |
parent | ae3b45b643f0ae02823e7e8210d6e75eab5b25e8 (diff) | |
download | openvswitch-0f2aaee939fb9d10c6d985687edb20c8847f9143.tar.gz |
ofp-actions: Translate OF1.0 "enqueue" actions for OF1.1+.
Previously, the OF1.0 "enqueue" action was simply omitted when actions
were translated into OpenFlow 1.1 or later, which do not have a similar
action. This commit translates this action into an equivalent sequence
of actions.
Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Jarno Rajahalme <jarno@ovn.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ofp-actions.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c index 0aafe0a06..4ac284f9f 100644 --- a/lib/ofp-actions.c +++ b/lib/ofp-actions.c @@ -990,7 +990,13 @@ encode_ENQUEUE(const struct ofpact_enqueue *enqueue, oae->port = htons(ofp_to_u16(enqueue->port)); oae->queue_id = htonl(enqueue->queue); } else { - /* XXX */ + put_OFPAT_SET_QUEUE(out, ofp_version, enqueue->queue); + + struct ofp11_action_output *oao = put_OFPAT11_OUTPUT(out); + oao->port = ofputil_port_to_ofp11(enqueue->port); + oao->max_len = OVS_BE16_MAX; + + put_NXAST_POP_QUEUE(out); } } |