- ixgbe_rsc_entry -> ixgbe_scattered_rx_entry
- sw_rsc_ring -> sw_sc_ring
- ixgbe_free_rsc_cluster() -> ixgbe_free_sc_cluster()
- In local variables: xx_rsc_yy -> xx_sc_yy
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
struct ixgbe_rx_queue *rxq = rx_queue;
volatile union ixgbe_adv_rx_desc *rx_ring = rxq->rx_ring;
struct ixgbe_rx_entry *sw_ring = rxq->sw_ring;
struct ixgbe_rx_queue *rxq = rx_queue;
volatile union ixgbe_adv_rx_desc *rx_ring = rxq->rx_ring;
struct ixgbe_rx_entry *sw_ring = rxq->sw_ring;
- struct ixgbe_rsc_entry *sw_rsc_ring = rxq->sw_rsc_ring;
+ struct ixgbe_scattered_rx_entry *sw_sc_ring = rxq->sw_sc_ring;
uint16_t rx_id = rxq->rx_tail;
uint16_t nb_rx = 0;
uint16_t nb_hold = rxq->nb_rx_hold;
uint16_t rx_id = rxq->rx_tail;
uint16_t nb_rx = 0;
uint16_t nb_hold = rxq->nb_rx_hold;
while (nb_rx < nb_pkts) {
bool eop;
struct ixgbe_rx_entry *rxe;
while (nb_rx < nb_pkts) {
bool eop;
struct ixgbe_rx_entry *rxe;
- struct ixgbe_rsc_entry *rsc_entry;
- struct ixgbe_rsc_entry *next_rsc_entry;
+ struct ixgbe_scattered_rx_entry *sc_entry;
+ struct ixgbe_scattered_rx_entry *next_sc_entry;
struct ixgbe_rx_entry *next_rxe;
struct rte_mbuf *first_seg;
struct rte_mbuf *rxm;
struct ixgbe_rx_entry *next_rxe;
struct rte_mbuf *first_seg;
struct rte_mbuf *rxm;
- next_rsc_entry = &sw_rsc_ring[nextp_id];
+ next_sc_entry = &sw_sc_ring[nextp_id];
next_rxe = &sw_ring[nextp_id];
rte_ixgbe_prefetch(next_rxe);
}
next_rxe = &sw_ring[nextp_id];
rte_ixgbe_prefetch(next_rxe);
}
- rsc_entry = &sw_rsc_ring[rx_id];
- first_seg = rsc_entry->fbuf;
- rsc_entry->fbuf = NULL;
+ sc_entry = &sw_sc_ring[rx_id];
+ first_seg = sc_entry->fbuf;
+ sc_entry->fbuf = NULL;
/*
* If this is the first buffer of the received packet,
/*
* If this is the first buffer of the received packet,
/*
* If this is not the last buffer of the received packet, update
* the pointer to the first mbuf at the NEXTP entry in the
/*
* If this is not the last buffer of the received packet, update
* the pointer to the first mbuf at the NEXTP entry in the
- * sw_rsc_ring and continue to parse the RX ring.
+ * sw_sc_ring and continue to parse the RX ring.
*/
if (!eop) {
rxm->next = next_rxe->mbuf;
*/
if (!eop) {
rxm->next = next_rxe->mbuf;
- next_rsc_entry->fbuf = first_seg;
+ next_sc_entry->fbuf = first_seg;
- * ixgbe_free_rsc_cluster - free the not-yet-completed RSC cluster
+ * ixgbe_free_sc_cluster - free the not-yet-completed scattered cluster
*
* The "next" pointer of the last segment of (not-yet-completed) RSC clusters
* in the sw_rsc_ring is not set to NULL but rather points to the next
*
* The "next" pointer of the last segment of (not-yet-completed) RSC clusters
* in the sw_rsc_ring is not set to NULL but rather points to the next
* will just free first "nb_segs" segments of the cluster explicitly by calling
* an rte_pktmbuf_free_seg().
*
* will just free first "nb_segs" segments of the cluster explicitly by calling
* an rte_pktmbuf_free_seg().
*
+ * @m scattered cluster head
-ixgbe_free_rsc_cluster(struct rte_mbuf *m)
+ixgbe_free_sc_cluster(struct rte_mbuf *m)
{
uint8_t i, nb_segs = m->nb_segs;
struct rte_mbuf *next_seg;
{
uint8_t i, nb_segs = m->nb_segs;
struct rte_mbuf *next_seg;
for (i = 0; i < rxq->nb_rx_desc; i++)
for (i = 0; i < rxq->nb_rx_desc; i++)
- if (rxq->sw_rsc_ring[i].fbuf) {
- ixgbe_free_rsc_cluster(rxq->sw_rsc_ring[i].fbuf);
- rxq->sw_rsc_ring[i].fbuf = NULL;
+ if (rxq->sw_sc_ring[i].fbuf) {
+ ixgbe_free_sc_cluster(rxq->sw_sc_ring[i].fbuf);
+ rxq->sw_sc_ring[i].fbuf = NULL;
if (rxq != NULL) {
ixgbe_rx_queue_release_mbufs(rxq);
rte_free(rxq->sw_ring);
if (rxq != NULL) {
ixgbe_rx_queue_release_mbufs(rxq);
rte_free(rxq->sw_ring);
- rte_free(rxq->sw_rsc_ring);
+ rte_free(rxq->sw_sc_ring);
- rxq->sw_rsc_ring =
- rte_zmalloc_socket("rxq->sw_rsc_ring",
- sizeof(struct ixgbe_rsc_entry) * len,
+ rxq->sw_sc_ring =
+ rte_zmalloc_socket("rxq->sw_sc_ring",
+ sizeof(struct ixgbe_scattered_rx_entry) * len,
RTE_CACHE_LINE_SIZE, socket_id);
RTE_CACHE_LINE_SIZE, socket_id);
- if (!rxq->sw_rsc_ring) {
+ if (!rxq->sw_sc_ring) {
ixgbe_rx_queue_release(rxq);
return (-ENOMEM);
}
} else
ixgbe_rx_queue_release(rxq);
return (-ENOMEM);
}
} else
- rxq->sw_rsc_ring = NULL;
+ rxq->sw_sc_ring = NULL;
- PMD_INIT_LOG(DEBUG, "sw_ring=%p sw_rsc_ring=%p hw_ring=%p "
+ PMD_INIT_LOG(DEBUG, "sw_ring=%p sw_sc_ring=%p hw_ring=%p "
- rxq->sw_ring, rxq->sw_rsc_ring, rxq->rx_ring,
+ rxq->sw_ring, rxq->sw_sc_ring, rxq->rx_ring,
rxq->rx_ring_phys_addr);
if (!rte_is_power_of_2(nb_desc)) {
rxq->rx_ring_phys_addr);
if (!rte_is_power_of_2(nb_desc)) {
struct rte_mbuf *mbuf; /**< mbuf associated with RX descriptor. */
};
struct rte_mbuf *mbuf; /**< mbuf associated with RX descriptor. */
};
-struct ixgbe_rsc_entry {
+struct ixgbe_scattered_rx_entry {
struct rte_mbuf *fbuf; /**< First segment of the fragmented packet. */
};
struct rte_mbuf *fbuf; /**< First segment of the fragmented packet. */
};
volatile uint32_t *rdt_reg_addr; /**< RDT register address. */
volatile uint32_t *rdh_reg_addr; /**< RDH register address. */
struct ixgbe_rx_entry *sw_ring; /**< address of RX software ring. */
volatile uint32_t *rdt_reg_addr; /**< RDT register address. */
volatile uint32_t *rdh_reg_addr; /**< RDH register address. */
struct ixgbe_rx_entry *sw_ring; /**< address of RX software ring. */
- struct ixgbe_rsc_entry *sw_rsc_ring; /**< address of RSC software ring. */
+ struct ixgbe_scattered_rx_entry *sw_sc_ring; /**< address of scattered Rx software ring. */
struct rte_mbuf *pkt_first_seg; /**< First segment of current packet. */
struct rte_mbuf *pkt_last_seg; /**< Last segment of current packet. */
uint64_t mbuf_initializer; /**< value to init mbufs */
struct rte_mbuf *pkt_first_seg; /**< First segment of current packet. */
struct rte_mbuf *pkt_last_seg; /**< Last segment of current packet. */
uint64_t mbuf_initializer; /**< value to init mbufs */