From: David S. Miller Date: Tue, 3 Nov 2015 18:41:45 +0000 (-0500) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net X-Git-Tag: v4.4-rc1~141^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=73186df8d7fa574345f0ad626ebe89649f8308a5;p=profile%2Fcommon%2Fplatform%2Fkernel%2Flinux-artik7.git Merge git://git./linux/kernel/git/davem/net Minor overlapping changes in net/ipv4/ipmr.c, in 'net' we were fixing the "BH-ness" of the counter bumps whilst in 'net-next' the functions were modified to take an explicit 'net' parameter. Signed-off-by: David S. Miller --- 73186df8d7fa574345f0ad626ebe89649f8308a5 diff --cc include/net/ip_fib.h index ac5c6e8,965fa5b..9f4df68 --- a/include/net/ip_fib.h +++ b/include/net/ip_fib.h @@@ -317,20 -317,10 +317,20 @@@ void fib_flush_external(struct net *net /* Exported by fib_semantics.c */ int ip_fib_check_default(__be32 gw, struct net_device *dev); - int fib_sync_down_dev(struct net_device *dev, unsigned long event); + int fib_sync_down_dev(struct net_device *dev, unsigned long event, bool force); int fib_sync_down_addr(struct net *net, __be32 local); int fib_sync_up(struct net_device *dev, unsigned int nh_flags); -void fib_select_multipath(struct fib_result *res); + +extern u32 fib_multipath_secret __read_mostly; + +static inline int fib_multipath_hash(__be32 saddr, __be32 daddr) +{ + return jhash_2words(saddr, daddr, fib_multipath_secret) >> 1; +} + +void fib_select_multipath(struct fib_result *res, int hash); +void fib_select_path(struct net *net, struct fib_result *res, + struct flowi4 *fl4, int mp_hash); /* Exported by fib_trie.c */ void fib_trie_init(void); diff --cc net/ipv4/ipmr.c index fc42525,8e8203d..92dd4b7 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@@ -1683,8 -1682,8 +1683,8 @@@ static inline int ipmr_forward_finish(s { struct ip_options *opt = &(IPCB(skb)->opt); - IP_INC_STATS_BH(net, IPSTATS_MIB_OUTFORWDATAGRAMS); - IP_ADD_STATS_BH(net, IPSTATS_MIB_OUTOCTETS, skb->len); - IP_INC_STATS(dev_net(skb_dst(skb)->dev), IPSTATS_MIB_OUTFORWDATAGRAMS); - IP_ADD_STATS(dev_net(skb_dst(skb)->dev), IPSTATS_MIB_OUTOCTETS, skb->len); ++ IP_INC_STATS(net, IPSTATS_MIB_OUTFORWDATAGRAMS); ++ IP_ADD_STATS(net, IPSTATS_MIB_OUTOCTETS, skb->len); if (unlikely(opt->optlen)) ip_forward_options(skb); @@@ -1746,7 -1745,7 +1746,7 @@@ static void ipmr_queue_xmit(struct net * to blackhole. */ - IP_INC_STATS_BH(net, IPSTATS_MIB_FRAGFAILS); - IP_INC_STATS(dev_net(dev), IPSTATS_MIB_FRAGFAILS); ++ IP_INC_STATS(net, IPSTATS_MIB_FRAGFAILS); ip_rt_put(rt); goto out_free; }