[Intel-wired-lan] [jkirsher-next-queue:dev-queue 159/160] drivers/net/ethernet/intel/i40e/i40e_main.c:8486:44: error: 'UDP_TUNNEL_GENEVE' undeclared

kbuild test robot fengguang.wu at intel.com
Fri Nov 13 22:13:30 UTC 2015


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head:   7c2cae61768b0da68519e4c45a86aafab84dda28
commit: 114cf62d6a97359dac112f2571a5ffe03ec32a56 [159/160] i40e:Add geneve tunnel offload support
config: x86_64-rhel (attached as .config)
reproduce:
        git checkout 114cf62d6a97359dac112f2571a5ffe03ec32a56
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/net/ethernet/intel/i40e/i40e_main.c: In function 'i40e_service_task':
   drivers/net/ethernet/intel/i40e/i40e_main.c:7069:2: error: implicit declaration of function 'i40e_sync_udp_filters_subtask' [-Werror=implicit-function-declaration]
     i40e_sync_udp_filters_subtask(pf);
     ^
   drivers/net/ethernet/intel/i40e/i40e_main.c: In function 'i40e_add_tunnel_port':
   drivers/net/ethernet/intel/i40e/i40e_main.c:8486:16: error: 'UDP_TUNNEL_VXLAN' undeclared (first use in this function)
     if (!(type == UDP_TUNNEL_VXLAN || type == UDP_TUNNEL_GENEVE))
                   ^
   drivers/net/ethernet/intel/i40e/i40e_main.c:8486:16: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/ethernet/intel/i40e/i40e_main.c:8486:44: error: 'UDP_TUNNEL_GENEVE' undeclared (first use in this function)
     if (!(type == UDP_TUNNEL_VXLAN || type == UDP_TUNNEL_GENEVE))
                                               ^
   drivers/net/ethernet/intel/i40e/i40e_main.c: In function 'i40e_del_tunnel_port':
   drivers/net/ethernet/intel/i40e/i40e_main.c:8553:16: error: 'UDP_TUNNEL_VXLAN' undeclared (first use in this function)
     if (!(type == UDP_TUNNEL_VXLAN || type == UDP_TUNNEL_GENEVE))
                   ^
   drivers/net/ethernet/intel/i40e/i40e_main.c:8553:44: error: 'UDP_TUNNEL_GENEVE' undeclared (first use in this function)
     if (!(type == UDP_TUNNEL_VXLAN || type == UDP_TUNNEL_GENEVE))
                                               ^
   drivers/net/ethernet/intel/i40e/i40e_main.c: At top level:
>> drivers/net/ethernet/intel/i40e/i40e_main.c:8579:2: error: #endif without #if
    #endif
     ^
   cc1: some warnings being treated as errors

vim +/UDP_TUNNEL_GENEVE +8486 drivers/net/ethernet/intel/i40e/i40e_main.c

  8480		struct i40e_netdev_priv *np = netdev_priv(netdev);
  8481		struct i40e_vsi *vsi = np->vsi;
  8482		struct i40e_pf *pf = vsi->back;
  8483		u8 next_idx;
  8484		u8 idx;
  8485	
> 8486		if (!(type == UDP_TUNNEL_VXLAN || type == UDP_TUNNEL_GENEVE))
  8487			goto out;
  8488	
  8489		if ((type == UDP_TUNNEL_GENEVE) &&
  8490		    (!(pf->flags & I40E_FLAG_GENEVE_OFFLOAD_CAPABLE)))
  8491			goto out;
  8492	
  8493		if (sa_family == AF_INET6)
  8494			goto out;
  8495	
  8496		spin_lock(&pf->udp_tunnel_lock);
  8497		idx = i40e_get_udp_port_idx(pf, port);
  8498	
  8499		/* Check if port already exists */
  8500		if (idx < I40E_MAX_PF_UDP_OFFLOAD_PORTS) {
  8501			netdev_info(netdev, "UDP port %d already offloaded\n",
  8502				    ntohs(port));
  8503			goto err;
  8504		}
  8505	
  8506		/* Now check if there is space to add the new port */
  8507		next_idx = i40e_get_udp_port_idx(pf, 0);
  8508	
  8509		if (next_idx == I40E_MAX_PF_UDP_OFFLOAD_PORTS) {
  8510			netdev_info(netdev, "maximum number of UDP ports reached, not adding port %d\n",
  8511				    ntohs(port));
  8512			goto err;
  8513		}
  8514	
  8515		/* New port: add it and mark its index in the bitmap */
  8516		pf->udp_ports[next_idx].index = port;
  8517		if (type == UDP_TUNNEL_VXLAN)
  8518			pf->udp_ports[next_idx].type = I40E_AQC_TUNNEL_TYPE_VXLAN;
  8519		else if (type == UDP_TUNNEL_GENEVE)
  8520			pf->udp_ports[next_idx].type = I40E_AQC_TUNNEL_TYPE_NGE;
  8521	
  8522		pf->pending_udp_bitmap |= BIT_ULL(next_idx);
  8523		pf->flags |= I40E_FLAG_UDP_FILTER_SYNC;
  8524	
  8525	err:
  8526		spin_unlock(&pf->udp_tunnel_lock);
  8527	out:
  8528		return;
  8529	
  8530	#endif
  8531	}
  8532	
  8533	/**
  8534	 * i40e_del_tunnel_port - Get notifications about UDP tunnel ports that go away
  8535	 * @netdev: This physical port's netdev
  8536	 * @sa_family: Socket Family that tunnel netdev is associated with
  8537	 * @port: UDP port number that tunnel stopped listening to
  8538	 * @type: Tunnel Type
  8539	 *
  8540	 * This function modifies a common data structure for all udp_tunnels
  8541	 * hence it is expected that it is called under common lock.
  8542	 **/
  8543	static void i40e_del_tunnel_port(struct net_device *netdev,
  8544					 sa_family_t sa_family, __be16 port,
  8545					 u32 type)
  8546	{
  8547	#if IS_ENABLED(CONFIG_VXLAN) || IS_ENABLED(CONFIG_GENEVE)
  8548		struct i40e_netdev_priv *np = netdev_priv(netdev);
  8549		struct i40e_vsi *vsi = np->vsi;
  8550		struct i40e_pf *pf = vsi->back;
  8551		u8 idx;
  8552	
> 8553		if (!(type == UDP_TUNNEL_VXLAN || type == UDP_TUNNEL_GENEVE))
  8554			return;
  8555	
  8556		if (sa_family == AF_INET6)
  8557			return;
  8558	
  8559		spin_lock(&pf->udp_tunnel_lock);
  8560	
  8561		idx = i40e_get_udp_port_idx(pf, port);
  8562	
  8563		/* Check if port already exists */
  8564		if (idx < I40E_MAX_PF_UDP_OFFLOAD_PORTS) {
  8565			/* if port exists, set it to 0 (mark for deletion)
  8566			 * and make it pending
  8567			 */
  8568			pf->udp_ports[idx].index = 0;
  8569			pf->pending_udp_bitmap |= BIT_ULL(idx);
  8570			pf->flags |= I40E_FLAG_UDP_FILTER_SYNC;
  8571		} else {
  8572			netdev_warn(netdev, "udp tunnel port %d was not found, not deleting\n",
  8573				    ntohs(port));
  8574		}
  8575		spin_unlock(&pf->udp_tunnel_lock);
  8576	#endif
  8577	}
  8578	
> 8579	#endif
  8580	static int i40e_get_phys_port_id(struct net_device *netdev,
  8581					 struct netdev_phys_item_id *ppid)
  8582	{

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 35613 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20151114/fb137c19/attachment-0001.obj>


More information about the Intel-wired-lan mailing list