Hi Jesper,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on bpf-next/master]

url:    
https://github.com/0day-ci/linux/commits/Jesper-Dangaard-Brouer/xdp-introduce-bulking-for-ndo_xdp_xmit-API/20180510-134105
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   In file included from net/core/filter.c:52:0:
   include/linux/bpf.h:577:28: warning: 'struct bpf_dtab_netdev' declared 
inside parameter list will not be visible outside of this definition or 
declaration
    int dev_map_enqueue(struct bpf_dtab_netdev *dst, struct xdp_buff *xdp)
                               ^~~~~~~~~~~~~~~
   net/core/filter.c: In function '__bpf_tx_xdp_map':
>> net/core/filter.c:3025:25: error: passing argument 1 of 'dev_map_enqueue' 
>> from incompatible pointer type [-Werror=incompatible-pointer-types]
      err = dev_map_enqueue(dst, xdp);
                            ^~~
   In file included from net/core/filter.c:52:0:
   include/linux/bpf.h:577:5: note: expected 'struct bpf_dtab_netdev *' but 
argument is of type 'struct bpf_dtab_netdev *'
    int dev_map_enqueue(struct bpf_dtab_netdev *dst, struct xdp_buff *xdp)
        ^~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/dev_map_enqueue +3025 net/core/filter.c

  3013  
  3014  static int __bpf_tx_xdp_map(struct net_device *dev_rx, void *fwd,
  3015                              struct bpf_map *map,
  3016                              struct xdp_buff *xdp,
  3017                              u32 index)
  3018  {
  3019          int err;
  3020  
  3021          switch (map->map_type) {
  3022          case BPF_MAP_TYPE_DEVMAP: {
  3023                  struct bpf_dtab_netdev *dst = fwd;
  3024  
> 3025                  err = dev_map_enqueue(dst, xdp);
  3026                  if (err)
  3027                          return err;
  3028                  __dev_map_insert_ctx(map, index);
  3029                  break;
  3030          }
  3031          case BPF_MAP_TYPE_CPUMAP: {
  3032                  struct bpf_cpu_map_entry *rcpu = fwd;
  3033  
  3034                  err = cpu_map_enqueue(rcpu, xdp, dev_rx);
  3035                  if (err)
  3036                          return err;
  3037                  __cpu_map_insert_ctx(map, index);
  3038                  break;
  3039          }
  3040          case BPF_MAP_TYPE_XSKMAP: {
  3041                  struct xdp_sock *xs = fwd;
  3042  
  3043                  err = __xsk_map_redirect(map, xdp, xs);
  3044                  return err;
  3045          }
  3046          default:
  3047                  break;
  3048          }
  3049          return 0;
  3050  }
  3051  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to