From e20fcad468a1f4043ca4eaa70d931e2519ada6e2 Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Sat, 13 Apr 2013 23:47:35 +0900 Subject: [PATCH] lib/packet/arp.py: add convenience function to create arp for ip Since ip case is most often used, introduce a convenience function for that. Signed-off-by: Isaku Yamahata Signed-off-by: FUJITA Tomonori --- ryu/lib/packet/arp.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ryu/lib/packet/arp.py b/ryu/lib/packet/arp.py index 3cef38dc..9d0b3f8c 100644 --- a/ryu/lib/packet/arp.py +++ b/ryu/lib/packet/arp.py @@ -14,6 +14,8 @@ # limitations under the License. import struct + +from ryu.ofproto import ether from . import packet_base ARP_HW_TYPE_ETHERNET = 1 # ethernet hardware type @@ -55,3 +57,10 @@ class arp(packet_base.PacketBase): self.hlen, self.plen, self.opcode, self.src_mac, self.src_ip, self.dst_mac, self.dst_ip) + + +def arp_ip(opcode, src_mac, src_ip, dst_mac, dst_ip): + return arp(ARP_HW_TYPE_ETHERNET, ether.ETH_TYPE_IP, + 6, # ether mac address length + 4, # ipv4 address length, + opcode, src_mac, src_ip, dst_mac, dst_ip)