diff options
Diffstat (limited to 'ryu/lib/packet/packet_utils.py')
-rw-r--r-- | ryu/lib/packet/packet_utils.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ryu/lib/packet/packet_utils.py b/ryu/lib/packet/packet_utils.py index 0052335a..9331472a 100644 --- a/ryu/lib/packet/packet_utils.py +++ b/ryu/lib/packet/packet_utils.py @@ -16,6 +16,7 @@ import array import socket import struct +from ryu.lib import addrconv def carry_around_add(a, b): @@ -83,10 +84,14 @@ def checksum_ip(ipvx, length, payload): """ if ipvx.version == 4: header = struct.pack(_IPV4_PSEUDO_HEADER_PACK_STR, - ipvx.src, ipvx.dst, ipvx.proto, length) + addrconv.ipv4.text_to_bin(ipvx.src), + addrconv.ipv4.text_to_bin(ipvx.dst), + ipvx.proto, length) elif ipvx.version == 6: header = struct.pack(_IPV6_PSEUDO_HEADER_PACK_STR, - ipvx.src, ipvx.dst, length, ipvx.nxt) + addrconv.ipv6.text_to_bin(ipvx.src), + addrconv.ipv6.text_to_bin(ipvx.dst), + length, ipvx.nxt) else: raise ValueError('Unknown IP version %d' % ipvx.version) |