summaryrefslogtreecommitdiff
path: root/common/lib/scammer
diff options
context:
space:
mode:
authorNélio Laranjeiro2012-12-10 09:23:30 +0100
committerNélio Laranjeiro2012-12-17 17:01:02 +0100
commit2325e706df5cbc7779b6757b96f26148510a9bb2 (patch)
tree3abedc334093a96600d0464e3c3ed6431a776ea0 /common/lib/scammer
parent9d8e8708f263c47034202982104afebe19f673b8 (diff)
common/lib/scammer: add VS_GET_ATTENUATION_LIST, closes #3485
Diffstat (limited to 'common/lib/scammer')
-rw-r--r--common/lib/scammer/vs.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/common/lib/scammer/vs.py b/common/lib/scammer/vs.py
index 5ffef98020..738d241f3f 100644
--- a/common/lib/scammer/vs.py
+++ b/common/lib/scammer/vs.py
@@ -92,6 +92,36 @@ class VS_GET_MACTOTEI_CNF (MMEPayload):
count_from = lambda p: p.nb),
]
+class VS_GET_ATTENUATION_LIST_REQ (MMEPayload):
+ """Handle a VS_GET_ATTENUATION_LIST.REQ MME. """
+ name = "HomePlug AV VS_GET_ATTENUATION_LIST.REQ MME"
+ fields_desc = [
+ VS_HEADER,
+ ]
+
+class VS_GET_ATTENUATION_LIST_CNF_entry (Packet):
+ """Handle a VS_GET_ATTENUATION_LIST.CNF entry MME."""
+ name = "HomePlug AV VS_GET_ATTENUATION_LIST.CNF entry MME"
+ fields_desc = [
+ MACField ("mac", 0),
+ ByteField ("tei", 0),
+ ByteEnumField ("valid", 0, {0: "Invalid", 1: "Valid"}),
+ ByteField ("attenuation_db", 0),
+ ]
+
+ def extract_padding(self, s):
+ return "", s
+
+class VS_GET_ATTENUATION_LIST_CNF (MMEPayload):
+ """Handle a VS_GET_ATTENUATION_LIST.CNF MME."""
+ name = "HomePlug AV VS_GET_ATTENUATION_LIST.CNF MME"
+ fields_desc = [
+ VS_HEADER,
+ FieldLenField ("nb", None, count_of="entries", fmt="B"),
+ PacketListField ("entries", None,
+ VS_GET_ATTENUATION_LIST_CNF_entry, count_from = lambda p: p.nb),
+ ]
+
if __name__ == '__main__':
from scapy.all import Ether
from scammer import MME