From 6d414d0cdd802f015a4bc63a0e3c1f50385e03b7 Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Mon, 10 Jun 2013 15:58:56 +0900 Subject: packet lib: packet class supports get_protocol method returns a list of protocols that matches to the specified protocol. Cc: FUJITA Tomonori Signed-off-by: Isaku Yamahata Signed-off-by: FUJITA Tomonori --- ryu/lib/packet/packet.py | 8 ++++++++ 1 file changed, 8 insertions(+) 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] -- cgit v1.2.3