On 06/21/2017 08:23 PM, Alexander Duyck wrote:
On Wed, Jun 21, 2017 at 10:54 AM, John Fastabend
<[email protected]> wrote:
On 06/21/2017 10:27 AM, Daniel Borkmann wrote:
[...]
drivers/net/ethernet/intel/i40e/i40e_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c
b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 2db93d3..6f5adb5 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -9589,6 +9589,7 @@ static int i40e_xdp(struct net_device *dev,
return i40e_xdp_setup(vsi, xdp->prog);
case XDP_QUERY_PROG:
xdp->prog_attached = i40e_enabled_xdp_vsi(vsi);
+ xdp->prog_id = xdp->prog_attached ? vsi->xdp_prog->aux->id : 0;
return 0;
default:
return -EINVAL;
Looks good to me.
Acked-by: John Fastabend <[email protected]>
My preference would be to test for vsi->xdp_prog instead of
xdp->prog_attached since it is more obvious what is going on in that
case. We might even want to look at getting rid of the call to
i40e_enabled_xdp_vsi eventually. But that is probably follow-up work
for later.
Yeah, given i40e_enabled_xdp_vsi() is just returning !!vsi->xdp_prog
anyway.
This should work assuming the RTNL lock is always held when this call is made.
That is guaranteed from call-sites, it's strictly required.
Acked-by: Alexander Duyck <[email protected]>