git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ipv6: update skb->csum when CE mark is propagated
[pandora-kernel.git]
/
net
/
ipv6
/
ip6_tunnel.c
diff --git
a/net/ipv6/ip6_tunnel.c
b/net/ipv6/ip6_tunnel.c
index
4e2e9ff
..
1828c27
100644
(file)
--- a/
net/ipv6/ip6_tunnel.c
+++ b/
net/ipv6/ip6_tunnel.c
@@
-57,6
+57,7
@@
MODULE_AUTHOR("Ville Nuorvala");
MODULE_DESCRIPTION("IPv6 tunneling device");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Ville Nuorvala");
MODULE_DESCRIPTION("IPv6 tunneling device");
MODULE_LICENSE("GPL");
+MODULE_ALIAS_RTNL_LINK("ip6tnl");
MODULE_ALIAS_NETDEV("ip6tnl0");
#ifdef IP6_TNL_DEBUG
MODULE_ALIAS_NETDEV("ip6tnl0");
#ifdef IP6_TNL_DEBUG
@@
-218,8
+219,8
@@
ip6_tnl_link(struct ip6_tnl_net *ip6n, struct ip6_tnl *t)
{
struct ip6_tnl __rcu **tp = ip6_tnl_bucket(ip6n, &t->parms);
{
struct ip6_tnl __rcu **tp = ip6_tnl_bucket(ip6n, &t->parms);
-
RCU_INIT_POINTER
(t->next , rtnl_dereference(*tp));
-
RCU_INIT_POINTER
(*tp, t);
+
rcu_assign_pointer
(t->next , rtnl_dereference(*tp));
+
rcu_assign_pointer
(*tp, t);
}
/**
}
/**
@@
-237,7
+238,7
@@
ip6_tnl_unlink(struct ip6_tnl_net *ip6n, struct ip6_tnl *t)
(iter = rtnl_dereference(*tp)) != NULL;
tp = &iter->next) {
if (t == iter) {
(iter = rtnl_dereference(*tp)) != NULL;
tp = &iter->next) {
if (t == iter) {
-
RCU_INIT_POINTER
(*tp, t->next);
+
rcu_assign_pointer
(*tp, t->next);
break;
}
}
break;
}
}
@@
-688,7
+689,7
@@
static void ip6ip6_dscp_ecn_decapsulate(const struct ip6_tnl *t,
ipv6_copy_dscp(ipv6_get_dsfield(ipv6h), ipv6_hdr(skb));
if (INET_ECN_is_ce(ipv6_get_dsfield(ipv6h)))
ipv6_copy_dscp(ipv6_get_dsfield(ipv6h), ipv6_hdr(skb));
if (INET_ECN_is_ce(ipv6_get_dsfield(ipv6h)))
- IP6_ECN_set_ce(ipv6_hdr(skb));
+ IP6_ECN_set_ce(
skb,
ipv6_hdr(skb));
}
/* called with rcu_read_lock() */
}
/* called with rcu_read_lock() */
@@
-1450,7
+1451,7
@@
static int __net_init ip6_fb_tnl_dev_init(struct net_device *dev)
t->parms.proto = IPPROTO_IPV6;
dev_hold(dev);
t->parms.proto = IPPROTO_IPV6;
dev_hold(dev);
-
RCU_INIT_POINTER
(ip6n->tnls_wc[0], t);
+
rcu_assign_pointer
(ip6n->tnls_wc[0], t);
return 0;
}
return 0;
}