X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eventdev%2Frte_event_eth_rx_adapter.c;h=b6ff57b429882a2110d5d611370116429abd3b46;hb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;hp=71d008cd19f9fbff3c04ab386b91ad080a33e79d;hpb=9757358342a089e9d3e770cc3e4b4b1289d65abe;p=dpdk.git diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c index 71d008cd19..b6ff57b429 100644 --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c @@ -614,8 +614,9 @@ static inline void rxa_mtoip(struct rte_mbuf *m, struct ipv4_hdr **ipv4_hdr, struct ipv6_hdr **ipv6_hdr) { - struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(m, struct ether_hdr *); - struct vlan_hdr *vlan_hdr; + struct rte_ether_hdr *eth_hdr = + rte_pktmbuf_mtod(m, struct rte_ether_hdr *); + struct rte_vlan_hdr *vlan_hdr; *ipv4_hdr = NULL; *ipv6_hdr = NULL; @@ -630,7 +631,7 @@ rxa_mtoip(struct rte_mbuf *m, struct ipv4_hdr **ipv4_hdr, break; case RTE_BE16(ETHER_TYPE_VLAN): - vlan_hdr = (struct vlan_hdr *)(eth_hdr + 1); + vlan_hdr = (struct rte_vlan_hdr *)(eth_hdr + 1); switch (vlan_hdr->eth_proto) { case RTE_BE16(ETHER_TYPE_IPv4): *ipv4_hdr = (struct ipv4_hdr *)(vlan_hdr + 1); @@ -872,7 +873,7 @@ rxa_eth_rx(struct rte_event_eth_rx_adapter *rx_adapter, break; } - if (buf->count >= BATCH_SIZE) + if (buf->count > 0) rxa_flush_event_buffer(rx_adapter); return nb_rx; @@ -912,7 +913,7 @@ rxa_intr_ring_enqueue(struct rte_event_eth_rx_adapter *rx_adapter, */ if (err) RTE_EDEV_LOG_ERR("Failed to enqueue interrupt" - " to ring: %s", strerror(err)); + " to ring: %s", strerror(-err)); else rte_eth_dev_rx_intr_disable(port_id, queue); } @@ -1165,8 +1166,8 @@ rxa_service_func(void *args) if (rte_spinlock_trylock(&rx_adapter->rx_lock) == 0) return 0; if (!rx_adapter->rxa_started) { - return 0; rte_spinlock_unlock(&rx_adapter->rx_lock); + return 0; } stats = &rx_adapter->stats; @@ -2296,7 +2297,7 @@ rte_event_eth_rx_adapter_stop(uint8_t id) return rxa_ctrl(id, 0); } -int +int __rte_experimental rte_event_eth_rx_adapter_stats_get(uint8_t id, struct rte_event_eth_rx_adapter_stats *stats) { @@ -2383,7 +2384,8 @@ rte_event_eth_rx_adapter_service_id_get(uint8_t id, uint32_t *service_id) return rx_adapter->service_inited ? 0 : -ESRCH; } -int rte_event_eth_rx_adapter_cb_register(uint8_t id, +int __rte_experimental +rte_event_eth_rx_adapter_cb_register(uint8_t id, uint16_t eth_dev_id, rte_event_eth_rx_adapter_cb_fn cb_fn, void *cb_arg)