Hi all, It seems among others, the following packet: 84c1c177a9ee00defb42df2b0800450805dcaa8a40003e065144832964c5592cfa2a85800016016ed480ff550ad5801001f5df2b00005604ccee420000000000038f846fd84b791539f324fe60e4d265b8066f11686ac6f79eff4abfd3922208aedebedd1e25641222121185e75e1478b61c0dd7291503fa79936d8a61785c85000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Causes an infinite loop in TCP parsing, upon calling pkt = packet.Packet(array.array('B', ev.msg.data)), having RYU blocked taking 100% of CPU load. File "/home/tom/.local/lib/python3.6/site-packages/ryu/base/app_manager.py", line 290, in _event_loop handler(ev) File "/home/tom/workspace/ryu/ryu/app/simple_switch_13_vlan.py", line 210, in _packet_in_handler pkt = packet.Packet(array.array('B', ev.msg.data)) File "/home/tom/.local/lib/python3.6/site-packages/ryu/lib/packet/packet.py", line 67, in __init__ self._parser(parse_cls) File "/home/tom/.local/lib/python3.6/site-packages/ryu/lib/packet/packet.py", line 76, in _parser proto, cls, rest_data = cls.parser(rest_data) File "/home/tom/.local/lib/python3.6/site-packages/ryu/lib/packet/tcp.py", line 142, in parser opt, option_buf = TCPOption.parser(option_buf) File "/home/tom/.local/lib/python3.6/site-packages/ryu/lib/packet/tcp.py", line 225, in parser return subcls.parse(buf) File "/home/tom/.local/lib/python3.6/site-packages/ryu/lib/packet/tcp.py", line 334, in parse return cls(blocks, cls.cls_kind, length), buf[length:] File "/home/tom/.local/lib/python3.6/site-packages/ryu/lib/packet/tcp.py", line 316, in __init__ super(TCPOptionSACK, self).__init__(kind, length) The packet is malformed or at least has unknown option values. Probably comes from the anonymzation process. Still, it is a bit problematic to crash RYU... I tried with the python from the latest pip (4.32), git's master 4.33 and git v4.6 (the latest installed from the git subtree with python3 -m pip install --user . --upgrade). Thanks, Tom
_______________________________________________ Ryu-devel mailing list Ryu-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ryu-devel