History log of /src/sys/net/bridgestp.c |
Revision | | Date | Author | Comments |
1.27 |
| 05-Jul-2024 |
rin | sys: Drop redundant NULL check before m_freem(9)
m_freem(9) safely has accepted NULL argument at least since 4.2BSD: https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c
Compile-tested on amd64/ALL.
Suggested by knakahara@
|
1.26 |
| 28-Feb-2018 |
ozaki-r | branches: 1.26.40; Remove an obsolete assertion too (fix build)
bif_refs was removed when migrated to use psref.
|
1.25 |
| 28-Feb-2018 |
ozaki-r | Sweep obsolete BRIDGE_MPSAFE (it's always on now)
|
1.24 |
| 09-Mar-2017 |
ozaki-r | Remove unnecessary splnet
|
1.23 |
| 10-Jun-2016 |
ozaki-r | branches: 1.23.2; 1.23.4; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
1.22 |
| 19-Apr-2016 |
ozaki-r | Apply psref(9) to bridge(4)
Note that there is an issue that ioctls for an interface and a destruction of the interface can run in parallel and it causes race conditions on bridge as well (it rarely happens). The issue will be addressed in the interface common code (if.c).
|
1.21 |
| 11-Apr-2016 |
ozaki-r | Fix usage of pslist(9)
Pointed out by riastradh@.
|
1.20 |
| 11-Apr-2016 |
ozaki-r | Use pslist(9) in bridge(4)
This adds missing memory barriers to list operations for pserialize.
|
1.19 |
| 15-Feb-2016 |
ozaki-r | Simplify bridge(4)
Thanks to introducing softint-based if_input, the entire bridge code now never run in hardware interrupt context. So we can simplify the code.
- Remove spin mutexes - They were needed because some code of bridge could run in hardware interrupt context - We now need only an adaptive mutex for each shared object (a member list and a forwarding table) - Remove pktqueue - bridge_input is already in softint, using another softint (for bridge_forward) is useless - Packet distribution should be down at device drivers
|
1.18 |
| 31-Dec-2014 |
ozaki-r | Use pserialize in bridge
This change enables lockless accesses to bridge member lists. See locking notes in a comment to know how pserialize and mutexes are used.
This change also provides support for softint-based interrupt handling; pserialize readers can run in both HW interrupt and softint contexts.
As usual, pserialize is used only when NET_MPSAFE on.
|
1.17 |
| 14-Jul-2014 |
ozaki-r | branches: 1.17.4; Make bridge MPSAFE
- Introduce BRIDGE_MPSAFE - It's enabled only when NET_MPSAFE is defined in if.h or the kernel config - Add iflist and rtlist mutex locks - Locking iflist is performance sensitive, so it's not used when !BRIDGE_MPSAFE - Add bif object reference counting - It enables fine-grain locking for bridge member lists by allowing to not hold a lock during touching a bif - bridge_release_member is added to decrement the reference count - A condition variable is added to do bridge_delete_member gracefully - Add if_bridgeif to ifnet - It's a shortcut to a bif object of a bridge member - It reduces a bif lookup cost and so lock contention on iflist - Make bridgestp MPSAFE too
|
1.16 |
| 18-Jun-2014 |
ozaki-r | Make local functions static
This change unveiled some functions are unused. Remove some and comment out the others.
No functional change.
|
1.15 |
| 17-Jun-2014 |
ozaki-r | Restructure ether_input and bridge_input
The network stack of NetBSD is well organized and layered. A packet reception is processed from a lower layer to an upper layer one by one. However, ether_input and bridge_input are not structured so. bridge_input is called inside ether_input.
The new structure replaces ifnet#if_input of a bridge member with bridge_input when the member is attached. So a packet goes straight on a packet reception via a bridge, bridge_input => ether_input => ip_input.
The change is part of a patch of Lloyd Parkes submitted in PR 48104. Unlike the patch, the change doesn't intend to change the behavior of the packet processing. Another patch will fix PR 48104.
|
1.14 |
| 18-Jan-2009 |
mrg | branches: 1.14.24; 1.14.38; Fix multiple problems:
* A sign extension error creating the bridge ID corrupted the priority (always making it the maximum). * Do not catch STP packets on an interface for which STP is not enabled -- it's a violation of the spec, and causes STP to fail on neighboring bridges. * An optimization to bstp_input() -- some information is already known when we call it.
contributed anonymously.
|
1.13 |
| 25-Dec-2007 |
perry | branches: 1.13.10; 1.13.18; Convert many of the uses of __attribute__ to equivalent __packed, __unused and __dead macros from cdefs.h
|
1.12 |
| 26-Aug-2007 |
dyoung | branches: 1.12.2; 1.12.8; 1.12.10; 1.12.14; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
Use sockaddr_dl_setaddr() in a few places.
|
1.11 |
| 04-Mar-2007 |
christos | branches: 1.11.2; 1.11.10; 1.11.14; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.10 |
| 16-Nov-2006 |
christos | branches: 1.10.4; __unused removal on arguments; approved by core.
|
1.9 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.8 |
| 15-Apr-2006 |
christos | branches: 1.8.8; 1.8.10; Coverity CID 2728: Add KASSERT before NULL deref.
|
1.7 |
| 11-Dec-2005 |
christos | branches: 1.7.4; 1.7.6; 1.7.8; 1.7.10; 1.7.12; merge ktrace-lwp.
|
1.6 |
| 26-Feb-2005 |
perry | branches: 1.6.4; nuke trailing whitespace
|
1.5 |
| 28-Nov-2003 |
keihan | branches: 1.5.8; 1.5.10; s/netbsd.org/NetBSD.org/g
|
1.4 |
| 16-Sep-2003 |
jdc | Adapt to account for bridge_enqueue()'s extra parameter.
|
1.3 |
| 03-Feb-2003 |
thorpej | branches: 1.3.2; Test callout_pending(), not callout_active(), and eliminate now-unnecessary callout_deactivate() calls.
|
1.2 |
| 12-Nov-2001 |
lukem | add RCSIDs
|
1.1 |
| 17-Aug-2001 |
thorpej | branches: 1.1.2; 1.1.4; Add support for building Ethernet bridges, based on Jason Wright's bridge driver from OpenBSD, although the bridge code has been *heavily* modified by me (the 802.1D code remains mostly unchanged from the original).
|
1.1.4.3 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.1.4.2 |
| 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.1.4.1 |
| 17-Aug-2001 |
thorpej | file bridgestp.c was added on branch kqueue on 2001-08-25 06:16:56 +0000
|
1.1.2.3 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.1.2.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.1.2.1 |
| 17-Aug-2001 |
nathanw | file bridgestp.c was added on branch nathanw_sa on 2001-08-24 00:12:05 +0000
|
1.3.2.4 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.3.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.3.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.3.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.5.10.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.5.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.6.4.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.6.4.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.6.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.6.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.7.12.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.7.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.7.8.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.7.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.7.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.8.10.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.8.10.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.8.8.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.10.4.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.11.14.1 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
1.11.10.1 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
1.11.2.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.12.14.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.12.10.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.12.8.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.12.2.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.13.18.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.13.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.14.38.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.14.24.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.14.24.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.17.4.5 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.17.4.4 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.17.4.3 |
| 22-Apr-2016 |
skrll | Sync with HEAD
|
1.17.4.2 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.17.4.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.23.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.23.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.26.40.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|