diff options
author | Lisa Hsu <hsul@eecs.umich.edu> | 2004-06-10 14:40:51 -0400 |
---|---|---|
committer | Lisa Hsu <hsul@eecs.umich.edu> | 2004-06-10 14:40:51 -0400 |
commit | c78d847c01ac5507dbd64adf63ade5d4514414fe (patch) | |
tree | e86735d9d9da8d2c374bcb52d233007515343889 /dev/ns_gige.cc | |
parent | 02f69b94c540a6b116c1a71a97f16facd21a5c44 (diff) | |
parent | 3c7f9617516ff650cd6e30d35b0b88562c0c552d (diff) | |
download | gem5-c78d847c01ac5507dbd64adf63ade5d4514414fe.tar.xz |
Merge zizzer.eecs.umich.edu:/bk/linux
into lush.(none):/z/hsul/work/linux
--HG--
extra : convert_revision : 30b93e7a4548a00ba18e86aad85df4c790f51d43
Diffstat (limited to 'dev/ns_gige.cc')
-rw-r--r-- | dev/ns_gige.cc | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/dev/ns_gige.cc b/dev/ns_gige.cc index fa65b68ab..b72f4ca36 100644 --- a/dev/ns_gige.cc +++ b/dev/ns_gige.cc @@ -1309,19 +1309,15 @@ NSGigE::rxKick() } #endif - eth_header *eth = (eth_header *) rxPacket->data; - // eth->type 0x800 indicated that it's an ip packet. - if (eth->type == 0x800 && extstsEnable) { - rxDescCache.extsts |= EXTSTS_IPPKT; + if (rxPacket->isIpPkt() && extstsEnable) { rxDescCache.extsts |= EXTSTS_IPPKT; if (!ipChecksum(rxPacket, false)) rxDescCache.extsts |= EXTSTS_IPERR; - ip_header *ip = rxFifo.front()->getIpHdr(); - if (ip->protocol == 6) { + if (rxPacket->isTcpPkt()) { rxDescCache.extsts |= EXTSTS_TCPPKT; if (!tcpChecksum(rxPacket, false)) rxDescCache.extsts |= EXTSTS_TCPERR; - } else if (ip->protocol == 17) { + } else if (rxPacket->isUdpPkt()) { rxDescCache.extsts |= EXTSTS_UDPPKT; if (!udpChecksum(rxPacket, false)) rxDescCache.extsts |= EXTSTS_UDPERR; @@ -1924,9 +1920,8 @@ NSGigE::recvPacket(PacketPtr packet) bool NSGigE::udpChecksum(PacketPtr packet, bool gen) { - udp_header *hdr = (udp_header *) packet->getTransportHdr(); - ip_header *ip = packet->getIpHdr(); + udp_header *hdr = packet->getUdpHdr(ip); pseudo_header *pseudo = new pseudo_header; @@ -1951,9 +1946,8 @@ NSGigE::udpChecksum(PacketPtr packet, bool gen) bool NSGigE::tcpChecksum(PacketPtr packet, bool gen) { - tcp_header *hdr = (tcp_header *) packet->getTransportHdr(); - ip_header *ip = packet->getIpHdr(); + tcp_header *hdr = packet->getTcpHdr(ip); pseudo_header *pseudo = new pseudo_header; |