mirror of
https://github.com/faucetsdn/ryu.git
synced 2026-05-09 06:16:10 +02:00
lib/packet/udp: use checksum_ip()
As side effect, IPv6 is also supported. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
parent
3f72ee659d
commit
4053cda285
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user