From 8de99416faf55055c7dab48a84fef1b9a71da0ff Mon Sep 17 00:00:00 2001 From: Yuichi Ito Date: Wed, 6 Nov 2013 17:16:23 +0900 Subject: [PATCH] packet lib: icmp: support len(icmp.*) Signed-off-by: Yuichi Ito Signed-off-by: FUJITA Tomonori --- ryu/lib/packet/icmp.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ryu/lib/packet/icmp.py b/ryu/lib/packet/icmp.py index e383e216..d3d4cddd 100644 --- a/ryu/lib/packet/icmp.py +++ b/ryu/lib/packet/icmp.py @@ -115,6 +115,9 @@ class icmp(packet_base.PacketBase): return hdr + def __len__(self): + return self._MIN_LEN + len(self.data) + @icmp.register_icmp_type(ICMP_ECHO_REPLY, ICMP_ECHO_REQUEST) class echo(stringify.StringifyMixin): @@ -167,6 +170,12 @@ class echo(stringify.StringifyMixin): return hdr + def __len__(self): + length = self._MIN_LEN + if self.data is not None: + length += len(self.data) + return length + @icmp.register_icmp_type(ICMP_DEST_UNREACH) class dest_unreach(stringify.StringifyMixin): @@ -227,6 +236,12 @@ class dest_unreach(stringify.StringifyMixin): return hdr + def __len__(self): + length = self._MIN_LEN + if self.data is not None: + length += len(self.data) + return length + @icmp.register_icmp_type(ICMP_TIME_EXCEEDED) class TimeExceeded(stringify.StringifyMixin): @@ -276,3 +291,9 @@ class TimeExceeded(stringify.StringifyMixin): hdr += self.data return hdr + + def __len__(self): + length = self._MIN_LEN + if self.data is not None: + length += len(self.data) + return length