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) ;
*/
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;
}
exp_q = MAIN_DPDK_DATA_Q;
} else {
exp_q = MAIN_DPDK_RX_Q;
+ pkt_flags |= DPF_TOS_1;
}
break;
default:
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);
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;
}