diff options
author | Yuichi Ito <ito.yuichi0@gmail.com> | 2013-11-06 17:16:23 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2013-11-08 10:44:29 +0900 |
commit | 8de99416faf55055c7dab48a84fef1b9a71da0ff (patch) | |
tree | fa299d02b894cc94ed35054530e90bf9c3032df1 | |
parent | 1d1cdeea99c35344414871b7d36a30aeefc9741a (diff) |
packet lib: icmp: support len(icmp.*)
Signed-off-by: Yuichi Ito <ito.yuichi0@gmail.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r-- | ryu/lib/packet/icmp.py | 21 |
1 files changed, 21 insertions, 0 deletions
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 |