Hi Jesper, [auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Jesper-Dangaard-Brouer/New-bpf-cpumap-type-for-XDP_REDIRECT/20171001-064716 config: i386-randconfig-i0-201740 (attached as .config) compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): net//core/filter.c: In function '__bpf_tx_xdp_map': >> net//core/filter.c:2550:3: error: implicit declaration of function >> 'cpu_map_enqueue' [-Werror=implicit-function-declaration] err = cpu_map_enqueue(rcpu, xdp, dev_rx); ^ >> net//core/filter.c:2553:3: error: implicit declaration of function >> '__cpu_map_insert_ctx' [-Werror=implicit-function-declaration] __cpu_map_insert_ctx(map, index); ^ net//core/filter.c: In function 'xdp_do_flush_map': >> net//core/filter.c:2570:4: error: implicit declaration of function >> '__cpu_map_flush' [-Werror=implicit-function-declaration] __cpu_map_flush(map); ^ net//core/filter.c: In function '__xdp_map_lookup_elem': >> net//core/filter.c:2585:3: error: implicit declaration of function >> '__cpu_map_lookup_elem' [-Werror=implicit-function-declaration] return __cpu_map_lookup_elem(map, index); ^ >> net//core/filter.c:2585:3: warning: return makes pointer from integer >> without a cast [enabled by default] cc1: some warnings being treated as errors vim +/cpu_map_enqueue +2550 net//core/filter.c 2527 2528 static int __bpf_tx_xdp_map(struct net_device *dev_rx, void *fwd, 2529 struct bpf_map *map, 2530 struct xdp_buff *xdp, 2531 u32 index) 2532 { 2533 int err; 2534 2535 if (map->map_type == BPF_MAP_TYPE_DEVMAP) { 2536 struct net_device *dev = fwd; 2537 2538 if (!dev->netdev_ops->ndo_xdp_xmit) { 2539 return -EOPNOTSUPP; 2540 } 2541 2542 err = dev->netdev_ops->ndo_xdp_xmit(dev, xdp); 2543 if (err) 2544 return err; 2545 __dev_map_insert_ctx(map, index); 2546 2547 } else if (map->map_type == BPF_MAP_TYPE_CPUMAP) { 2548 struct bpf_cpu_map_entry *rcpu = fwd; 2549 > 2550 err = cpu_map_enqueue(rcpu, xdp, dev_rx); 2551 if (err) 2552 return err; > 2553 __cpu_map_insert_ctx(map, index); 2554 } 2555 return 0; 2556 } 2557 2558 void xdp_do_flush_map(void) 2559 { 2560 struct redirect_info *ri = this_cpu_ptr(&redirect_info); 2561 struct bpf_map *map = ri->map_to_flush; 2562 2563 ri->map_to_flush = NULL; 2564 if (map) { 2565 switch (map->map_type) { 2566 case BPF_MAP_TYPE_DEVMAP: 2567 __dev_map_flush(map); 2568 break; 2569 case BPF_MAP_TYPE_CPUMAP: > 2570 __cpu_map_flush(map); 2571 break; 2572 default: 2573 break; 2574 } 2575 } 2576 } 2577 EXPORT_SYMBOL_GPL(xdp_do_flush_map); 2578 2579 static void *__xdp_map_lookup_elem(struct bpf_map *map, u32 index) 2580 { 2581 switch (map->map_type) { 2582 case BPF_MAP_TYPE_DEVMAP: 2583 return __dev_map_lookup_elem(map, index); 2584 case BPF_MAP_TYPE_CPUMAP: > 2585 return __cpu_map_lookup_elem(map, index); 2586 default: 2587 return NULL; 2588 } 2589 } 2590 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip