From: rishibamba <[email protected]> This patch enhances the diff-flows & replace-flows CLI that takes into account the addition of importance parameter in a rule as per the OpenFlow Specs 1.4.
Signed-off-by: Rishi Bamba <[email protected]> --- utilities/ovs-ofctl.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c index f0ea15f..f838752 100644 --- a/utilities/ovs-ofctl.c +++ b/utilities/ovs-ofctl.c @@ -2259,6 +2259,7 @@ struct fte_version { ovs_be64 cookie; uint16_t idle_timeout; uint16_t hard_timeout; + uint16_t importance; uint16_t flags; struct ofpact *ofpacts; size_t ofpacts_len; @@ -2284,6 +2285,7 @@ fte_version_equals(const struct fte_version *a, const struct fte_version *b) return (a->cookie == b->cookie && a->idle_timeout == b->idle_timeout && a->hard_timeout == b->hard_timeout + && a->importance == b->importance && ofpacts_equal(a->ofpacts, a->ofpacts_len, b->ofpacts, b->ofpacts_len)); } @@ -2310,6 +2312,9 @@ fte_version_format(const struct fte *fte, int index, struct ds *s) if (version->hard_timeout != OFP_FLOW_PERMANENT) { ds_put_format(s, " hard_timeout=%"PRIu16, version->hard_timeout); } + if (version->importance != OFP_FLOW_PERMANENT) { + ds_put_format(s, " importance=%"PRIu16, version->importance); + } ds_put_cstr(s, " actions="); ofpacts_format(version->ofpacts, version->ofpacts_len, s); @@ -2407,6 +2412,7 @@ read_flows_from_file(const char *filename, struct classifier *cls, int index) version->cookie = fm.new_cookie; version->idle_timeout = fm.idle_timeout; version->hard_timeout = fm.hard_timeout; + version->importance = fm.importance; version->flags = fm.flags & (OFPUTIL_FF_SEND_FLOW_REM | OFPUTIL_FF_EMERG); version->ofpacts = fm.ofpacts; @@ -2509,6 +2515,7 @@ read_flows_from_switch(struct vconn *vconn, version->cookie = fs.cookie; version->idle_timeout = fs.idle_timeout; version->hard_timeout = fs.hard_timeout; + version->importance = fs.importance; version->flags = 0; version->ofpacts_len = fs.ofpacts_len; version->ofpacts = xmemdup(fs.ofpacts, fs.ofpacts_len); @@ -2536,6 +2543,7 @@ fte_make_flow_mod(const struct fte *fte, int index, uint16_t command, fm.command = command; fm.idle_timeout = version->idle_timeout; fm.hard_timeout = version->hard_timeout; + fm.importance = version->importance; fm.buffer_id = UINT32_MAX; fm.out_port = OFPP_ANY; fm.flags = version->flags; -- 2.1.1 =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
