summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorIsaku Yamahata <yamahata@valinux.co.jp>2013-06-10 15:58:56 +0900
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2013-06-10 07:58:01 -0700
commit6d414d0cdd802f015a4bc63a0e3c1f50385e03b7 (patch)
treefade54a31babdeb6c0b8a6cc76e4d48026c50ffc
parent178b1dd2bc0d773dd86eaec0054501ed06be9d70 (diff)
packet lib: packet class supports get_protocol method
returns a list of protocols that matches to the specified protocol. Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/lib/packet/packet.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/ryu/lib/packet/packet.py b/ryu/lib/packet/packet.py
index ff06cc3a..d6aeed73 100644
--- a/ryu/lib/packet/packet.py
+++ b/ryu/lib/packet/packet.py
@@ -87,6 +87,14 @@ class Packet(object):
self.protocols.append(proto)
+ def get_protocols(self, protocol):
+ """Returns a list of protocols that matches to the specified protocol.
+ """
+ if isinstance(protocol, packet_base.PacketBase):
+ protocol = protocol.__class__
+ assert issubclass(protocol, packet_base.PacketBase)
+ return [p for p in self.protocols if isinstance(p, protocol)]
+
def next(self):
try:
p = self.protocols[self.protocol_idx]