diff options
author | Michał Mirosław <mirq-linux@rere.qmqm.pl> | 2009-06-05 05:35:28 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-06-11 21:03:21 -0700 |
commit | da6782927de809d9d427bd4bd6a4024243e41f13 (patch) | |
tree | 79419b352017a0c125c2b17e6a170589b31d8cb3 /net/bridge/br.c | |
parent | 746e6ad23cd6fec2edce056e014a0eabeffa838c (diff) | |
download | linux-da6782927de809d9d427bd4bd6a4024243e41f13.tar.gz linux-da6782927de809d9d427bd4bd6a4024243e41f13.tar.bz2 linux-da6782927de809d9d427bd4bd6a4024243e41f13.zip |
bridge: Simplify interface for ATM LANE
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 <mirq-linux@rere.qmqm.pl>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br.c')
-rw-r--r-- | net/bridge/br.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/net/bridge/br.c b/net/bridge/br.c index 4d2c1f1cb524..9aac5213105a 100644 --- a/net/bridge/br.c +++ b/net/bridge/br.c @@ -65,8 +65,9 @@ static int __init br_init(void) brioctl_set(br_ioctl_deviceless_stub); br_handle_frame_hook = br_handle_frame; - br_fdb_get_hook = br_fdb_get; - br_fdb_put_hook = br_fdb_put; +#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) + br_fdb_test_addr_hook = br_fdb_test_addr; +#endif return 0; err_out4: @@ -95,8 +96,9 @@ static void __exit br_deinit(void) synchronize_net(); br_netfilter_fini(); - br_fdb_get_hook = NULL; - br_fdb_put_hook = NULL; +#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) + br_fdb_test_addr_hook = NULL; +#endif br_handle_frame_hook = NULL; br_fdb_fini(); |