Subject: Re: [PATCH 2/3] net: amd-xgbe: add ARP offload ethtool self-test

From: kernel test robot <[email-masked]>
Date: Tue, 3 Feb 2026 10:00:48 +0800

Hi Raju,

kernel test robot noticed the following build errors:

[auto build test ERROR on net/main]
[also build test ERROR on net-next/main linus/master v6.19-rc8 next-20260202]
[cannot apply to horms-ipvs/master]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Raju-Rangoju/net-amd-xgbe-add-hardware-ARP-offload-support/20260202-235023
base:   net/main
patch link:    https://lore.kernel.org/r/20260202153542.1727429-3-Raju.Rangoju%40amd.com
patch subject: [PATCH 2/3] net: amd-xgbe: add ARP offload ethtool self-test
config: powerpc-randconfig-002-20260203 (https://download.01.org/0day-ci/archive/20260203/[email-masked]/config)
compiler: powerpc-linux-gcc (GCC) 10.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260203/[email-masked]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email-masked]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email-masked]/

All errors (new ones prefixed by >>):

   powerpc-linux-ld: drivers/net/ethernet/amd/xgbe/xgbe-selftest.o: in function `xgbe_test_arpoffload':
>> drivers/net/ethernet/amd/xgbe/xgbe-selftest.c:230: undefined reference to `arp_create'
   powerpc-linux-ld: net/core/selftests.o: in function `net_test_get_skb':
   net/core/selftests.c:104: undefined reference to `ip_send_check'
   powerpc-linux-ld: net/core/selftests.c:148: undefined reference to `udp4_hwcsum'

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for HOTPLUG_CPU
   Depends on [n]: SMP [=y] && (PPC_PSERIES [=n] || PPC_PMAC [=n] || PPC_POWERNV [=n] || FSL_SOC_BOOKE [=n])
   Selected by [y]:
   - PM_SLEEP_SMP [=y] && SMP [=y] && (ARCH_SUSPEND_POSSIBLE [=n] || ARCH_HIBERNATION_POSSIBLE [=y]) && PM_SLEEP [=y]
   WARNING: unmet direct dependencies detected for NET_SELFTESTS
   Depends on [n]: NET [=y] && PHYLIB [=y] && INET [=n]
   Selected by [y]:
   - AMD_XGBE [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_AMD [=y] && (OF_ADDRESS [=y] || ACPI || PCI [=n]) && HAS_IOMEM [=y] && (X86 || ARM64 || COMPILE_TEST [=y]) && PTP_1588_CLOCK_OPTIONAL [=y]

vim +230 drivers/net/ethernet/amd/xgbe/xgbe-selftest.c

   194	
   195	static int xgbe_test_arpoffload(struct xgbe_prv_data *pdata)
   196	{
   197		unsigned char src[ETH_ALEN] = {0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f};
   198		unsigned char bcast[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
   199		struct net_packet_attrs attr = {};
   200		struct net_test_priv *tdata;
   201		struct sk_buff *skb = NULL;
   202		u32 dst_ip = 0xabcdefab;
   203		u32 src_ip = 0xefdcbaef;
   204		int ret;
   205	
   206		/* Check if ARP offload is supported */
   207		if (!pdata->hw_feat.aoe)
   208			return -EOPNOTSUPP;
   209	
   210		tdata = kzalloc(sizeof(*tdata), GFP_KERNEL);
   211		if (!tdata)
   212			return -ENOMEM;
   213	
   214		tdata->ok = false;
   215		init_completion(&tdata->comp);
   216	
   217		tdata->pt.type = htons(ETH_P_ARP);
   218		tdata->pt.func = xgbe_test_arp_validate;
   219		tdata->pt.dev = pdata->netdev;
   220		tdata->pt.af_packet_priv = tdata;
   221		tdata->packet = &attr;
   222		dev_add_pack(&tdata->pt);
   223	
   224		attr.src = src;
   225		attr.ip_src = src_ip;
   226		attr.dst = bcast;
   227		attr.ip_dst = dst_ip;
   228	
   229		/* Create ARP request packet */
 > 230		skb = arp_create(ARPOP_REQUEST, ETH_P_ARP, htonl(dst_ip),
   231				 pdata->netdev,	htonl(src_ip), NULL, src, bcast);
   232		if (!skb) {
   233			ret = -ENOMEM;
   234			goto free;
   235		}
   236	
   237		skb->pkt_type = PACKET_HOST;
   238		skb->dev = pdata->netdev;
   239		skb->protocol = htons(ETH_P_ARP);
   240	
   241		/* Enable ARP offload */
   242		xgbe_enable_arp_offload(pdata, dst_ip);
   243	
   244		ret = dev_set_promiscuity(pdata->netdev, 1);
   245		if (ret) {
   246			kfree_skb(skb);
   247			goto cleanup;
   248		}
   249	
   250		ret = dev_direct_xmit(skb, 0);
   251		if (ret)
   252			goto cleanup_promisc;
   253	
   254		/* Wait for ARP reply */
   255		wait_for_completion_timeout(&tdata->comp, NET_LB_TIMEOUT);
   256		ret = tdata->ok ? 0 : -ETIMEDOUT;
   257	
   258	cleanup_promisc:
   259		dev_set_promiscuity(pdata->netdev, -1);
   260	cleanup:
   261		xgbe_disable_arp_offload(pdata);
   262		dev_remove_pack(&tdata->pt);
   263	free:
   264		kfree(tdata);
   265		return ret;
   266	}
   267	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki