diff options
Diffstat (limited to 'tools/lib/bpf/netlink.c')
| -rw-r--r-- | tools/lib/bpf/netlink.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/lib/bpf/netlink.c b/tools/lib/bpf/netlink.c index 1653e7a8b0a1..84dd5fa14905 100644 --- a/tools/lib/bpf/netlink.c +++ b/tools/lib/bpf/netlink.c @@ -468,8 +468,13 @@ int bpf_xdp_query(int ifindex, int xdp_flags, struct bpf_xdp_query_opts *opts)  		return 0;  	err = libbpf_netlink_resolve_genl_family_id("netdev", sizeof("netdev"), &id); -	if (err < 0) +	if (err < 0) { +		if (err == -ENOENT) { +			opts->feature_flags = 0; +			goto skip_feature_flags; +		}  		return libbpf_err(err); +	}  	memset(&req, 0, sizeof(req));  	req.nh.nlmsg_len = NLMSG_LENGTH(GENL_HDRLEN); @@ -489,6 +494,7 @@ int bpf_xdp_query(int ifindex, int xdp_flags, struct bpf_xdp_query_opts *opts)  	opts->feature_flags = md.flags; +skip_feature_flags:  	return 0;  }  |