Hi pf_ring_handle_skb() returns <= 0 when the packet has not been handled by pf_ring, in this case the print should be correct, right?
Alfredo On 12 Aug 2014, at 08:46, lxgeek <[email protected]> wrote: > hi all: > In the > drivers/PF_RING_aware/non-ZC-drivers/intel/ixgbe/ixgbe-3.19.1/src/ixgbe_main.c > ############################################ > 1881 static void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector, > 1882 struct ixgbe_ring *rx_ring, > 1883 union ixgbe_adv_rx_desc *rx_desc, > 1884 struct sk_buff *skb) > 1885 { > 1886 #ifdef CONFIG_NET_RX_BUSY_POLL > 1887 skb_mark_napi_id(skb, &q_vector->napi); > 1888 > 1889 if (ixgbe_qv_busy_polling(q_vector)) { > 1890 netif_receive_skb(skb); > 1891 /* exit early if we busy polled */ > 1892 return; > 1893 } > 1894 #endif > 1895 > 1896 #ifndef IXGBE_NO_LRO > 1897 if (ixgbe_can_lro(rx_ring, rx_desc, skb)) > 1898 ixgbe_lro_receive(q_vector, skb); > 1899 else > 1900 #endif > 1901 #ifdef HAVE_PF_RING > 1902 { > 1903 int rc, debug = 0; > 1904 > 1905 if((rc = pf_ring_handle_skb(q_vector, skb)) <= 0) { > 1906 if(unlikely(debug)) printk("[IXGBE] Standard Linux path > [rc=%d]\n", rc); > 1907 #endif > 1908 #ifdef HAVE_VLAN_RX_REGISTER > 1909 ixgbe_receive_skb(q_vector, skb); > 1910 #else > 1911 napi_gro_receive(&q_vector->napi, skb); > 1912 #endif > 1913 #ifdef HAVE_PF_RING > 1914 } else { > 1915 if(unlikely(debug)) printk("[ixgbe] pf_ring path > [rc=%d]\n", rc); > 1916 } > 1917 } > 1918 #endif > ############################################ > I think the print messages in line 1906 maybe error, because the > "pf_ring_handle_skb" let the packet pass by PF_RING path not standard linux > path."rc" should represent the result of PF_RING path. > > > > > _______________________________________________ > Ntop-misc mailing list > [email protected] > http://listgateway.unipi.it/mailman/listinfo/ntop-misc _______________________________________________ Ntop-misc mailing list [email protected] http://listgateway.unipi.it/mailman/listinfo/ntop-misc
