#include "qinq.h"
#include "prox_cfg.h"
#include "prox_shared.h"
+#include "prox_compat.h"
struct task_qos {
struct task_base base;
const struct qinq_hdr *pqinq = rte_pktmbuf_mtod(mbufs[j], const struct qinq_hdr *);
uint32_t qinq = PKT_TO_LUTQINQ(pqinq->svlan.vlan_tci, pqinq->cvlan.vlan_tci);
if (pqinq->ether_type == ETYPE_IPv4) {
- const struct ipv4_hdr *ipv4_hdr = (const struct ipv4_hdr *)(pqinq + 1);
+ const prox_rte_ipv4_hdr *ipv4_hdr = (const prox_rte_ipv4_hdr *)(pqinq + 1);
queue = task->dscp[ipv4_hdr->type_of_service >> 2] & 0x3;
tc = task->dscp[ipv4_hdr->type_of_service >> 2] >> 2;
} else {
queue = 0;
tc = 0;
}
-
- rte_sched_port_pkt_write(mbufs[j], 0, task->user_table[qinq], tc, queue, 0);
+ prox_rte_sched_port_pkt_write(task->sched_port, mbufs[j], 0, task->user_table[qinq], tc, queue, 0);
}
#ifdef PROX_PREFETCH_OFFSET
prefetch_nta(rte_pktmbuf_mtod(mbufs[n_pkts - 1], void *));
const struct qinq_hdr *pqinq = rte_pktmbuf_mtod(mbufs[j], const struct qinq_hdr *);
uint32_t qinq = PKT_TO_LUTQINQ(pqinq->svlan.vlan_tci, pqinq->cvlan.vlan_tci);
if (pqinq->ether_type == ETYPE_IPv4) {
- const struct ipv4_hdr *ipv4_hdr = (const struct ipv4_hdr *)(pqinq + 1);
+ const prox_rte_ipv4_hdr *ipv4_hdr = (const prox_rte_ipv4_hdr *)(pqinq + 1);
queue = task->dscp[ipv4_hdr->type_of_service >> 2] & 0x3;
tc = task->dscp[ipv4_hdr->type_of_service >> 2] >> 2;
} else {
tc = 0;
}
- rte_sched_port_pkt_write(mbufs[j], 0, task->user_table[qinq], tc, queue, 0);
+ prox_rte_sched_port_pkt_write(task->sched_port, mbufs[j], 0, task->user_table[qinq], tc, queue, 0);
}
#endif
}
}
static struct task_init task_init_qos = {
+ .mode = QOS,
.mode_str = "qos",
.init = init_task_qos,
.handle = handle_qos_bulk,