* Re: [2.6 patch] fix bridge <-> ATM compile error [not found] ` <20050315091305.3fc07561@dxpl.pdx.osdl.net> @ 2005-03-15 17:25 ` Adrian Bunk 0 siblings, 0 replies; 7+ messages in thread From: Adrian Bunk @ 2005-03-15 17:25 UTC (permalink / raw) To: Stephen Hemminger; +Cc: bridge, chas, linux-atm-general, netdev, linux-kernel On Tue, Mar 15, 2005 at 09:13:05AM -0800, Stephen Hemminger wrote: > Given the #ifdef mess, perhaps bridge should have the hooks available > independent of the configuration. The problem is the other way round: The bridge code accesses hooks in the ATM code. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <200503161611.j2GGBT0F004479@ginger.cmf.nrl.navy.mil>]
* Re: [2.6 patch] fix bridge <-> ATM compile error [not found] ` <200503161611.j2GGBT0F004479@ginger.cmf.nrl.navy.mil> @ 2005-03-16 18:15 ` Adrian Bunk 2005-03-16 18:24 ` chas williams - CONTRACTOR 2005-03-17 20:36 ` chas williams - CONTRACTOR 0 siblings, 2 replies; 7+ messages in thread From: Adrian Bunk @ 2005-03-16 18:15 UTC (permalink / raw) To: chas3; +Cc: shemminger, bridge, linux-atm-general, netdev, linux-kernel On Wed, Mar 16, 2005 at 11:11:29AM -0500, chas williams - CONTRACTOR wrote: > In message <20050315121930.GE3189@stusta.de>,Adrian Bunk writes: > >This patch fixes the following compile error with CONFIG_BRIDGE=y and > >CONFIG_ATM_LANE=m: > > isnt the problem more that CONFIG_ATM=m not CONFIG_ATM_LANE=m? > perhaps CONFIG_BRIDGE should be dependent on CONFIG_ATM. if > atm is a module then bridge cannot be a module (unless the > hooks are moved from atm to bridge)? The problem is currently CONFIG_ATM_LANE due to the #ifdef's in net/atm/common.c . Letting CONFIG_BRIDGE depend on CONFIG_ATM doesn't sound like a good idea, since I doubt all people using the Bridge code require ATM support. Moving the hooks to the bridge code will give you exactly the same problems the other way round. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [2.6 patch] fix bridge <-> ATM compile error 2005-03-16 18:15 ` Adrian Bunk @ 2005-03-16 18:24 ` chas williams - CONTRACTOR 2005-03-17 20:36 ` chas williams - CONTRACTOR 1 sibling, 0 replies; 7+ messages in thread From: chas williams - CONTRACTOR @ 2005-03-16 18:24 UTC (permalink / raw) To: Adrian Bunk; +Cc: shemminger, bridge, linux-atm-general, netdev, linux-kernel In message <20050316181532.GA3251@stusta.de>,Adrian Bunk writes: >Letting CONFIG_BRIDGE depend on CONFIG_ATM doesn't sound like a good >idea, since I doubt all people using the Bridge code require ATM >support. i agree. >Moving the hooks to the bridge code will give you exactly the same >problems the other way round. how about moving them to a third location like net/core/dev.c? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [2.6 patch] fix bridge <-> ATM compile error 2005-03-16 18:15 ` Adrian Bunk 2005-03-16 18:24 ` chas williams - CONTRACTOR @ 2005-03-17 20:36 ` chas williams - CONTRACTOR 2005-03-19 23:04 ` Adrian Bunk 1 sibling, 1 reply; 7+ messages in thread From: chas williams - CONTRACTOR @ 2005-03-17 20:36 UTC (permalink / raw) To: Adrian Bunk; +Cc: shemminger, bridge, linux-atm-general, netdev, linux-kernel In message <20050316181532.GA3251@stusta.de>,Adrian Bunk writes: >Letting CONFIG_BRIDGE depend on CONFIG_ATM doesn't sound like a good >idea, since I doubt all people using the Bridge code require ATM >support. how about the following? ===== net/atm/common.c 1.58 vs edited ===== --- 1.58/net/atm/common.c 2005-01-20 21:17:39 -05:00 +++ edited/net/atm/common.c 2005-03-16 12:44:37 -05:00 @@ -755,21 +755,6 @@ return vcc->dev->ops->getsockopt(vcc, level, optname, optval, len); } - -#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) -#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) -struct net_bridge; -struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br, - unsigned char *addr) = NULL; -void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent) = NULL; -#if defined(CONFIG_ATM_LANE_MODULE) || defined(CONFIG_BRIDGE_MODULE) -EXPORT_SYMBOL(br_fdb_get_hook); -EXPORT_SYMBOL(br_fdb_put_hook); -#endif /* defined(CONFIG_ATM_LANE_MODULE) || defined(CONFIG_BRIDGE_MODULE) */ -#endif /* defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) */ -#endif /* defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) */ - - static int __init atm_init(void) { int error; ===== net/atm/lec.c 1.47 vs edited ===== --- 1.47/net/atm/lec.c 2005-02-08 23:09:15 -05:00 +++ edited/net/atm/lec.c 2005-03-16 13:18:28 -05:00 @@ -37,11 +37,8 @@ #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) #include <linux/if_bridge.h> #include "../bridge/br_private.h" -static unsigned char bridge_ula_lec[] = {0x01, 0x80, 0xc2, 0x00, 0x00}; -extern struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br, - unsigned char *addr); -extern void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent); +static unsigned char bridge_ula_lec[] = {0x01, 0x80, 0xc2, 0x00, 0x00}; #endif /* Modular too */ ===== net/atm/lec.h 1.13 vs edited ===== --- 1.13/net/atm/lec.h 2005-01-18 15:59:15 -05:00 +++ edited/net/atm/lec.h 2005-03-16 13:22:13 -05:00 @@ -14,14 +14,6 @@ #include <linux/netdevice.h> #include <linux/atmlec.h> -#if defined (CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) -#include <linux/if_bridge.h> -struct net_bridge; -extern struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br, - unsigned char *addr); -extern void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent); -#endif /* defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) */ - #define LEC_HEADER_LEN 16 struct lecdatahdr_8023 { ===== net/bridge/br.c 1.20 vs edited ===== --- 1.20/net/bridge/br.c 2005-03-10 21:50:08 -05:00 +++ edited/net/bridge/br.c 2005-03-16 13:21:27 -05:00 @@ -22,10 +22,6 @@ #include "br_private.h" -#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) -#include "../atm/lec.h" -#endif - int (*br_should_route_hook) (struct sk_buff **pskb) = NULL; static int __init br_init(void) @@ -39,10 +35,9 @@ brioctl_set(br_ioctl_deviceless_stub); br_handle_frame_hook = br_handle_frame; -#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) br_fdb_get_hook = br_fdb_get; br_fdb_put_hook = br_fdb_put; -#endif + register_netdevice_notifier(&br_device_notifier); return 0; @@ -60,10 +55,8 @@ synchronize_net(); -#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) br_fdb_get_hook = NULL; br_fdb_put_hook = NULL; -#endif br_handle_frame_hook = NULL; br_fdb_fini(); ===== net/bridge/br_private.h 1.37 vs edited ===== --- 1.37/net/bridge/br_private.h 2005-03-10 21:51:37 -05:00 +++ edited/net/bridge/br_private.h 2005-03-16 13:19:34 -05:00 @@ -216,6 +216,12 @@ extern void br_stp_port_timer_init(struct net_bridge_port *p); extern unsigned long br_timer_value(const struct timer_list *timer); +/* br.c */ +extern struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br, + unsigned char *addr); +extern void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent); + + #ifdef CONFIG_SYSFS /* br_sysfs_if.c */ extern int br_sysfs_addif(struct net_bridge_port *p); ===== net/core/dev.c 1.185 vs edited ===== --- 1.185/net/core/dev.c 2005-02-11 00:54:32 -05:00 +++ edited/net/core/dev.c 2005-03-16 13:29:23 -05:00 @@ -1561,6 +1561,10 @@ #if defined(CONFIG_BRIDGE) || defined (CONFIG_BRIDGE_MODULE) int (*br_handle_frame_hook)(struct net_bridge_port *p, struct sk_buff **pskb); +struct net_bridge; +struct net_bridge_fdb_entry *(*br_fdb_get_hook)(struct net_bridge *br, + unsigned char *addr); +void (*br_fdb_put_hook)(struct net_bridge_fdb_entry *ent); static __inline__ int handle_bridge(struct sk_buff **pskb, struct packet_type **pt_prev, int *ret) @@ -3346,6 +3350,8 @@ #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) EXPORT_SYMBOL(br_handle_frame_hook); +EXPORT_SYMBOL(br_fdb_get_hook); +EXPORT_SYMBOL(br_fdb_put_hook); #endif #ifdef CONFIG_KMOD ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [2.6 patch] fix bridge <-> ATM compile error 2005-03-17 20:36 ` chas williams - CONTRACTOR @ 2005-03-19 23:04 ` Adrian Bunk 2005-03-28 19:11 ` Stephen Hemminger 0 siblings, 1 reply; 7+ messages in thread From: Adrian Bunk @ 2005-03-19 23:04 UTC (permalink / raw) To: chas3; +Cc: shemminger, bridge, linux-atm-general, netdev, linux-kernel On Thu, Mar 17, 2005 at 03:36:40PM -0500, chas williams - CONTRACTOR wrote: > In message <20050316181532.GA3251@stusta.de>,Adrian Bunk writes: > >Letting CONFIG_BRIDGE depend on CONFIG_ATM doesn't sound like a good > >idea, since I doubt all people using the Bridge code require ATM > >support. > > how about the following? >... Looks good. cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [2.6 patch] fix bridge <-> ATM compile error 2005-03-19 23:04 ` Adrian Bunk @ 2005-03-28 19:11 ` Stephen Hemminger 0 siblings, 0 replies; 7+ messages in thread From: Stephen Hemminger @ 2005-03-28 19:11 UTC (permalink / raw) To: Adrian Bunk; +Cc: chas3, bridge, linux-atm-general, netdev, linux-kernel On Sun, 20 Mar 2005 00:04:58 +0100 Adrian Bunk <bunk@stusta.de> wrote: > On Thu, Mar 17, 2005 at 03:36:40PM -0500, chas williams - CONTRACTOR wrote: > > In message <20050316181532.GA3251@stusta.de>,Adrian Bunk writes: > > >Letting CONFIG_BRIDGE depend on CONFIG_ATM doesn't sound like a good > > >idea, since I doubt all people using the Bridge code require ATM > > >support. > > > > how about the following? > >... > > Looks good Ditto ^ permalink raw reply [flat|nested] 7+ messages in thread
* [2.6 patch] fix bridge <-> ATM compile error @ 2005-03-15 12:19 Adrian Bunk 0 siblings, 0 replies; 7+ messages in thread From: Adrian Bunk @ 2005-03-15 12:19 UTC (permalink / raw) To: shemminger, bridge, chas; +Cc: linux-atm-general, netdev, linux-kernel This patch fixes the following compile error with CONFIG_BRIDGE=y and CONFIG_ATM_LANE=m: <-- snip --> ... LD .tmp_vmlinux1 net/built-in.o(.init.text+0x3ad1): In function `br_init': : undefined reference to `br_fdb_get_hook' net/built-in.o(.init.text+0x3adb): In function `br_init': : undefined reference to `br_fdb_put_hook' net/built-in.o(.exit.text+0xa2): In function `br_deinit': : undefined reference to `br_fdb_get_hook' net/built-in.o(.exit.text+0xac): In function `br_deinit': : undefined reference to `br_fdb_put_hook' make: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk <bunk@stusta.de> --- net/bridge/br.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) --- linux-2.6.11-mm3-modular/net/bridge/br.c.old 2005-03-15 03:23:10.000000000 +0100 +++ linux-2.6.11-mm3-modular/net/bridge/br.c 2005-03-15 03:24:05.000000000 +0100 @@ -22,7 +22,7 @@ #include "br_private.h" -#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) +#if defined(CONFIG_ATM_LANE) || (defined(CONFIG_ATM_LANE_MODULE) && defined(MODULE)) #include "../atm/lec.h" #endif @@ -39,7 +39,7 @@ brioctl_set(br_ioctl_deviceless_stub); br_handle_frame_hook = br_handle_frame; -#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) +#if defined(CONFIG_ATM_LANE) || (defined(CONFIG_ATM_LANE_MODULE) && defined(MODULE)) br_fdb_get_hook = br_fdb_get; br_fdb_put_hook = br_fdb_put; #endif @@ -60,7 +60,7 @@ synchronize_net(); -#if defined(CONFIG_ATM_LANE) || defined(CONFIG_ATM_LANE_MODULE) +#if defined(CONFIG_ATM_LANE) || (defined(CONFIG_ATM_LANE_MODULE) && defined(MODULE)) br_fdb_get_hook = NULL; br_fdb_put_hook = NULL; #endif ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-03-28 19:11 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20050315121930.GE3189@stusta.de>
[not found] ` <20050315091305.3fc07561@dxpl.pdx.osdl.net>
2005-03-15 17:25 ` [2.6 patch] fix bridge <-> ATM compile error Adrian Bunk
[not found] ` <200503161611.j2GGBT0F004479@ginger.cmf.nrl.navy.mil>
2005-03-16 18:15 ` Adrian Bunk
2005-03-16 18:24 ` chas williams - CONTRACTOR
2005-03-17 20:36 ` chas williams - CONTRACTOR
2005-03-19 23:04 ` Adrian Bunk
2005-03-28 19:11 ` Stephen Hemminger
2005-03-15 12:19 Adrian Bunk
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).