Lines Matching defs:interface

3 /* BPF socket interface code, originally contributed by Archie Cobbs. */
61 * Called by get_interface_list for each interface that's discovered.
62 * Opens a packet filter for each interface and adds it to the select
84 /* Set the BPF device to point at this interface. */
86 error("Can't attach interface %s to bpf device %s: %m",
140 /* Open a BPF device and hang it on this interface... */
223 /* Open a BPF device and hang it on this interface... */
307 send_packet_priv(struct interface_info *interface, struct imsg_hdr *hdr, int fd)
332 assemble_hw_header(interface, buf, &bufp);
343 result = writev(interface->wfdesc, iov, 2);
357 result = sendmsg(interface->ufdesc, &msg, 0);
365 receive_packet(struct interface_info *interface, unsigned char *buf,
375 * interface. Sigh.
383 if (interface->rbuf_offset >= interface->rbuf_len) {
384 length = read(interface->rfdesc, interface->rbuf,
385 interface->rbuf_max);
388 interface->rbuf_offset = 0;
389 interface->rbuf_len = length;
397 if (interface->rbuf_len - interface->rbuf_offset <
399 interface->rbuf_offset = interface->rbuf_len;
404 memcpy(&hdr, &interface->rbuf[interface->rbuf_offset],
411 if (interface->rbuf_offset + hdr.bh_hdrlen + hdr.bh_caplen >
412 interface->rbuf_len) {
413 interface->rbuf_offset = interface->rbuf_len;
418 interface->rbuf_offset += hdr.bh_hdrlen;
426 interface->rbuf_offset =
427 BPF_WORDALIGN(interface->rbuf_offset +
433 offset = decode_hw_header(interface->rbuf,
434 interface->rbuf_offset, hfrom);
442 interface->rbuf_offset =
443 BPF_WORDALIGN(interface->rbuf_offset +
447 interface->rbuf_offset += offset;
451 offset = decode_udp_ip_header(interface->rbuf,
452 interface->rbuf_offset, from, NULL, hdr.bh_caplen);
456 interface->rbuf_offset =
457 BPF_WORDALIGN(interface->rbuf_offset +
461 interface->rbuf_offset += offset;
470 interface->rbuf_offset =
471 BPF_WORDALIGN(interface->rbuf_offset +
477 memcpy(buf, interface->rbuf + interface->rbuf_offset,
479 interface->rbuf_offset =
480 BPF_WORDALIGN(interface->rbuf_offset +