X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=ofproto%2Ffail-open.c;h=38e775acefd70a8170f1737542192e7669d63743;hb=fff1b9c0e004f9cf516c40805d923cb444276933;hp=75c7d1c8075baaaee3262ce1733b2b8e45102141;hpb=3fbbcba77615e6f14d0ee4f8d40b9b4838c2ac20;p=cascardo%2Fovs.git diff --git a/ofproto/fail-open.c b/ofproto/fail-open.c index 75c7d1c80..38e775ace 100644 --- a/ofproto/fail-open.c +++ b/ofproto/fail-open.c @@ -23,12 +23,13 @@ #include "flow.h" #include "mac-learning.h" #include "odp-util.h" +#include "ofpbuf.h" #include "ofp-actions.h" #include "ofp-util.h" -#include "ofpbuf.h" #include "ofproto.h" #include "ofproto-provider.h" #include "pktbuf.h" +#include "dp-packet.h" #include "poll-loop.h" #include "rconn.h" #include "timeval.h" @@ -118,23 +119,24 @@ static void send_bogus_packet_ins(struct fail_open *fo) { struct ofproto_packet_in pin; - uint8_t mac[ETH_ADDR_LEN]; - struct ofpbuf b; + struct eth_addr mac; + struct dp_packet b; - ofpbuf_init(&b, 128); - eth_addr_nicira_random(mac); + dp_packet_init(&b, 128); + eth_addr_nicira_random(&mac); compose_rarp(&b, mac); memset(&pin, 0, sizeof pin); - pin.up.packet = ofpbuf_data(&b); - pin.up.packet_len = ofpbuf_size(&b); + pin.up.packet = dp_packet_data(&b); + pin.up.packet_len = dp_packet_size(&b); pin.up.reason = OFPR_NO_MATCH; - pin.up.fmd.in_port = OFPP_LOCAL; - pin.send_len = ofpbuf_size(&b); + match_init_catchall(&pin.up.flow_metadata); + match_set_in_port(&pin.up.flow_metadata, OFPP_LOCAL); + pin.send_len = dp_packet_size(&b); pin.miss_type = OFPROTO_PACKET_IN_NO_MISS; connmgr_send_packet_in(fo->connmgr, &pin); - ofpbuf_uninit(&b); + dp_packet_uninit(&b); } /* Enter fail-open mode if we should be in it. */ @@ -231,7 +233,7 @@ fail_open_flushed(struct fail_open *fo) match_init_catchall(&match); ofproto_add_flow(fo->ofproto, &match, FAIL_OPEN_PRIORITY, - ofpbuf_data(&ofpacts), ofpbuf_size(&ofpacts)); + ofpacts.data, ofpacts.size); ofpbuf_uninit(&ofpacts); }