summaryrefslogtreecommitdiffhomepage
path: root/ryu/lib/packet/packet_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'ryu/lib/packet/packet_utils.py')
-rw-r--r--ryu/lib/packet/packet_utils.py9
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)