Subject: Re: [PATCH iproute2-next] lib: bpf_legacy: add prog name, load time, uid and btf id in prog info dump

From: David Ahern <[email-masked]>
Date: Tue, 21 Sep 2021 08:53:06 -0600

On 9/17/21 2:23 PM, Gokul Sivakumar wrote:
> The BPF program name is included when dumping the BPF program info and the
> kernel only stores the first (BPF_PROG_NAME_LEN - 1) bytes for the program
> name.
> 
> $ sudo ip link show dev docker0
> 4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdpgeneric qdisc noqueue state UP mode DEFAULT group default
>     link/ether 02:42:4c:df:a4:54 brd ff:ff:ff:ff:ff:ff
>     prog/xdp id 789 name xdp_drop_func tag 57cd311f2e27366b jited
> 
> The BPF program load time (ns since boottime), UID of the user who loaded
> the program and the BTF ID are also included when dumping the BPF program
> information when the user expects a detailed ip link info output.
> 
> $ sudo ip -details link show dev docker0
> 4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdpgeneric qdisc noqueue state UP mode DEFAULT group default
>     link/ether 02:42:4c:df:a4:54 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 65535
>     bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768 vlan_filt
> ering 0 vlan_protocol 802.1Q bridge_id 8000.2:42:4c:df:a4:54 designated_root 8000.2:42:4c:df:a4:54 root_port 0 r
> oot_path_cost 0 topology_change 0 topology_change_detected 0 hello_timer    0.00 tcn_timer    0.00 topology_chan
> ge_timer    0.00 gc_timer  265.36 vlan_default_pvid 1 vlan_stats_enabled 0 vlan_stats_per_port 0 group_fwd_mask
> 0 group_address 01:80:c2:00:00:00 mcast_snooping 1 mcast_router 1 mcast_query_use_ifaddr 0 mcast_querier 0 mcast
> _hash_elasticity 16 mcast_hash_max 4096 mcast_last_member_count 2 mcast_startup_query_count 2 mcast_last_member_
> interval 100 mcast_membership_interval 26000 mcast_querier_interval 25500 mcast_query_interval 12500 mcast_query
> _response_interval 1000 mcast_startup_query_interval 3124 mcast_stats_enabled 0 mcast_igmp_version 2 mcast_mld_v
> ersion 1 nf_call_iptables 0 nf_call_ip6tables 0 nf_call_arptables 0 addrgenmode eui64 numtxqueues 1 numrxqueues
> 1 gso_max_size 65536 gso_max_segs 65535
>     prog/xdp id 789 name xdp_drop_func tag 57cd311f2e27366b jited load_time 2676682607316255 created_by_uid 0 btf_id 708

what kernel is this? I was not aware bridge devices support XDP and do
not see that support in net-next.