summaryrefslogtreecommitdiffstats
path: root/src/bp_sim.h
diff options
context:
space:
mode:
authorHanoh Haim <hhaim@cisco.com>2016-11-10 22:17:45 +0200
committerHanoh Haim <hhaim@cisco.com>2016-11-11 12:22:51 +0200
commit0dfd6a37ec369145f4d3d225064e0f75476fde68 (patch)
treefbee519288e3a4483c7ba9baa2d0fe0d42478a44 /src/bp_sim.h
parent50746d0dc7db5cb49bfd6ab9e5942ecdea694734 (diff)
mlx5 add TOS marker for mlx5 type of driver
Signed-off-by: Hanoh Haim <hhaim@cisco.com>
Diffstat (limited to 'src/bp_sim.h')
-rwxr-xr-xsrc/bp_sim.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/bp_sim.h b/src/bp_sim.h
index e3dab2ad..c292103b 100755
--- a/src/bp_sim.h
+++ b/src/bp_sim.h
@@ -2688,6 +2688,26 @@ public:
return (0);
}
}
+
+
+ void setTOSReserve(){
+ BP_ASSERT(l3.m_ipv4);
+ if (is_ipv6()) {
+ l3.m_ipv6->setTrafficClass(l3.m_ipv6->getTrafficClass() | TOS_TTL_RESERVE_DUPLICATE );
+ }else{
+ l3.m_ipv4->setTOS(l3.m_ipv4->getTOS()| TOS_TTL_RESERVE_DUPLICATE );
+ }
+ }
+
+ void clearTOSReserve(){
+ BP_ASSERT(l3.m_ipv4);
+ if (is_ipv6()) {
+ l3.m_ipv6->setTrafficClass(l3.m_ipv6->getTrafficClass()& (~TOS_TTL_RESERVE_DUPLICATE) );
+ }else{
+ l3.m_ipv4->setTOS(l3.m_ipv4->getTOS() & (~TOS_TTL_RESERVE_DUPLICATE) );
+ }
+ }
+
uint8_t getTTL(){
BP_ASSERT(l3.m_ipv4);
if (is_ipv6()) {
@@ -3060,7 +3080,7 @@ inline void CFlowPktInfo::update_pkt_info(char *p,
printf(" %.3f : DP : learn packet !\n",now_sec());
#endif
ipv4->setTimeToLive(TTL_RESERVE_DUPLICATE);
- ipv4->setTOS(0x3);
+ ipv4->setTOS(ipv4->getTOS()|TOS_TTL_RESERVE_DUPLICATE);
/* first ipv4 option add the info in case of learn packet, usualy only the first packet */