summaryrefslogtreecommitdiff
path: root/src/dev/net/ns_gige.cc
diff options
context:
space:
mode:
authorMichael LeBeane <michael.lebeane@amd.com>2016-11-29 13:04:45 -0500
committerMichael LeBeane <michael.lebeane@amd.com>2016-11-29 13:04:45 -0500
commitcd4b26b6ae984a75e16f4d71152d99b6c063d366 (patch)
tree33248f61326415ea11ff30dce527ed8fa5121231 /src/dev/net/ns_gige.cc
parent4b7bc5b1e1915915a746af16d36de1d006db8700 (diff)
downloadgem5-cd4b26b6ae984a75e16f4d71152d99b6c063d366.tar.xz
dev: Fix buffer length when unserializing an eth pkt
Changeset 11701 only serialized the useful portion of of an ethernet packets' payload. However, the device models expect each ethernet packet to contain a 16KB buffer, even if there is no data in it. This patch adds a 'bufLength' field to EthPacketData so the original size of the packet buffer can always be unserialized. Reported-by: Gabor Dozsa <Gabor.Dozsa@arm.com>
Diffstat (limited to 'src/dev/net/ns_gige.cc')
-rw-r--r--src/dev/net/ns_gige.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dev/net/ns_gige.cc b/src/dev/net/ns_gige.cc
index 91a0da7a9..50bb6ed17 100644
--- a/src/dev/net/ns_gige.cc
+++ b/src/dev/net/ns_gige.cc
@@ -2352,7 +2352,7 @@ NSGigE::unserialize(CheckpointIn &cp)
bool txPacketExists;
UNSERIALIZE_SCALAR(txPacketExists);
if (txPacketExists) {
- txPacket = make_shared<EthPacketData>();
+ txPacket = make_shared<EthPacketData>(16384);
txPacket->unserialize("txPacket", cp);
uint32_t txPktBufPtr;
UNSERIALIZE_SCALAR(txPktBufPtr);