diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2013-06-10 15:58:56 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2013-06-10 07:58:01 -0700 |
commit | 6d414d0cdd802f015a4bc63a0e3c1f50385e03b7 (patch) | |
tree | fade54a31babdeb6c0b8a6cc76e4d48026c50ffc | |
parent | 178b1dd2bc0d773dd86eaec0054501ed06be9d70 (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.py | 8 |
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] |