Marek Lindner wrote:
On Thursday 17 June 2010 00:42:11 Sven Eckelmann wrote:
I have merged it into maint (not into trunk), but somebody has to think about a way to to get it working on older kernels. This patch has to made on top of that patch to get it integrated into the next kernel merge window.
The code in question has not been enabled yet. It is just there as a possibility and could be enabled if it makes sense. I would say the one activating this code has to deal with the backward compatibility when it happens, ok ? :-)
Ok, let me rewrite it:
I have merged it into maint (not in trunk) but somebody has to think about a way to get it working on olders kernel _when he wants to enable it the future_. This patch has to made on top of that patch to get it integrated in _one of the next kernel merge windows_.
Better? :P
Personally I would do it with something like that:
diff --git a/batman-adv-kernelland/compat.h b/batman-adv-kernelland/compat.h index 8302a58..c503a51 100644 --- a/batman-adv-kernelland/compat.h +++ b/batman-adv-kernelland/compat.h @@ -232,3 +232,14 @@ static inline struct net_device_stats *dev_get_stats(struct net_device *dev) }
#endif /* < KERNEL_VERSION(2, 6, 29) */ + +#if !defined(IFF_BRIDGE_PORT) + +#ifdef netdev_isbridged +#undef netdev_isbridged +#endif + +#define netdev_isbridged(netdev) \ + ((net_dev)->br_port != NULL) + +#endif /* defined(IFF_BRIDGE_PORT) */ diff --git a/batman-adv-kernelland/hard-interface.c b/batman-adv-kernelland/hard-interface.c index 0773420..183d4c9 100644 --- a/batman-adv-kernelland/hard-interface.c +++ b/batman-adv-kernelland/hard-interface.c @@ -74,7 +74,7 @@ static int is_valid_iface(struct net_device *net_dev) #endif
/* Device is being bridged */ - /* if (net_dev->priv_flags & IFF_BRIDGE_PORT) + /* if (netdev_isbridged(net_dev)) return 0; */
return 1; diff --git a/batman-adv-kernelland/hard-interface.h b/batman-adv-kernelland/hard-interface.h index 1e5fc3e..9bd1837 100644 --- a/batman-adv-kernelland/hard-interface.h +++ b/batman-adv-kernelland/hard-interface.h @@ -38,3 +38,8 @@ int batman_skb_recv(struct sk_buff *skb, struct net_device *orig_dev); int hardif_min_mtu(void); void update_min_mtu(void); + +#ifndef netdev_isbridged +#define netdev_isbridged(netdev) \ + ((net_dev)->priv_flags & IFF_BRIDGE_PORT) +#endif
Best regards, Sven