diff --git a/scapy/fields.py b/scapy/fields.py index ceabf1a99058de9bf1d07c6c3825b7974893f4ca..28ff64d9f51ba9a7ce0012f7829f0f2904b58898 100644 --- a/scapy/fields.py +++ b/scapy/fields.py @@ -1039,6 +1039,8 @@ class FlagValue(object): self.multi = isinstance(names, list) self.names = names self.value = self._fixvalue(value) + def __hash__(self): + return hash(self.value) def __int__(self): return self.value def __eq__(self, other): diff --git a/test/regression.uts b/test/regression.uts index c0ed1b311cd5d04a4d532e7bb7793d6935cbafc4..64397d9398baa674ec03660477d1f5a88203da7f 100644 --- a/test/regression.uts +++ b/test/regression.uts @@ -8185,6 +8185,8 @@ assert pkt.flags.DF assert pkt.flags.evil assert repr(pkt.flags) == '<Flag 6 (DF+evil)>' +assert len({IP().flags, IP().flags}) == 1 + = TCP flags ~ TCP