samples/bpf: fix SKB_MODE flag to be a 32-bit unsigned int

The kernel side of XDP_FLAGS_SKB_MODE is unsigned, and the rtnetlink
IFLA_XDP_FLAGS is defined as NLA_U32. Thus, userspace programs under
samples/bpf/ should use the correct type.

Fixes: 3993f2cb98 ("samples/bpf: Add support for SKB_MODE to xdp1 and xdp_tx_iptunnel")
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jesper Dangaard Brouer
2017-05-01 11:26:15 +02:00
committed by David S. Miller
parent d74a32acd5
commit 6387d0111c
4 changed files with 11 additions and 10 deletions

View File

@@ -142,8 +142,8 @@ int main(int argc, char **argv)
struct iptnl_info tnl = {};
struct rlimit r = {RLIM_INFINITY, RLIM_INFINITY};
struct vip vip = {};
__u32 xdp_flags = 0;
char filename[256];
int flags = 0;
int opt;
int i;
@@ -204,7 +204,7 @@ int main(int argc, char **argv)
kill_after_s = atoi(optarg);
break;
case 'S':
flags |= XDP_FLAGS_SKB_MODE;
xdp_flags |= XDP_FLAGS_SKB_MODE;
break;
default:
usage(argv[0]);
@@ -248,14 +248,14 @@ int main(int argc, char **argv)
}
}
if (set_link_xdp_fd(ifindex, prog_fd[0], flags) < 0) {
if (set_link_xdp_fd(ifindex, prog_fd[0], xdp_flags) < 0) {
printf("link set xdp fd failed\n");
return 1;
}
poll_stats(kill_after_s);
set_link_xdp_fd(ifindex, -1, flags);
set_link_xdp_fd(ifindex, -1, xdp_flags);
return 0;
}