Re: [PATCH bpf-next 2/6] bpftool: stop supporting BPF offload-enabled feature probing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2022-02-02 14:59 UTC-0800 ~ Andrii Nakryiko <andrii@xxxxxxxxxx>
> libbpf 1.0 is not going to support passing ifindex to BPF
> prog/map/helper feature probing APIs. Remove the support for BPF offload
> feature probing.
> 
> Cc: Quentin Monnet <quentin@xxxxxxxxxxxxx>
> Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
> ---
>  tools/bpf/bpftool/feature.c | 29 +++++++++++++++++------------
>  1 file changed, 17 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/bpf/bpftool/feature.c b/tools/bpf/bpftool/feature.c
> index e999159fa28d..9c894b1447de 100644
> --- a/tools/bpf/bpftool/feature.c
> +++ b/tools/bpf/bpftool/feature.c
> @@ -487,17 +487,12 @@ probe_prog_type(enum bpf_prog_type prog_type, bool *supported_types,
>  	size_t maxlen;
>  	bool res;
>  
> -	if (ifindex)
> -		/* Only test offload-able program types */
> -		switch (prog_type) {
> -		case BPF_PROG_TYPE_SCHED_CLS:
> -		case BPF_PROG_TYPE_XDP:
> -			break;
> -		default:
> -			return;
> -		}
> +	if (ifindex) {
> +		p_info("BPF offload feature probing is not supported");
> +		return;
> +	}
>  
> -	res = bpf_probe_prog_type(prog_type, ifindex);
> +	res = libbpf_probe_bpf_prog_type(prog_type, NULL);
>  #ifdef USE_LIBCAP
>  	/* Probe may succeed even if program load fails, for unprivileged users
>  	 * check that we did not fail because of insufficient permissions
> @@ -535,7 +530,12 @@ probe_map_type(enum bpf_map_type map_type, const char *define_prefix,
>  	size_t maxlen;
>  	bool res;
>  
> -	res = bpf_probe_map_type(map_type, ifindex);
> +	if (ifindex) {
> +		p_info("BPF offload feature probing is not supported");
> +		return;
> +	}
> +
> +	res = libbpf_probe_bpf_map_type(map_type, NULL);
>  
>  	/* Probe result depends on the success of map creation, no additional
>  	 * check required for unprivileged users
> @@ -567,7 +567,12 @@ probe_helper_for_progtype(enum bpf_prog_type prog_type, bool supported_type,
>  	bool res = false;
>  
>  	if (supported_type) {
> -		res = bpf_probe_helper(id, prog_type, ifindex);
> +		if (ifindex) {
> +			p_info("BPF offload feature probing is not supported");
> +			return;
> +		}
> +
> +		res = libbpf_probe_bpf_helper(prog_type, id, NULL);
>  #ifdef USE_LIBCAP
>  		/* Probe may succeed even if program load fails, for
>  		 * unprivileged users check that we did not fail because of

Thanks for the Cc. This feature was added for Netronome's SmartNICs and
I don't work with them anymore, so no objection from me (if anything,
that's one more incentive to finalise the new versioning scheme and have
this change under a new major version number!).

+Cc Simon, David: Hi! If you folks are still using bpftool to probe
eBPF-related features supported by the NICs, we'll have to move the
probes to bpftool.

Quentin



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux