/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright (c) 2015-2019 Amazon.com, Inc. or its affiliates.
+ * Copyright (c) 2015-2020 Amazon.com, Inc. or its affiliates.
* All rights reserved.
*/
{
struct ena_adapter *adapter = dev->data->dev_private;
struct ena_ring *rxq = NULL;
+ size_t buffer_size;
int i;
rxq = &adapter->rx_ring[queue_idx];
return -EINVAL;
}
+ /* ENA isn't supporting buffers smaller than 1400 bytes */
+ buffer_size = rte_pktmbuf_data_room_size(mp) - RTE_PKTMBUF_HEADROOM;
+ if (buffer_size < ENA_RX_BUF_MIN_SIZE) {
+ PMD_DRV_LOG(ERR,
+ "Unsupported size of RX buffer: %zu (min size: %d)\n",
+ buffer_size, ENA_RX_BUF_MIN_SIZE);
+ return -EINVAL;
+ }
+
rxq->port_id = dev->data->port_id;
rxq->next_to_clean = 0;
rxq->next_to_use = 0;
/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright (c) 2015-2019 Amazon.com, Inc. or its affiliates.
+ * Copyright (c) 2015-2020 Amazon.com, Inc. or its affiliates.
* All rights reserved.
*/
#define ENA_MIN_FRAME_LEN 64
#define ENA_NAME_MAX_LEN 20
#define ENA_PKT_MAX_BUFS 17
+#define ENA_RX_BUF_MIN_SIZE 1400
#define ENA_MIN_MTU 128