Inet: Remove the SackRange and its use
authorAndreas Hansson <andreas.hansson@arm.com>
Mon, 10 Sep 2012 15:57:39 +0000 (11:57 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Mon, 10 Sep 2012 15:57:39 +0000 (11:57 -0400)
This patch aims to simplify the use of the Range class before
introducing a more elaborate AddrRegion to replace the AddrRange. The
SackRange is the only use of the range class besides address ranges,
and the removal of this use makes for an easier modification of the
range class.

The functionlity that is removed with this patch is not used anywhere
throughout the code base.

src/base/inet.cc
src/base/inet.hh

index 7d7eb3f5abdcb854683df88e587f7d0373727881..d8d1564786a406221f82f7f9adac95e99e5611f9 100644 (file)
@@ -254,29 +254,6 @@ TcpHdr::options(vector<const TcpOpt *> &vec) const
     return true;
 }
 
-bool
-TcpOpt::sack(vector<SackRange> &vec) const
-{
-    vec.clear();
-
-    const uint8_t *data = bytes() + sizeof(struct tcp_hdr);
-    int all = len() - offsetof(tcp_opt, opt_data.sack);
-    while (all > 0) {
-        const uint16_t *sack = (const uint16_t *)data;
-        int len = sizeof(uint16_t) * 2;
-        if (all < len) {
-            vec.clear();
-            return false;
-        }
-
-        vec.push_back(RangeIn(ntohs(sack[0]), ntohs(sack[1])));
-        all -= len;
-        data += len;
-    }
-
-    return false;
-}
-
 int 
 hsplit(const EthPacketPtr &ptr)
 {
index a957b8a71eefe2b58e54bf66b94fa6b95c5f0bcb..4b73355910f8cda73ec8638eeb0bdc4abfeb160b 100644 (file)
@@ -380,8 +380,6 @@ class TcpPtr
 
 uint16_t cksum(const TcpPtr &ptr);
 
-typedef Range<uint16_t> SackRange;
-
 struct TcpOpt : public tcp_opt
 {
     uint8_t type() const { return opt_type; }
@@ -393,7 +391,6 @@ struct TcpOpt : public tcp_opt
 
     uint16_t mss() const { return ntohs(opt_data.mss); }
     uint8_t wscale() const { return opt_data.wscale; }
-    bool sack(std::vector<SackRange> &vec) const;
     uint32_t echo() const { return ntohl(opt_data.echo); }
     uint32_t tsval() const { return ntohl(opt_data.timestamp[0]); }
     uint32_t tsecr() const { return ntohl(opt_data.timestamp[1]); }