Thread (10 messages) 10 messages, 4 authors, 2020-01-27

Re: [PATCH net-next v5 1/2] net: UDP tunnel encapsulation module for tunnelling different protocols like MPLS,IP,NSH etc.

From: kbuild test robot <hidden>
Date: 2020-01-26 19:17:50
Also in: oe-kbuild-all

Hi Martin,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]
[also build test ERROR on net/master linus/master ipvs/master v5.5-rc7 next-20200121]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Martin-Varghese/Bare-UDP-L3-Encapsulation-Module/20200125-104744
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 08a45c59f16efe33ca715e894231a9b7afd3b7b4
config: x86_64-randconfig-a002-20200126 (attached as .config)
compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <redacted>

All errors (new ones prefixed by >>):

   In file included from net//ipv4/ip_tunnel_core.c:27:0:
   include/net/ip6_tunnel.h: In function 'ip6tunnel_get_dst':
quoted
include/net/ip6_tunnel.h:195:9: error: implicit declaration of function 'dst_cache_get_ip6' [-Werror=implicit-function-declaration]
      dst = dst_cache_get_ip6(dst_cache, &fl6->saddr);
            ^
   include/net/ip6_tunnel.h:195:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
      dst = dst_cache_get_ip6(dst_cache, &fl6->saddr);
          ^
quoted
include/net/ip6_tunnel.h:213:3: error: implicit declaration of function 'dst_cache_set_ip6' [-Werror=implicit-function-declaration]
      dst_cache_set_ip6(dst_cache, dst, &fl6->saddr);
      ^
   cc1: some warnings being treated as errors

vim +/dst_cache_get_ip6 +195 include/net/ip6_tunnel.h

   168	
   169	static inline struct dst_entry *ip6tunnel_get_dst(struct sk_buff *skb,
   170							  struct net_device *dev,
   171							  struct net *net,
   172							  struct socket *sock,
   173							  struct flowi6 *fl6,
   174							  const struct ip_tunnel_info *info,
   175							  bool use_cache)
   176	{
   177		struct dst_entry *dst = NULL;
   178	#ifdef CONFIG_DST_CACHE
   179		struct dst_cache *dst_cache;
   180	#endif
   181		__u8 prio;
   182	
   183		memset(fl6, 0, sizeof(*fl6));
   184		fl6->flowi6_mark = skb->mark;
   185		fl6->flowi6_proto = IPPROTO_UDP;
   186		fl6->daddr = info->key.u.ipv6.dst;
   187		fl6->saddr = info->key.u.ipv6.src;
   188		prio = info->key.tos;
   189	
   190		fl6->flowlabel = ip6_make_flowinfo(RT_TOS(prio),
   191						   info->key.label);
   192	#ifdef CONFIG_DST_CACHE
   193		dst_cache = (struct dst_cache *)&info->dst_cache;
   194		if (use_cache) {
 > 195			dst = dst_cache_get_ip6(dst_cache, &fl6->saddr);
   196			if (dst)
   197				return dst;
   198		}
   199	#endif
   200		dst = ipv6_stub->ipv6_dst_lookup_flow(net, sock->sk, fl6,
   201						      NULL);
   202		if (IS_ERR(dst)) {
   203			netdev_dbg(dev, "no route to %pI6\n", &fl6->daddr);
   204			return ERR_PTR(-ENETUNREACH);
   205		}
   206		if (dst->dev == dev) { /* is this necessary? */
   207			netdev_dbg(dev, "circular route to %pI6\n", &fl6->daddr);
   208			dst_release(dst);
   209			return ERR_PTR(-ELOOP);
   210		}
   211	#ifdef CONFIG_DST_CACHE
   212		if (use_cache)
 > 213			dst_cache_set_ip6(dst_cache, dst, &fl6->saddr);
   214	#endif
   215		return dst;
   216	}
   217	

---
0-DAY kernel test infrastructure                 Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help