From: Ben Pfaff Date: Mon, 18 Jul 2011 22:17:57 +0000 (-0700) Subject: ofproto-dpif: Ignore ECN bits in OFPAT_SET_NW_TOS actions. X-Git-Tag: v1.1.2~1 X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=commitdiff_plain;h=4927c517cc2373b4957e75328d6d347ba844d23d ofproto-dpif: Ignore ECN bits in OFPAT_SET_NW_TOS actions. OpenFlow 1.0 doesn't say that the ECN bits in OFPAT_SET_NW_TOS actions must be zero, but Open vSwitch ODP implementations do require that, so mask off those bits before storing the nw_tos into the flow. --- diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 737b86b50..8720ae7e8 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -2394,8 +2394,8 @@ do_xlate_actions(const union ofp_action *in, size_t n_in, case OFPAT_SET_NW_TOS: nl_msg_put_u8(ctx->odp_actions, ODP_ACTION_ATTR_SET_NW_TOS, - ia->nw_tos.nw_tos); - ctx->flow.nw_tos = ia->nw_tos.nw_tos; + ia->nw_tos.nw_tos & IP_DSCP_MASK); + ctx->flow.nw_tos = ia->nw_tos.nw_tos & IP_DSCP_MASK; break; case OFPAT_SET_TP_SRC: