}
static const uint32_t *
-sfc_efx_supported_ptypes_get(void)
+sfc_efx_supported_ptypes_get(__rte_unused uint32_t tunnel_encaps)
{
static const uint32_t ptypes[] = {
RTE_PTYPE_L2_ETHER,
rc = efx_rx_qcreate(sa->nic, rxq->hw_index, 0, rxq_info->type,
&rxq->mem, rxq_info->entries,
- 0 /* not used on EF10 */, evq->common,
- &rxq->common);
+ 0 /* not used on EF10 */, rxq_info->type_flags,
+ evq->common, &rxq->common);
if (rc != 0)
goto fail_rx_qcreate;
SFC_ASSERT(nb_rx_desc <= rxq_info->max_entries);
rxq_info->entries = nb_rx_desc;
- rxq_info->type =
+ rxq_info->type = EFX_RXQ_TYPE_DEFAULT;
+ rxq_info->type_flags =
sa->eth_dev->data->dev_conf.rxmode.enable_scatter ?
- EFX_RXQ_TYPE_SCATTER : EFX_RXQ_TYPE_DEFAULT;
+ EFX_RXQ_FLAG_SCATTER : EFX_RXQ_FLAG_NONE;
+
+ if ((encp->enc_tunnel_encapsulations_supported != 0) &&
+ (sa->dp_rx->features & SFC_DP_RX_FEAT_TUNNELS))
+ rxq_info->type_flags |= EFX_RXQ_FLAG_INNER_CLASSES;
rc = sfc_ev_qinit(sa, SFC_EVQ_TYPE_RX, sw_index,
rxq_info->entries, socket_id, &evq);