Signed-off-by: Baptiste Jonglez <[email protected]>
---
 ryu/lib/packet/udp.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/ryu/lib/packet/udp.py b/ryu/lib/packet/udp.py
index bae6d73..7116aae 100644
--- a/ryu/lib/packet/udp.py
+++ b/ryu/lib/packet/udp.py
@@ -18,6 +18,7 @@ import struct
 from . import packet_base
 from . import packet_utils
 from . import dhcp
+from . import utp
 
 
 class udp(packet_base.PacketBase):
@@ -50,17 +51,19 @@ class udp(packet_base.PacketBase):
         self.csum = csum
 
     @classmethod
-    def get_packet_type(cls, src_port, dst_port):
+    def get_packet_type(cls, src_port, dst_port, payload):
         if (src_port == 68 and dst_port == 67) or (src_port == 67 and dst_port 
== 68):
             return dhcp.dhcp
-        return None
+        if utp.utp.detect_utp(payload):
+            return utp.utp
 
     @classmethod
     def parser(cls, buf):
         (src_port, dst_port, total_length, csum) = struct.unpack_from(
             cls._PACK_STR, buf)
         msg = cls(src_port, dst_port, total_length, csum)
-        return msg, cls.get_packet_type(src_port, dst_port), 
buf[msg._MIN_LEN:total_length]
+        payload = buf[msg._MIN_LEN:total_length]
+        return msg, cls.get_packet_type(src_port, dst_port, payload), payload
 
     def serialize(self, payload, prev):
         if self.total_length == 0:
-- 
2.6.4


------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to