aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
diff options
context:
space:
mode:
authorEliezer Tamir <eliezer.tamir@linux.intel.com>2013-06-10 04:40:20 -0400
committerDavid S. Miller <davem@davemloft.net>2013-06-11 00:22:36 -0400
commit5a85e737f30ce7b939a34d93cca816400342208c (patch)
tree6b1b3d2970b60c8733a3f5e253fb463e1f6d9f0f /drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
parentd30e383bb856f614ddb5bbbb5a7d3f86240e41ec (diff)
ixgbe: add support for ndo_ll_poll
Add the ixgbe driver code implementing ndo_ll_poll. Adds ndo_ll_poll method and locking between it and the napi poll. When receiving a packet we use skb_mark_ll to record the napi it came from. Add each napi to the napi_hash right after netif_napi_add(). Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Eliezer Tamir <eliezer.tamir@linux.intel.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c')
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
index ef5f7a678ce1..90b4e1089ecc 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
@@ -811,6 +811,7 @@ static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter,
811 /* initialize NAPI */ 811 /* initialize NAPI */
812 netif_napi_add(adapter->netdev, &q_vector->napi, 812 netif_napi_add(adapter->netdev, &q_vector->napi,
813 ixgbe_poll, 64); 813 ixgbe_poll, 64);
814 napi_hash_add(&q_vector->napi);
814 815
815 /* tie q_vector and adapter together */ 816 /* tie q_vector and adapter together */
816 adapter->q_vector[v_idx] = q_vector; 817 adapter->q_vector[v_idx] = q_vector;
@@ -931,6 +932,7 @@ static void ixgbe_free_q_vector(struct ixgbe_adapter *adapter, int v_idx)
931 adapter->rx_ring[ring->queue_index] = NULL; 932 adapter->rx_ring[ring->queue_index] = NULL;
932 933
933 adapter->q_vector[v_idx] = NULL; 934 adapter->q_vector[v_idx] = NULL;
935 napi_hash_del(&q_vector->napi);
934 netif_napi_del(&q_vector->napi); 936 netif_napi_del(&q_vector->napi);
935 937
936 /* 938 /*