Lines Matching defs:interface

3 /* BPF socket interface code, originally contributed by Archie Cobbs. */
63 * Called by get_interface_list for each interface that's discovered.
64 * Opens a packet filter for each interface and adds it to the select
86 /* Set the BPF device to point at this interface. */
88 error("Can't attach interface %s to bpf device %s: %m",
142 /* Open a BPF device and hang it on this interface... */
225 /* Open a BPF device and hang it on this interface... */
309 send_packet_priv(struct interface_info *interface, struct imsg_hdr *hdr, int fd)
334 assemble_hw_header(interface, buf, &bufp);
345 result = writev(interface->wfdesc, iov, 2);
359 result = sendmsg(interface->ufdesc, &msg, 0);
367 receive_packet(struct interface_info *interface, unsigned char *buf,
377 * interface. Sigh.
385 if (interface->rbuf_offset >= interface->rbuf_len) {
386 length = read(interface->rfdesc, interface->rbuf,
387 interface->rbuf_max);
390 interface->rbuf_offset = 0;
391 interface->rbuf_len = length;
399 if (interface->rbuf_len - interface->rbuf_offset <
401 interface->rbuf_offset = interface->rbuf_len;
406 memcpy(&hdr, &interface->rbuf[interface->rbuf_offset],
413 if (interface->rbuf_offset + hdr.bh_hdrlen + hdr.bh_caplen >
414 interface->rbuf_len) {
415 interface->rbuf_offset = interface->rbuf_len;
420 interface->rbuf_offset += hdr.bh_hdrlen;
428 interface->rbuf_offset =
429 BPF_WORDALIGN(interface->rbuf_offset +
435 offset = decode_hw_header(interface->rbuf,
436 interface->rbuf_offset, hfrom);
444 interface->rbuf_offset =
445 BPF_WORDALIGN(interface->rbuf_offset +
449 interface->rbuf_offset += offset;
453 offset = decode_udp_ip_header(interface->rbuf,
454 interface->rbuf_offset, from, NULL, hdr.bh_caplen);
458 interface->rbuf_offset =
459 BPF_WORDALIGN(interface->rbuf_offset +
463 interface->rbuf_offset += offset;
472 interface->rbuf_offset =
473 BPF_WORDALIGN(interface->rbuf_offset +
479 memcpy(buf, interface->rbuf + interface->rbuf_offset,
481 interface->rbuf_offset =
482 BPF_WORDALIGN(interface->rbuf_offset +