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]>

Reply via email to