X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fofproto-dpif-xlate.c;h=75fd84bc002645ffd1af8cb252f3cd996ae310bc;hb=04f01c24b522f893b663a34126beb6775176e536;hp=ed9ca7cf47ca7013e1f2bea2b20667a252b7d3cb;hpb=ee1afdd55567263f8a10f9bff3e5ae6fc8e42fdb;p=sliver-openvswitch.git diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index ed9ca7cf4..75fd84bc0 100644 --- a/ofproto/ofproto-dpif-xlate.c +++ b/ofproto/ofproto-dpif-xlate.c @@ -1856,6 +1856,8 @@ execute_controller_action(struct xlate_ctx *ctx, int len, pin->controller_id = controller_id; pin->send_len = len; + pin->generated_by_table_miss = (ctx->rule + && rule_dpif_is_table_miss(ctx->rule)); ofproto_dpif_send_packet_in(ctx->xbridge->ofproto, pin); ofpbuf_delete(packet); } @@ -2366,12 +2368,11 @@ do_xlate_actions(const struct ofpact *ofpacts, size_t ofpacts_len, } break; - case OFPACT_SET_IPV4_DSCP: - /* OpenFlow 1.0 only supports IPv4. */ - if (flow->dl_type == htons(ETH_TYPE_IP)) { + case OFPACT_SET_IP_DSCP: + if (is_ip_any(flow)) { wc->masks.nw_tos |= IP_DSCP_MASK; flow->nw_tos &= ~IP_DSCP_MASK; - flow->nw_tos |= ofpact_get_SET_IPV4_DSCP(a)->dscp; + flow->nw_tos |= ofpact_get_SET_IP_DSCP(a)->dscp; } break;