/* L4 Type field: TCP */
#define DPAA_L4_PARSE_RESULT_TCP 0x20
-#define DPAA_SGT_MAX_ENTRIES 16 /* maximum number of entries in SG Table */
-
#define DPAA_MAX_DEQUEUE_NUM_FRAMES 63
/** <Maximum number of frames to be dequeued in a single rx call*/
uint16_t vlan:1;
uint16_t ethernet:1;
#endif
- } __attribute__((__packed__));
- } __attribute__((__packed__));
+ } __rte_packed;
+ } __rte_packed;
union {
uint16_t l3r; /**< Layer 3 result */
struct {
uint16_t first_ipv6:1;
uint16_t first_ipv4:1;
#endif
- } __attribute__((__packed__));
- } __attribute__((__packed__));
+ } __rte_packed;
+ } __rte_packed;
union {
uint8_t l4r; /**< Layer 4 result */
struct{
uint8_t l4_info_err:1;
uint8_t l4_type:3;
#endif
- } __attribute__((__packed__));
- } __attribute__((__packed__));
+ } __rte_packed;
+ } __rte_packed;
uint8_t cplan; /**< Classification plan id */
uint16_t nxthdr; /**< Next Header */
uint16_t cksum; /**< Checksum */
uint8_t gre_off; /**< GRE offset */
uint8_t l4_off; /**< Layer 4 offset */
uint8_t nxthdr_off; /**< Parser end point */
-} __attribute__ ((__packed__));
+} __rte_packed;
/* The structure is the Prepended Data to the Frame which is used by FMAN */
struct annotations_t {
uint16_t dpaa_eth_queue_rx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs);
+uint16_t dpaa_eth_queue_tx_slow(void *q, struct rte_mbuf **bufs,
+ uint16_t nb_bufs);
uint16_t dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs);
uint16_t dpaa_eth_tx_drop_all(void *q __rte_unused,
struct qm_fd *fd,
uint32_t bpid);
+uint16_t dpaa_free_mbuf(const struct qm_fd *fd);
+void dpaa_rx_cb(struct qman_fq **fq,
+ struct qm_dqrr_entry **dqrr, void **bufs, int num_bufs);
+
+void dpaa_rx_cb_prepare(struct qm_dqrr_entry *dq, void **bufs);
+
+void dpaa_rx_cb_no_prefetch(struct qman_fq **fq,
+ struct qm_dqrr_entry **dqrr, void **bufs, int num_bufs);
#endif