mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
net: resolve symbol conflicts with generic hashtable.h
This is a preparatory patch for converting qdisc linked list into a hashtable. As we'll need to include hashtable.h in netdevice.h, we first have to make sure that this will not introduce symbol conflicts for any of the netdevice.h users. Reviewed-by: Cong Wang <[email protected]> Signed-off-by: Jiri Kosina <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
b89b815c32
commit
e87a8f24c9
5 changed files with 28 additions and 28 deletions
|
|
@ -61,12 +61,12 @@ static bool log_ecn_error = true;
|
|||
module_param(log_ecn_error, bool, 0644);
|
||||
MODULE_PARM_DESC(log_ecn_error, "Log packets received with corrupted ECN");
|
||||
|
||||
#define HASH_SIZE_SHIFT 5
|
||||
#define HASH_SIZE (1 << HASH_SIZE_SHIFT)
|
||||
#define IP6_GRE_HASH_SIZE_SHIFT 5
|
||||
#define IP6_GRE_HASH_SIZE (1 << IP6_GRE_HASH_SIZE_SHIFT)
|
||||
|
||||
static int ip6gre_net_id __read_mostly;
|
||||
struct ip6gre_net {
|
||||
struct ip6_tnl __rcu *tunnels[4][HASH_SIZE];
|
||||
struct ip6_tnl __rcu *tunnels[4][IP6_GRE_HASH_SIZE];
|
||||
|
||||
struct net_device *fb_tunnel_dev;
|
||||
};
|
||||
|
|
@ -96,12 +96,12 @@ static void ip6gre_tnl_link_config(struct ip6_tnl *t, int set_mtu);
|
|||
will match fallback tunnel.
|
||||
*/
|
||||
|
||||
#define HASH_KEY(key) (((__force u32)key^((__force u32)key>>4))&(HASH_SIZE - 1))
|
||||
#define HASH_KEY(key) (((__force u32)key^((__force u32)key>>4))&(IP6_GRE_HASH_SIZE - 1))
|
||||
static u32 HASH_ADDR(const struct in6_addr *addr)
|
||||
{
|
||||
u32 hash = ipv6_addr_hash(addr);
|
||||
|
||||
return hash_32(hash, HASH_SIZE_SHIFT);
|
||||
return hash_32(hash, IP6_GRE_HASH_SIZE_SHIFT);
|
||||
}
|
||||
|
||||
#define tunnels_r_l tunnels[3]
|
||||
|
|
@ -1089,7 +1089,7 @@ static void ip6gre_destroy_tunnels(struct net *net, struct list_head *head)
|
|||
|
||||
for (prio = 0; prio < 4; prio++) {
|
||||
int h;
|
||||
for (h = 0; h < HASH_SIZE; h++) {
|
||||
for (h = 0; h < IP6_GRE_HASH_SIZE; h++) {
|
||||
struct ip6_tnl *t;
|
||||
|
||||
t = rtnl_dereference(ign->tunnels[prio][h]);
|
||||
|
|
|
|||
|
|
@ -64,8 +64,8 @@ MODULE_LICENSE("GPL");
|
|||
MODULE_ALIAS_RTNL_LINK("ip6tnl");
|
||||
MODULE_ALIAS_NETDEV("ip6tnl0");
|
||||
|
||||
#define HASH_SIZE_SHIFT 5
|
||||
#define HASH_SIZE (1 << HASH_SIZE_SHIFT)
|
||||
#define IP6_TUNNEL_HASH_SIZE_SHIFT 5
|
||||
#define IP6_TUNNEL_HASH_SIZE (1 << IP6_TUNNEL_HASH_SIZE_SHIFT)
|
||||
|
||||
static bool log_ecn_error = true;
|
||||
module_param(log_ecn_error, bool, 0644);
|
||||
|
|
@ -75,7 +75,7 @@ static u32 HASH(const struct in6_addr *addr1, const struct in6_addr *addr2)
|
|||
{
|
||||
u32 hash = ipv6_addr_hash(addr1) ^ ipv6_addr_hash(addr2);
|
||||
|
||||
return hash_32(hash, HASH_SIZE_SHIFT);
|
||||
return hash_32(hash, IP6_TUNNEL_HASH_SIZE_SHIFT);
|
||||
}
|
||||
|
||||
static int ip6_tnl_dev_init(struct net_device *dev);
|
||||
|
|
@ -87,7 +87,7 @@ struct ip6_tnl_net {
|
|||
/* the IPv6 tunnel fallback device */
|
||||
struct net_device *fb_tnl_dev;
|
||||
/* lists for storing tunnels in use */
|
||||
struct ip6_tnl __rcu *tnls_r_l[HASH_SIZE];
|
||||
struct ip6_tnl __rcu *tnls_r_l[IP6_TUNNEL_HASH_SIZE];
|
||||
struct ip6_tnl __rcu *tnls_wc[1];
|
||||
struct ip6_tnl __rcu **tnls[2];
|
||||
};
|
||||
|
|
@ -2031,7 +2031,7 @@ static void __net_exit ip6_tnl_destroy_tunnels(struct net *net)
|
|||
if (dev->rtnl_link_ops == &ip6_link_ops)
|
||||
unregister_netdevice_queue(dev, &list);
|
||||
|
||||
for (h = 0; h < HASH_SIZE; h++) {
|
||||
for (h = 0; h < IP6_TUNNEL_HASH_SIZE; h++) {
|
||||
t = rtnl_dereference(ip6n->tnls_r_l[h]);
|
||||
while (t) {
|
||||
/* If dev is in the same netns, it has already
|
||||
|
|
|
|||
|
|
@ -50,14 +50,14 @@
|
|||
#include <net/net_namespace.h>
|
||||
#include <net/netns/generic.h>
|
||||
|
||||
#define HASH_SIZE_SHIFT 5
|
||||
#define HASH_SIZE (1 << HASH_SIZE_SHIFT)
|
||||
#define IP6_VTI_HASH_SIZE_SHIFT 5
|
||||
#define IP6_VTI_HASH_SIZE (1 << IP6_VTI_HASH_SIZE_SHIFT)
|
||||
|
||||
static u32 HASH(const struct in6_addr *addr1, const struct in6_addr *addr2)
|
||||
{
|
||||
u32 hash = ipv6_addr_hash(addr1) ^ ipv6_addr_hash(addr2);
|
||||
|
||||
return hash_32(hash, HASH_SIZE_SHIFT);
|
||||
return hash_32(hash, IP6_VTI_HASH_SIZE_SHIFT);
|
||||
}
|
||||
|
||||
static int vti6_dev_init(struct net_device *dev);
|
||||
|
|
@ -69,7 +69,7 @@ struct vti6_net {
|
|||
/* the vti6 tunnel fallback device */
|
||||
struct net_device *fb_tnl_dev;
|
||||
/* lists for storing tunnels in use */
|
||||
struct ip6_tnl __rcu *tnls_r_l[HASH_SIZE];
|
||||
struct ip6_tnl __rcu *tnls_r_l[IP6_VTI_HASH_SIZE];
|
||||
struct ip6_tnl __rcu *tnls_wc[1];
|
||||
struct ip6_tnl __rcu **tnls[2];
|
||||
};
|
||||
|
|
@ -1040,7 +1040,7 @@ static void __net_exit vti6_destroy_tunnels(struct vti6_net *ip6n)
|
|||
struct ip6_tnl *t;
|
||||
LIST_HEAD(list);
|
||||
|
||||
for (h = 0; h < HASH_SIZE; h++) {
|
||||
for (h = 0; h < IP6_VTI_HASH_SIZE; h++) {
|
||||
t = rtnl_dereference(ip6n->tnls_r_l[h]);
|
||||
while (t) {
|
||||
unregister_netdevice_queue(t->dev, &list);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
For comments look at net/ipv4/ip_gre.c --ANK
|
||||
*/
|
||||
|
||||
#define HASH_SIZE 16
|
||||
#define IP6_SIT_HASH_SIZE 16
|
||||
#define HASH(addr) (((__force u32)addr^((__force u32)addr>>4))&0xF)
|
||||
|
||||
static bool log_ecn_error = true;
|
||||
|
|
@ -78,9 +78,9 @@ static struct rtnl_link_ops sit_link_ops __read_mostly;
|
|||
|
||||
static int sit_net_id __read_mostly;
|
||||
struct sit_net {
|
||||
struct ip_tunnel __rcu *tunnels_r_l[HASH_SIZE];
|
||||
struct ip_tunnel __rcu *tunnels_r[HASH_SIZE];
|
||||
struct ip_tunnel __rcu *tunnels_l[HASH_SIZE];
|
||||
struct ip_tunnel __rcu *tunnels_r_l[IP6_SIT_HASH_SIZE];
|
||||
struct ip_tunnel __rcu *tunnels_r[IP6_SIT_HASH_SIZE];
|
||||
struct ip_tunnel __rcu *tunnels_l[IP6_SIT_HASH_SIZE];
|
||||
struct ip_tunnel __rcu *tunnels_wc[1];
|
||||
struct ip_tunnel __rcu **tunnels[4];
|
||||
|
||||
|
|
@ -1783,7 +1783,7 @@ static void __net_exit sit_destroy_tunnels(struct net *net,
|
|||
|
||||
for (prio = 1; prio < 4; prio++) {
|
||||
int h;
|
||||
for (h = 0; h < HASH_SIZE; h++) {
|
||||
for (h = 0; h < IP6_SIT_HASH_SIZE; h++) {
|
||||
struct ip_tunnel *t;
|
||||
|
||||
t = rtnl_dereference(sitn->tunnels[prio][h]);
|
||||
|
|
|
|||
Loading…
Reference in a new issue