packet lib: fix ipv6 parser

payload length in ipv6 header doesn't include the basic ipv6 header
length (40 bytes).

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
Ygor Amaral 2013-08-22 17:07:24 +09:00 committed by FUJITA Tomonori
parent 2ea5431ad3
commit f4e4765d31

View File

@ -78,7 +78,8 @@ class ipv6(packet_base.PacketBase):
msg = cls(version, traffic_class, flow_label, payload_length,
nxt, hop_limit, addrconv.ipv6.bin_to_text(src),
addrconv.ipv6.bin_to_text(dst))
return msg, ipv6.get_packet_type(nxt), buf[cls._MIN_LEN:payload_length]
return (msg, ipv6.get_packet_type(nxt),
buf[cls._MIN_LEN:cls._MIN_LEN+payload_length])
def serialize(self, payload, prev):
hdr = bytearray(40)