diff --git a/scapy/contrib/openflow3.py b/scapy/contrib/openflow3.py index 48f83b4df380ad2e74064569f1539efdf8b3fabd..e59e5f90e552ec15be7ec6ca870d155756e89e4f 100755 --- a/scapy/contrib/openflow3.py +++ b/scapy/contrib/openflow3.py @@ -2595,7 +2595,7 @@ class GroupDescPacketListField(PacketListField): remain = s while remain: - l = GroupsDescPacketListField._get_group_desc_length(remain) + l = GroupDescPacketListField._get_group_desc_length(remain) current = remain[:l] remain = remain[l:] p = OFPGroupDesc(current) diff --git a/scapy/contrib/openflow3.uts b/scapy/contrib/openflow3.uts index 0fb844ac548bedd4b189a3384166687dcbfab1e5..b86230091c98ed9f6cfee8cef6b1fbeb03efa299 100755 --- a/scapy/contrib/openflow3.uts +++ b/scapy/contrib/openflow3.uts @@ -1,5 +1,13 @@ % Tests for OpenFlow v1.3 with Scapy ++ Fields + += GroupDescPacketListField(), check getfield +remain, lst = GroupDescPacketListField(None, None, None).getfield(None, b'\x00\x10') +not remain +all([OFPGroupDesc in gd for gd in lst]) +lst[0].length == 0x0010 + + Usual OFv1.3 messages = OFPTHello(), hello without version bitmap