From 4053cda285fab0f896be55d75e11bf0e4283188c Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Fri, 29 Mar 2013 12:51:01 +0900 Subject: [PATCH] lib/packet/udp: use checksum_ip() As side effect, IPv6 is also supported. Signed-off-by: Isaku Yamahata Signed-off-by: FUJITA Tomonori --- ryu/lib/packet/udp.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/ryu/lib/packet/udp.py b/ryu/lib/packet/udp.py index 2944f8a4..518f4fc3 100644 --- a/ryu/lib/packet/udp.py +++ b/ryu/lib/packet/udp.py @@ -17,7 +17,6 @@ import struct from . import packet_base from . import packet_utils -import ipv4 class udp(packet_base.PacketBase): @@ -45,10 +44,8 @@ class udp(packet_base.PacketBase): h = struct.pack(udp._PACK_STR, self.src_port, self.dst_port, self.total_length, self.csum) if self.csum == 0: - ph = struct.pack('!IIBBH', prev.src, prev.dst, 0, 17, - self.total_length) - f = ph + h + payload - self.csum = packet_utils.checksum(f) + self.csum = packet_utils.checksum_ip( + prev, self.total_length, h + payload) h = struct.pack(udp._PACK_STR, self.src_port, self.dst_port, self.total_length, self.csum) return h