summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIdo Barnea <ibarnea@cisco.com>2016-12-04 18:28:32 +0200
committerIdo Barnea <ibarnea@cisco.com>2016-12-04 18:28:48 +0200
commit21f7d2e66a10445d4552749a621aa856259ae661 (patch)
treeb50669f23a15bd445fa2e5b140b226c328e91056
parent5d5e7a2db5bdb2b7cfa0f37ff9cf53bb615f550c (diff)
Fix debug packet test to work with mlnx and vic cards
Signed-off-by: Ido Barnea <ibarnea@cisco.com>
-rw-r--r--src/debug.cpp4
-rw-r--r--src/pkt_gen.cpp6
-rw-r--r--src/pkt_gen.h3
3 files changed, 8 insertions, 5 deletions
diff --git a/src/debug.cpp b/src/debug.cpp
index d0b7cf11..e272424c 100644
--- a/src/debug.cpp
+++ b/src/debug.cpp
@@ -142,7 +142,7 @@ rte_mbuf_t *CTrexDebug::create_test_pkt(int ip_ver, uint16_t l4_proto, uint8_t t
pkt = CTestPktGen::create_test_pkt(l3_type, l4_proto, ttl, ip_id, flags, 1000, pkt_size);
- /* DEBUG print the packet
+ /* DEBUG print the packet
utl_k12_pkt_format(stdout,pkt, pkt_size) ;
*/
@@ -370,6 +370,7 @@ int CTrexDebug::verify_hw_rules(bool recv_all) {
case STL:
if ( CGlobalInfo::m_options.is_stateless() ) {
exp_q = MAIN_DPDK_RX_Q;
+ pkt_flags |= DPF_TOS_1;
} else {
exp_q = MAIN_DPDK_DATA_Q;
}
@@ -379,6 +380,7 @@ int CTrexDebug::verify_hw_rules(bool recv_all) {
exp_q = MAIN_DPDK_DATA_Q;
} else {
exp_q = MAIN_DPDK_RX_Q;
+ pkt_flags |= DPF_TOS_1;
}
break;
default:
diff --git a/src/pkt_gen.cpp b/src/pkt_gen.cpp
index 45e3a298..656b1b06 100644
--- a/src/pkt_gen.cpp
+++ b/src/pkt_gen.cpp
@@ -222,7 +222,7 @@ char *CTestPktGen::create_test_pkt(uint16_t l3_type, uint16_t l4_proto, uint8_t
switch(l3_type) {
case EthernetHeader::Protocol::IP:
ip->setTimeToLive(ttl);
- if (ttl==TTL_RESERVE_DUPLICATE || ttl==(TTL_RESERVE_DUPLICATE-1)) {
+ if (flags & DPF_TOS_1) {
ip->setTOS(TOS_TTL_RESERVE_DUPLICATE);
}else{
ip->setTOS(0x2);
@@ -232,11 +232,11 @@ char *CTestPktGen::create_test_pkt(uint16_t l3_type, uint16_t l4_proto, uint8_t
break;
case EthernetHeader::Protocol::IPv6:
ipv6->setHopLimit(ttl);
- if (ttl==TTL_RESERVE_DUPLICATE || ttl==(TTL_RESERVE_DUPLICATE-1)) {
+ if (flags & DPF_TOS_1) {
ipv6->setTrafficClass(TOS_TTL_RESERVE_DUPLICATE);
}else{
ipv6->setTrafficClass(0x2);
- }
+ }
break;
}
diff --git a/src/pkt_gen.h b/src/pkt_gen.h
index 309e02b9..8dcba624 100644
--- a/src/pkt_gen.h
+++ b/src/pkt_gen.h
@@ -37,7 +37,8 @@ enum {
enum {
DPF_VLAN = 0x1,
DPF_QINQ = 0X2,
- DPF_RXCHECK = 0x4
+ DPF_RXCHECK = 0x4,
+ DPF_TOS_1 = 0x8,
};
class CTestPktGen {