Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
[linux-2.6-microblaze.git] / drivers / net / ethernet / intel / ice / ice_txrx.h
index 1e46e80..cce348c 100644 (file)
@@ -164,17 +164,10 @@ struct ice_tx_offload_params {
 };
 
 struct ice_rx_buf {
-       union {
-               struct {
-                       dma_addr_t dma;
-                       struct page *page;
-                       unsigned int page_offset;
-                       u16 pagecnt_bias;
-               };
-               struct {
-                       struct xdp_buff *xdp;
-               };
-       };
+       dma_addr_t dma;
+       struct page *page;
+       unsigned int page_offset;
+       u16 pagecnt_bias;
 };
 
 struct ice_q_stats {
@@ -270,6 +263,7 @@ struct ice_ring {
        union {
                struct ice_tx_buf *tx_buf;
                struct ice_rx_buf *rx_buf;
+               struct xdp_buff **xdp_buf;
        };
        /* CL2 - 2nd cacheline starts here */
        u16 q_index;                    /* Queue number of ring */
@@ -378,6 +372,9 @@ union ice_32b_rx_flex_desc;
 
 bool ice_alloc_rx_bufs(struct ice_ring *rxr, u16 cleaned_count);
 netdev_tx_t ice_start_xmit(struct sk_buff *skb, struct net_device *netdev);
+u16
+ice_select_queue(struct net_device *dev, struct sk_buff *skb,
+                struct net_device *sb_dev);
 void ice_clean_tx_ring(struct ice_ring *tx_ring);
 void ice_clean_rx_ring(struct ice_ring *rx_ring);
 int ice_setup_tx_ring(struct ice_ring *tx_ring);