All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-review:UPDATE-20200214-042558/Jason-A-Donenfeld/icmp-account-for-NAT-when-sending-icmps-from-ndo-layer/20200212-230112 2/5] drivers/net/gtp.c:549:3: error: implicit declaration of function 'icmp_ndo_send'; did you mean 'icmp_send'?
@ 2020-02-14  6:27 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-02-14  6:27 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 4002 bytes --]

tree:   https://github.com/0day-ci/linux/commits/UPDATE-20200214-042558/Jason-A-Donenfeld/icmp-account-for-NAT-when-sending-icmps-from-ndo-layer/20200212-230112
head:   d4beab86ce54bfb61fe36aca5bcef81022d5e7a3
commit: ab53ca80e4aee0a2cdfcb02b3d9d9761b85dbf53 [2/5] gtp: use icmp_ndo_send helper
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout ab53ca80e4aee0a2cdfcb02b3d9d9761b85dbf53
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/net/gtp.c: In function 'gtp_build_skb_ip4':
>> drivers/net/gtp.c:549:3: error: implicit declaration of function 'icmp_ndo_send'; did you mean 'icmp_send'? [-Werror=implicit-function-declaration]
      icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
      ^~~~~~~~~~~~~
      icmp_send
   cc1: some warnings being treated as errors

vim +549 drivers/net/gtp.c

   481	
   482	static int gtp_build_skb_ip4(struct sk_buff *skb, struct net_device *dev,
   483				     struct gtp_pktinfo *pktinfo)
   484	{
   485		struct gtp_dev *gtp = netdev_priv(dev);
   486		struct pdp_ctx *pctx;
   487		struct rtable *rt;
   488		struct flowi4 fl4;
   489		struct iphdr *iph;
   490		__be16 df;
   491		int mtu;
   492	
   493		/* Read the IP destination address and resolve the PDP context.
   494		 * Prepend PDP header with TEI/TID from PDP ctx.
   495		 */
   496		iph = ip_hdr(skb);
   497		if (gtp->role == GTP_ROLE_SGSN)
   498			pctx = ipv4_pdp_find(gtp, iph->saddr);
   499		else
   500			pctx = ipv4_pdp_find(gtp, iph->daddr);
   501	
   502		if (!pctx) {
   503			netdev_dbg(dev, "no PDP ctx found for %pI4, skip\n",
   504				   &iph->daddr);
   505			return -ENOENT;
   506		}
   507		netdev_dbg(dev, "found PDP context %p\n", pctx);
   508	
   509		rt = ip4_route_output_gtp(&fl4, pctx->sk, pctx->peer_addr_ip4.s_addr);
   510		if (IS_ERR(rt)) {
   511			netdev_dbg(dev, "no route to SSGN %pI4\n",
   512				   &pctx->peer_addr_ip4.s_addr);
   513			dev->stats.tx_carrier_errors++;
   514			goto err;
   515		}
   516	
   517		if (rt->dst.dev == dev) {
   518			netdev_dbg(dev, "circular route to SSGN %pI4\n",
   519				   &pctx->peer_addr_ip4.s_addr);
   520			dev->stats.collisions++;
   521			goto err_rt;
   522		}
   523	
   524		skb_dst_drop(skb);
   525	
   526		/* This is similar to tnl_update_pmtu(). */
   527		df = iph->frag_off;
   528		if (df) {
   529			mtu = dst_mtu(&rt->dst) - dev->hard_header_len -
   530				sizeof(struct iphdr) - sizeof(struct udphdr);
   531			switch (pctx->gtp_version) {
   532			case GTP_V0:
   533				mtu -= sizeof(struct gtp0_header);
   534				break;
   535			case GTP_V1:
   536				mtu -= sizeof(struct gtp1_header);
   537				break;
   538			}
   539		} else {
   540			mtu = dst_mtu(&rt->dst);
   541		}
   542	
   543		rt->dst.ops->update_pmtu(&rt->dst, NULL, skb, mtu, false);
   544	
   545		if (!skb_is_gso(skb) && (iph->frag_off & htons(IP_DF)) &&
   546		    mtu < ntohs(iph->tot_len)) {
   547			netdev_dbg(dev, "packet too big, fragmentation needed\n");
   548			memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
 > 549			icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
   550				      htonl(mtu));
   551			goto err_rt;
   552		}
   553	
   554		gtp_set_pktinfo_ipv4(pktinfo, pctx->sk, iph, pctx, rt, &fl4, dev);
   555		gtp_push_header(skb, pktinfo);
   556	
   557		return 0;
   558	err_rt:
   559		ip_rt_put(rt);
   560	err:
   561		return -EBADMSG;
   562	}
   563	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 53748 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-02-14  6:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-14  6:27 [linux-review:UPDATE-20200214-042558/Jason-A-Donenfeld/icmp-account-for-NAT-when-sending-icmps-from-ndo-layer/20200212-230112 2/5] drivers/net/gtp.c:549:3: error: implicit declaration of function 'icmp_ndo_send'; did you mean 'icmp_send'? kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.