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, }
/* Creates and returns a new dp_packet with an initial capacity of 'size' * bytes. */ struct dp_packet * dp_packet_new(size_t size) { struct dp_packet *b = xmalloc(sizeof *b); dp_packet_init(b, size); return b; }