From f0ab9eba97221e491cf7b3dd846eb8c23d920ec2 Mon Sep 17 00:00:00 2001
From: Ido Barnea <ibarnea@cisco.com>
Date: Mon, 8 Feb 2016 11:25:07 +0200
Subject: Rx stat per flow. Low level working for xl710, and partly for i350.
 added full clone (with CP VM) to stream

---
 src/common/Network/Packet/IPHeader.h   | 2 +-
 src/common/Network/Packet/IPHeader.inl | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

(limited to 'src/common/Network')

diff --git a/src/common/Network/Packet/IPHeader.h b/src/common/Network/Packet/IPHeader.h
index 5dfd03d8..b9ef8a2e 100755
--- a/src/common/Network/Packet/IPHeader.h
+++ b/src/common/Network/Packet/IPHeader.h
@@ -134,7 +134,7 @@ public:
     inline  void    updateIpDst(uint32_t ipsrc);
 
 
-
+    inline  void    updateCheckSum(uint16_t old_val, uint16_t new_val);
     inline  void    updateCheckSum      ();
     inline  void    updateCheckSum2(uint8_t* data1, uint16_t len1, uint8_t* data2 , uint16_t len2);
 
diff --git a/src/common/Network/Packet/IPHeader.inl b/src/common/Network/Packet/IPHeader.inl
index e7b87f06..26ea551a 100755
--- a/src/common/Network/Packet/IPHeader.inl
+++ b/src/common/Network/Packet/IPHeader.inl
@@ -258,6 +258,12 @@ inline void IPHeader::updateTotalLength(uint16_t newlen)
     myChecksum =   pkt_UpdateInetChecksum(myChecksum,oldLen,myLength);
 }
 
+// updating checksum after changing old val to new
+inline void IPHeader::updateCheckSum(uint16_t old_val, uint16_t new_val)
+{
+    myChecksum =   pkt_UpdateInetChecksum(myChecksum, old_val, new_val);
+}
+
 inline void IPHeader::updateCheckSum()
 {
     myChecksum = 0;
-- 
cgit