static void send_bogus_packet_ins(struct fail_open *fo) { struct eth_addr mac; struct dp_packet b; dp_packet_init(&b, 128); eth_addr_nicira_random(&mac); compose_rarp(&b, mac); struct ofproto_async_msg am = { .oam = OAM_PACKET_IN, .pin = { .up = { .public = { .packet = dp_packet_data(&b), .packet_len = dp_packet_size(&b), .flow_metadata = MATCH_CATCHALL_INITIALIZER, .flow_metadata.flow.in_port.ofp_port = OFPP_LOCAL, .flow_metadata.wc.masks.in_port.ofp_port = u16_to_ofp(UINT16_MAX), .reason = OFPR_NO_MATCH, .cookie = OVS_BE64_MAX, }, }, .max_len = UINT16_MAX, }
static void send_bogus_packet_ins(struct fail_open *fo) { struct ofputil_packet_in pin; uint8_t mac[ETH_ADDR_LEN]; struct ofpbuf b; ofpbuf_init(&b, 128); eth_addr_nicira_random(mac); compose_rarp(&b, mac); memset(&pin, 0, sizeof pin); pin.packet = b.data; pin.packet_len = b.size; pin.reason = OFPR_NO_MATCH; pin.send_len = b.size; pin.fmd.in_port = OFPP_LOCAL; connmgr_send_packet_in(fo->connmgr, &pin); ofpbuf_uninit(&b); }
static void send_bogus_packet_ins(struct fail_open *fo) { struct ofproto_packet_in pin; uint8_t mac[ETH_ADDR_LEN]; struct ofpbuf b; ofpbuf_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.reason = OFPR_NO_MATCH; pin.up.fmd.in_port = OFPP_LOCAL; pin.send_len = ofpbuf_size(&b); pin.miss_type = OFPROTO_PACKET_IN_NO_MISS; connmgr_send_packet_in(fo->connmgr, &pin); ofpbuf_uninit(&b); }