X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=VNFs%2FDPPD-PROX%2Fhandle_qos.c;h=5af7a310683717916727782b647bf02292f4270d;hb=6ecdeb8fb5c38a9c1b60eba98b7f8f23c5fe394d;hp=142143e7e23a459d732f6226a1ac5fc83e4ca917;hpb=d00ce88ca11ee2730126d2e8bd491361cb491674;p=samplevnf.git diff --git a/VNFs/DPPD-PROX/handle_qos.c b/VNFs/DPPD-PROX/handle_qos.c index 142143e7..5af7a310 100644 --- a/VNFs/DPPD-PROX/handle_qos.c +++ b/VNFs/DPPD-PROX/handle_qos.c @@ -34,6 +34,7 @@ #include "qinq.h" #include "prox_cfg.h" #include "prox_shared.h" +#include "prox_compat.h" struct task_qos { struct task_base base; @@ -75,7 +76,7 @@ static inline int handle_qos_bulk(struct task_base *tbase, struct rte_mbuf **mbu 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 { @@ -83,8 +84,7 @@ static inline int handle_qos_bulk(struct task_base *tbase, struct rte_mbuf **mbu 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 *)); @@ -92,7 +92,7 @@ static inline int handle_qos_bulk(struct task_base *tbase, struct rte_mbuf **mbu 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 { @@ -101,7 +101,7 @@ static inline int handle_qos_bulk(struct task_base *tbase, struct rte_mbuf **mbu 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 } @@ -166,6 +166,7 @@ static void init_task_qos(struct task_base *tbase, struct task_args *targ) } static struct task_init task_init_qos = { + .mode = QOS, .mode_str = "qos", .init = init_task_qos, .handle = handle_qos_bulk,