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.hor...@netronome.com> Signed-off-by: Joe Stringer <j...@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 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev