freebsd-src/sys
Christian S.J. Peron 6f75ef188b Slightly re-worked bpf(4) code associated with bridging: if we have a
destination interface as a member of our bridge or this is a unicast packet,
push it through the bpf(4) machinery.

For broadcast or multicast packets, don't bother with the bpf(4) because it will
be re-injected into ether_input. We do this before we pass the packets through
the pfil(9) framework, as it is possible that pfil(9) will drop the packet or
possibly modify it, making it very difficult to debug firewall issues on the
bridge.

Further, implemented IFF_MONITOR for bridge interfaces. This does much the same
thing that it does for regular network interfaces: it pushes the packet to any
bpf(4) peers and then returns. This bypasses all of the bridge machinery,
saving mutex acquisitions, list traversals, and other operations performed by
the bridging code.

This change to the bridging code is useful in situations where individuals use a
bridge to multiplex RX/TX signals from two interfaces, as is required by some
network taps for de-multiplexing links and transmitting the RX/TX signals
out through two separate interfaces. This behaviour is quite common for network
taps monitoring links, especially for certain manufacturers.

Reviewed by:	thompsa
MFC after:	1 month
Sponsored by:	Seccuris Labs
2006-03-03 05:58:18 +00:00
..
alpha Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
amd64 guard function decls with _KERNEL so user code can include this file 2006-03-01 05:59:56 +00:00
arm Use BUS_DMA_COHERENT. 2006-03-02 14:06:38 +00:00
boot Remove ELF dynamic tag definitions that aren't used. Ideally, 2006-01-18 18:49:25 +00:00
bsm Merge OpenBSM 1.0 alpha 3 include file changes from contrib/openbsm/bsm 2006-02-06 01:12:46 +00:00
cam - Add a scsi_da.c and a umass.c quirk for Genesys 6-in-1 Card Reader. 2006-01-30 20:27:44 +00:00
coda CODA_COMPAT_5 may not be defined unconditionally in the coda5 module. 2006-02-27 12:04:13 +00:00
compat regen for 32bit sendfile 2006-02-28 19:39:52 +00:00
conf The altq(4) code already handles SMP so clarify what ALTQ_NOPCC is needed for. 2006-03-02 19:45:59 +00:00
contrib Do not use the TSC where its known to be broken, this will cause the queue 2006-03-02 00:51:39 +00:00
crypto
ddb Fix -Wundef. 2005-12-04 02:12:43 +00:00
dev Fix endian bugs accessing ioctl arguments that are passed by value. 2006-03-03 00:46:28 +00:00
doc
fs Correct the vnode locking in fdescfs. 2006-02-28 00:05:44 +00:00
gdb
geom - Lock Giant if needed around the call to vnode_create_vobject(). This is 2006-03-02 05:37:44 +00:00
gnu Add marker vnodes to ensure that all vnodes associated with the mount point are 2006-01-09 20:42:19 +00:00
i4b Fix -Wundef warnings found when compiling i386 LINT, GENERIC and 2005-12-05 11:58:35 +00:00
i386 iir works on PAE now. 2006-03-03 04:30:18 +00:00
ia64 Close some races between procfs/ptrace and exit(2): 2006-02-22 18:57:50 +00:00
isa Tweak how the MD code calls the fooclock() methods some. Instead of 2005-12-22 22:16:09 +00:00
isofs/cd9660 I ran into an nfs client panic a couple of times in a row over the 2006-01-17 17:29:03 +00:00
kern - Print message about cpufreq and timecounter TSC 2006-03-03 02:06:04 +00:00
libkern Convert function declarations to ANSI C. 2006-01-22 00:46:40 +00:00
modules Provide ability to disable kbdmux(4) with the hint.kbdmux.0.disabled="1" hint. 2006-03-01 18:34:48 +00:00
net Slightly re-worked bpf(4) code associated with bridging: if we have a 2006-03-03 05:58:18 +00:00
net80211 consolidate calculation of capabilities ie 2006-02-25 05:36:43 +00:00
netatalk - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
netatm Convert to ANSI C function declarations. 2006-01-22 01:07:11 +00:00
netgraph Clear csum_flags after reading data from socket buffer. Otherwise, 2006-02-21 13:04:39 +00:00
netinet Rework TCP window scaling (RFC1323) to properly scale the send window 2006-02-28 23:05:59 +00:00
netinet6 avoided the use of purged address structure when an address became 2006-02-12 15:37:08 +00:00
netipsec Fix stack corruptions on amd64. 2006-01-21 10:44:34 +00:00
netipx In spx_attach() and spx_detach(), there is no need to check whether the 2006-01-14 00:05:44 +00:00
netkey Fix stack corruptions on amd64. 2006-01-21 10:44:34 +00:00
netnatm Use sparse initializers for "struct domain" and "struct protosw", 2005-11-09 13:29:16 +00:00
netncp In ncp_sysctl_connstat(), the SLIST_FOREACH() logic to check 'error' 2006-01-14 11:40:32 +00:00
netsmb Although we check the return value of copyin(9) while determaining how 2006-01-16 17:03:21 +00:00
nfs
nfs4client Use nfs4_disconnect for connections opened with nfs4_connect. 2006-01-19 22:48:31 +00:00
nfsclient Don't log an error on tcp connection reset, even if we don't get ECONNRESET. 2006-01-20 15:07:18 +00:00
nfsserver Correct a remote kernel panic when processing zero-length RPC records 2006-03-01 14:17:32 +00:00
opencrypto This patch fixes a problem, which exists if you have IPSEC in your kernel 2006-02-27 16:56:22 +00:00
pc98 - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
pccard I don't believe these are used at all, and can be safely removed 2006-01-15 06:49:28 +00:00
pci Remove de driver from old location. 2006-02-26 17:52:51 +00:00
posix4 mqueue.h has been superceded by sys/mqueue.h thanks to David Xu's work. 2005-11-28 02:58:30 +00:00
powerpc Simplify system time accounting for profiling. 2006-02-08 08:09:17 +00:00
rpc Fix up some cut-n-paste damage and some out-of-date comments. 2006-01-20 15:20:41 +00:00
security Eliminate a deadlock when creating snapshots. Blocking vn_start_write() must 2006-03-02 22:13:28 +00:00
sparc64 Fix a c/p error. 2006-02-28 21:25:00 +00:00
sys Add signal set sq_kill to sigqueue structure, the member saves all 2006-03-02 14:06:40 +00:00
tools Fix a leftover "iwi_boot" string. 2006-01-30 16:32:08 +00:00
ufs Eliminate a deadlock when creating snapshots. Blocking vn_start_write() must 2006-03-02 22:13:28 +00:00
vm Eliminate a deadlock when creating snapshots. Blocking vn_start_write() must 2006-03-02 22:13:28 +00:00
Makefile add nfsclient/, nfs4client/, and rpc/ directories to the 2006-01-10 20:58:27 +00:00