fix udp checksums
authorNathan Binkert <binkertn@umich.edu>
Mon, 15 Nov 2004 20:40:35 +0000 (15:40 -0500)
committerNathan Binkert <binkertn@umich.edu>
Mon, 15 Nov 2004 20:40:35 +0000 (15:40 -0500)
base/inet.hh:
    tcp/udp/ip checksums are calculated/manipulated in NBO always,
    so there's no need to convert to host endian.

--HG--
extra : convert_revision : 13d6aff025a6c072d9d829c2e9fad4f13399b1f7

base/inet.hh

index 10b782a6c8618e02d4502ed7d8c0d2aed1d17747..4f3857a155ac818dd390f07c9bfd31a5990f3eb7 100644 (file)
@@ -348,9 +348,9 @@ struct UdpHdr : public udp_hdr
     uint16_t sport() const { return ntohs(uh_sport); }
     uint16_t dport() const { return ntohs(uh_dport); }
     uint16_t len() const { return ntohs(uh_ulen); }
-    uint16_t sum() const { return ntohs(uh_sum); }
+    uint16_t sum() const { return uh_sum; }
 
-    void sum(uint16_t sum) { uh_sum = htons(sum); }
+    void sum(uint16_t sum) { uh_sum = sum; }
 
     int size() const { return sizeof(udp_hdr); }
     const uint8_t *bytes() const { return (const uint8_t *)this; }