diff options
author | jkim <jkim@FreeBSD.org> | 2007-02-26 22:24:14 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2007-02-26 22:24:14 +0000 |
commit | 2bd7382fdc16aa04088cebb691546535c56c484b (patch) | |
tree | 8efb23bc3668968e694845b80771f494e428f138 /sys/net/bpf.h | |
parent | fdcdf27f8008b78cf159fbc5e87092ebded35ab3 (diff) | |
download | FreeBSD-src-2bd7382fdc16aa04088cebb691546535c56c484b.zip FreeBSD-src-2bd7382fdc16aa04088cebb691546535c56c484b.tar.gz |
Add three new ioctl(2) commands for bpf(4).
- BIOCGDIRECTION and BIOCSDIRECTION get or set the setting determining
whether incoming, outgoing, or all packets on the interface should be
returned by BPF. Set to BPF_D_IN to see only incoming packets on the
interface. Set to BPF_D_INOUT to see packets originating locally and
remotely on the interface. Set to BPF_D_OUT to see only outgoing
packets on the interface. This setting is initialized to BPF_D_INOUT
by default. BIOCGSEESENT and BIOCSSEESENT are obsoleted by these but
kept for backward compatibility.
- BIOCFEEDBACK sets packet feedback mode. This allows injected packets
to be fed back as input to the interface when output via the interface is
successful. When BPF_D_INOUT direction is set, injected outgoing packet
is not returned by BPF to avoid duplication. This flag is initialized to
zero by default.
Note that libpcap has been modified to support BPF_D_OUT direction for
pcap_setdirection(3) and PCAP_D_OUT direction is functional now.
Reviewed by: rwatson
Diffstat (limited to 'sys/net/bpf.h')
-rw-r--r-- | sys/net/bpf.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/net/bpf.h b/sys/net/bpf.h index 3bec119..871087b 100644 --- a/sys/net/bpf.h +++ b/sys/net/bpf.h @@ -109,12 +109,24 @@ struct bpf_version { #define BIOCSRSIG _IOW('B',115, u_int) #define BIOCGHDRCMPLT _IOR('B',116, u_int) #define BIOCSHDRCMPLT _IOW('B',117, u_int) -#define BIOCGSEESENT _IOR('B',118, u_int) -#define BIOCSSEESENT _IOW('B',119, u_int) +#define BIOCGDIRECTION _IOR('B',118, u_int) +#define BIOCSDIRECTION _IOW('B',119, u_int) #define BIOCSDLT _IOW('B',120, u_int) #define BIOCGDLTLIST _IOWR('B',121, struct bpf_dltlist) #define BIOCLOCK _IO('B', 122) #define BIOCSETWF _IOW('B',123, struct bpf_program) +#define BIOCFEEDBACK _IOW('B',124, u_int) + +/* Obsolete */ +#define BIOCGSEESENT BIOCGDIRECTION +#define BIOCSSEESENT BIOCSDIRECTION + +/* Packet directions */ +enum bpf_direction { + BPF_D_IN, /* See incoming packets */ + BPF_D_INOUT, /* See incoming and outgoing packets */ + BPF_D_OUT /* See outgoing packets */ +}; /* * Structure prepended to each packet. |