Lines Matching refs:interface

138 	info -> wfdesc = if_register_bpf (info, interface);
352 ssize_t send_packet (interface, packet, raw, len, from, to, hto) in send_packet() argument
353 struct interface_info *interface; in send_packet()
367 if (!strcmp (interface -> name, "fallback"))
368 return send_fallback (interface, packet, raw,
371 if (hto == NULL && interface->anycast_mac_addr.hlen)
372 hto = &interface->anycast_mac_addr;
375 assemble_hw_header (interface, (unsigned char *)hw, &hbufp, hto);
376 assemble_udp_ip_header (interface,
389 result = writev(interface -> wfdesc, iov, 3);
397 ssize_t receive_packet (interface, buf, len, from, hfrom) in receive_packet() argument
398 struct interface_info *interface; in receive_packet()
418 if (interface->rbuf_offset >= interface->rbuf_len) {
419 length = read(interface->rfdesc, interface->rbuf,
420 (size_t)interface->rbuf_max);
428 ((omapi_object_t *)interface, NULL);
432 interface->rbuf_offset = 0;
433 interface->rbuf_len = BPF_WORDALIGN(length);
439 if (interface->rbuf_len -
440 interface->rbuf_offset < sizeof hdr) {
441 interface->rbuf_offset = interface->rbuf_len;
446 memcpy(&hdr, &interface->rbuf[interface->rbuf_offset],
451 if (interface->rbuf_offset +
452 hdr.bh_hdrlen + hdr.bh_caplen > interface->rbuf_len) {
453 interface->rbuf_offset = interface->rbuf_len;
461 interface->rbuf_offset =
462 BPF_WORDALIGN(interface->rbuf_offset +
468 interface->rbuf_offset += hdr.bh_hdrlen;
471 offset = decode_hw_header(interface, interface->rbuf,
472 interface->rbuf_offset, hfrom);
478 interface->rbuf_offset =
479 BPF_WORDALIGN(interface->rbuf_offset +
483 interface->rbuf_offset += offset;
487 offset = decode_udp_ip_header(interface, interface->rbuf,
488 interface->rbuf_offset,
493 interface->rbuf_offset =
494 BPF_WORDALIGN(interface->rbuf_offset +
498 interface->rbuf_offset = interface->rbuf_offset + offset;
505 interface->rbuf_offset =
506 BPF_WORDALIGN(interface->rbuf_offset +
512 memcpy(buf, interface->rbuf + interface->rbuf_offset, paylen);
513 interface->rbuf_offset =
514 BPF_WORDALIGN(interface->rbuf_offset + hdr.bh_caplen);
516 } while (interface->rbuf_offset < interface->rbuf_len);