X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Flearning-switch.c;h=56209909fe57ddadb0d8fa24fe8296997a04f1d5;hb=c0621c394f09882b7d210102d0389c60b353d630;hp=b133637d563fb6ce6be8cb439dbbf64208351b3f;hpb=cbd577d661d99d37785d847ba8f15e5f4b58db87;p=sliver-openvswitch.git diff --git a/lib/learning-switch.c b/lib/learning-switch.c index b133637d5..56209909f 100644 --- a/lib/learning-switch.c +++ b/lib/learning-switch.c @@ -369,6 +369,7 @@ lswitch_process_packet(struct lswitch *sw, const struct ofpbuf *msg) case OFPTYPE_PORT_DESC_STATS_REPLY: case OFPTYPE_ROLE_REQUEST: case OFPTYPE_ROLE_REPLY: + case OFPTYPE_ROLE_STATUS: case OFPTYPE_SET_FLOW_FORMAT: case OFPTYPE_FLOW_MOD_TABLE_ID: case OFPTYPE_SET_PACKET_IN_FORMAT: @@ -555,7 +556,6 @@ process_packet_in(struct lswitch *sw, const struct ofp_header *oh) struct ofpbuf pkt; struct flow flow; - union flow_in_port in_port_; error = ofputil_decode_packet_in(&pi, oh); if (error) { @@ -573,8 +573,8 @@ process_packet_in(struct lswitch *sw, const struct ofp_header *oh) /* Extract flow data from 'opi' into 'flow'. */ ofpbuf_use_const(&pkt, pi.packet, pi.packet_len); - in_port_.ofp_port = pi.fmd.in_port; - flow_extract(&pkt, 0, 0, NULL, &in_port_, &flow); + flow_extract(&pkt, NULL, &flow); + flow.in_port.ofp_port = pi.fmd.in_port; flow.tunnel.tun_id = pi.fmd.tun_id; /* Choose output port. */