MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kni_process_rx

Function kni_process_rx

lib/ff_dpdk_kni.c:173–194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171}
172
173static int
174kni_process_rx(uint16_t port_id, uint16_t queue_id,
175 struct rte_mbuf **pkts_burst, unsigned count)
176{
177 uint16_t nb_kni_rx = 0, nb_rx;
178
179 nb_kni_rx = rte_eth_rx_burst(kni_stat[port_id]->port_id, 0, pkts_burst, count);
180
181 if (nb_kni_rx > 0) {
182 nb_rx = rte_eth_tx_burst(port_id, queue_id, pkts_burst, nb_kni_rx);
183 if (nb_rx < nb_kni_rx) {
184 uint16_t i;
185 for(i = nb_rx; i < nb_kni_rx; ++i)
186 rte_pktmbuf_free(pkts_burst[i]);
187
188 kni_stat[port_id]->tx_dropped += (nb_kni_rx - nb_rx);
189 }
190
191 kni_stat[port_id]->tx_packets += nb_rx;
192 }
193 return 0;
194}
195
196static enum FilterReturn
197protocol_filter_l4(uint16_t port, unsigned char *bitmap)

Callers 1

ff_kni_processFunction · 0.85

Calls 3

rte_eth_rx_burstFunction · 0.85
rte_eth_tx_burstFunction · 0.85
rte_pktmbuf_freeFunction · 0.85

Tested by

no test coverage detected