[ovs-dev] [tos 1/3] ofproto-dpif: Improperly updates tos and ttl fields.

Ethan Jackson ethan at nicira.com
Wed Nov 23 00:29:34 UTC 2011


ofproto-dpif failed to update the base flow's tos and ttl fields
when preparing for an output action.  This could cause redundant
updates of those fields in the datapath.  A future patch adds a
test which could have caught the issue for the tos bits.
---
 ofproto/ofproto-dpif.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index afdd085..68a87d5 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -3698,9 +3698,9 @@ commit_set_nw_action(const struct flow *flow, struct flow *base,
 
     ipv4_key.ipv4_src = base->nw_src = flow->nw_src;
     ipv4_key.ipv4_dst = base->nw_dst = flow->nw_dst;
+    ipv4_key.ipv4_tos = base->nw_tos = flow->nw_tos;
+    ipv4_key.ipv4_ttl = base->nw_ttl = flow->nw_ttl;
     ipv4_key.ipv4_proto = base->nw_proto;
-    ipv4_key.ipv4_tos = flow->nw_tos;
-    ipv4_key.ipv4_ttl = flow->nw_ttl;
     ipv4_key.ipv4_frag = (base->nw_frag == 0 ? OVS_FRAG_TYPE_NONE
                           : base->nw_frag == FLOW_NW_FRAG_ANY
                           ? OVS_FRAG_TYPE_FIRST : OVS_FRAG_TYPE_LATER);
-- 
1.7.7.1




More information about the dev mailing list