X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fcompat.h;h=4dfd1926df979ad354e287fb1497ab08966951fb;hb=7aaeab4df24b7e9460705b1dad1010eef0354c50;hp=3b8d577ef1284c64724370d8a1f90fb8b9855f5b;hpb=72e8bf28bb38e8816435c64859fb350215b6a9e6;p=sliver-openvswitch.git diff --git a/datapath/compat.h b/datapath/compat.h index 3b8d577ef..4dfd1926d 100644 --- a/datapath/compat.h +++ b/datapath/compat.h @@ -53,26 +53,6 @@ static inline void skb_clear_rxhash(struct sk_buff *skb) #endif } -/* - * Enforces, mutual exclusion with the Linux bridge module, by declaring and - * exporting br_should_route_hook. Because the bridge module also exports the - * same symbol, the module loader will refuse to load both modules at the same - * time (e.g. "bridge: exports duplicate symbol br_should_route_hook (owned by - * openvswitch)"). - * - * Before Linux 2.6.36, Open vSwitch cannot safely coexist with the Linux - * bridge module, so openvswitch uses this macro in those versions. In - * Linux 2.6.36 and later, Open vSwitch can coexist with the bridge module, - * but it makes no sense to load both bridge and brcompat, so brcompat uses - * this macro in those versions. - * - * The use of "typeof" here avoids the need to track changes in the type of - * br_should_route_hook over various kernel versions. - */ -#define BRIDGE_MUTUAL_EXCLUSION \ - typeof(br_should_route_hook) br_should_route_hook; \ - EXPORT_SYMBOL(br_should_route_hook) - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) #define GENL_SOCK(net) (genl_sock) #define SET_NETNSOK @@ -114,4 +94,16 @@ static inline void skb_set_mark(struct sk_buff *skb, u32 mark) } #endif /* after 2.6.20 */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36) +#define rt_dst(rt) (rt->dst) +#else +#define rt_dst(rt) (rt->u.dst) +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) +#define inet_sport(sk) (inet_sk(sk)->sport) +#else +#define inet_sport(sk) (inet_sk(sk)->inet_sport) +#endif + #endif /* compat.h */