05 Apr, 2011
1 commit
-
Add netlink device ops to allow creating bridge device via netlink.
This works in a manner similar to vlan, macvlan and bonding.Example:
# ip link add link dev br0 type bridge
# ip link del dev br0The change required rearranging initializtion code to deal with
being called by create link. Most of the initialization happens
in br_dev_setup, but allocation of stats is done in ndo_init callback
to deal with allocation failure. Sysfs setup has to wait until
after the network device kobject is registered.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
16 Nov, 2010
1 commit
-
Add br_should_route_hook_t typedef, this is the only way we can
get a clean RCU implementation for function pointer.Move route_hook to location where it is used.
Signed-off-by: Eric Dumazet
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
02 Jun, 2010
1 commit
-
What this patch does is it removes two receive frame hooks (for bridge and for
macvlan) from __netif_receive_skb. These are replaced them with a single
hook for both. It only supports one hook per device because it makes no
sense to do bridging and macvlan on the same device.Then a network driver (of virtual netdev like macvlan or bridge) can register
an rx_handler for needed net device.Signed-off-by: Jiri Pirko
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
16 May, 2010
1 commit
-
Use one set of macro's for all bridge messages.
Note: can't use netdev_XXX macro's because bridge is purely
virtual and has no device parent.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
27 Jun, 2009
1 commit
-
When unloading modules that uses call_rcu() callbacks, then we must
use rcu_barrier(). This module uses syncronize_net() which is not
enough to be sure that all callback has been completed.Acked-by: Paul E. McKenney
Signed-off-by: Jesper Dangaard Brouer
Signed-off-by: David S. Miller
12 Jun, 2009
1 commit
-
This patch changes FDB entry check for ATM LANE bridge integration.
There's no point in holding a FDB entry around SKB building.br_fdb_get()/br_fdb_put() pair are changed into single br_fdb_test_addr()
hook that checks if the addr has FDB entry pointing to other port
to the one the request arrived on.FDB entry refcounting is removed as it's not used anywhere else.
Signed-off-by: Michał Mirosław
Acked-by: Stephen Hemminger
Signed-off-by: David S. Miller
09 Sep, 2008
1 commit
-
Signed-off-by: Alexey Dobriyan
Acked-by: Stephen Hemminger
Signed-off-by: David S. Miller
06 Jul, 2008
1 commit
-
Use the STP demux layer for receiving STP PDUs instead of directly
registering with LLC.Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller
12 Jun, 2008
1 commit
-
This patch removes CVS keywords that weren't updated for a long time
from comments.Signed-off-by: Adrian Bunk
Signed-off-by: David S. Miller
29 Apr, 2008
1 commit
-
There is a race condition when unloading bridge and netfilter.
The problem happens if __fake_rtable is in use by a skb
coming in, while someone starts to unload bridge.ko.
br_netfilter_fini() is called at the beginning of unload
in br_deinit() while skbs still are being forwarded and
transferred to local ip stack. Thus there is a possibility
of the __fake_rtable pointer not being removed in a skb that
goes up to ip stack. This results in a kernel panic, as
ip_rcv() calls the input-function of __fake_rtable, which
is NULL.Moving the call of br_netfilter_fini() to the end of
br_deinit() solves the problem.Signed-off-by: Bodo Stroesser
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
29 Nov, 2007
1 commit
-
In case the br_netfilter_init() (or any subsequent call)
fails, the br_fdb_fini() must be called to free the allocated
in br_fdb_init() br_fdb_cache kmem cache.Signed-off-by: Pavel Emelyanov
Signed-off-by: Herbert Xu
16 Oct, 2007
1 commit
-
With all the users of the double pointers removed, this patch mops up by
finally replacing all occurances of sk_buff ** in the netfilter API by
sk_buff *.Signed-off-by: Herbert Xu
Signed-off-by: David S. Miller
26 Apr, 2007
2 commits
-
This patch checks kmem_cache_create() error and aborts loading module
on failure.Signed-off-by: Akinobu Mita
Signed-off-by: Stephen Hemminger -
Signed-off-by: Thomas Graf
Signed-off-by: David S. Miller
01 Jul, 2006
1 commit
-
Signed-off-by: Jörn Engel
Signed-off-by: Adrian Bunk
18 Jun, 2006
2 commits
-
Add basic netlink support to the Ethernet bridge. Including:
* dump interfaces in bridges
* monitor link status changes
* change state of bridge portFor some demo programs see:
http://developer.osdl.org/shemminger/prototypes/brnl.tar.gzThese are to allow building a daemon that does alternative
implementations of Spanning Tree Protocol.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
Return address in use, if some other kernel code has the SAP.
Propogate out error codes from netfilter registration and unwind.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
24 May, 2006
1 commit
-
Bridge will OOPS on removal if other application has the SAP open.
The bridge SAP might be shared with other usages, so need
to do reference counting on module removal rather than explicit
close/delete.Since packet might arrive after or during removal, need to clear
the receive function handle, so LLC only hands it to user (if any).Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
21 Mar, 2006
1 commit
-
Use LLC for the receive path of Spanning Tree Protocol packets.
This allows link local multicast packets to be received by
other protocols (if they care), and uses the existing LLC
code to get STP packets back into bridge code.The bridge multicast address is also checked, so bridges using
other link local multicast addresses are ignored. This allows
for use of different multicast addresses to define separate STP
domains.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
04 Jan, 2006
1 commit
-
Add version info to bridge module.
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!