[ovs-dev] [PATCH 1/2] compat: Always use own __ipv6_select_ident().

Joe Stringer joe at ovn.org
Tue Dec 15 19:24:33 UTC 2015


If the ip fragmentation backport is enabled, we should always use our
own {,__}ipv6_select_ident(). This fixes the following issue on some
v3.19 kernels:

datapath/linux/ip6_output.c:93:12: error: conflicting types for
‘__ipv6_select_ident’
 static u32 __ipv6_select_ident(struct net *net, u32 hashrnd,

Reported-by: Simon Horman <simon.horman at netronome.com>
Signed-off-by: Joe Stringer <joe at ovn.org>
---
 datapath/linux/compat/ip6_output.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/datapath/linux/compat/ip6_output.c b/datapath/linux/compat/ip6_output.c
index 004575c5abab..5c0cdec4b382 100644
--- a/datapath/linux/compat/ip6_output.c
+++ b/datapath/linux/compat/ip6_output.c
@@ -90,7 +90,7 @@ static u32 rpl_ip_idents_reserve(u32 hash, int segs)
 	return atomic_add_return(segs + delta, p_id) - segs;
 }
 
-static u32 __ipv6_select_ident(struct net *net, u32 hashrnd,
+static u32 rpl___ipv6_select_ident(struct net *net, u32 hashrnd,
 			       const struct in6_addr *dst,
 			       const struct in6_addr *src)
 {
@@ -111,7 +111,6 @@ static u32 __ipv6_select_ident(struct net *net, u32 hashrnd,
 	return id;
 }
 
-/* XXX: Exported in 3.19. */
 static __be32 rpl_ipv6_select_ident(struct net *net,
 			     const struct in6_addr *daddr,
 			     const struct in6_addr *saddr)
@@ -121,7 +120,7 @@ static __be32 rpl_ipv6_select_ident(struct net *net,
 
 	net_get_random_once(&ip6_idents_hashrnd, sizeof(ip6_idents_hashrnd));
 
-	id = __ipv6_select_ident(net, ip6_idents_hashrnd, daddr, saddr);
+	id = rpl___ipv6_select_ident(net, ip6_idents_hashrnd, daddr, saddr);
 	return htonl(id);
 }
 
-- 
2.1.4




More information about the dev mailing list