1#!/usr/bin/python 2# 3# Sigma Control API DUT (sniffer_get_field_value) 4# Copyright (c) 2014, Qualcomm Atheros, Inc. 5# All Rights Reserved. 6# Licensed under the Clear BSD license. See README for more details. 7 8import sys 9import subprocess 10import tshark 11 12for arg in sys.argv: 13 if arg.startswith("FileName="): 14 filename = arg.split("=", 1)[1] 15 elif arg.startswith("SrcMac="): 16 srcmac = arg.split("=", 1)[1] 17 elif arg.startswith("FrameName="): 18 framename = arg.split("=", 1)[1].lower() 19 elif arg.startswith("FieldName="): 20 fieldname = arg.split("=", 1)[1].lower() 21 22frame_filters = tshark.tshark_framenames() 23if framename not in frame_filters: 24 print "errorCode,Unsupported FrameName" 25 sys.exit() 26 27fields = tshark.tshark_fieldnames() 28if fieldname not in fields: 29 print "errorCode,Unsupported FieldName" 30 sys.exit() 31 32cmd = ['tshark', '-r', filename, 33 '-c', '1', 34 '-R', 'wlan.sa==' + srcmac + " and " + frame_filters[framename], 35 '-Tfields', 36 '-e', fields[fieldname]] 37tshark = subprocess.Popen(cmd, stdout=subprocess.PIPE) 38data = tshark.stdout.read().rstrip() 39result = "SUCCESS" if len(data) > 0 else "FAIL" 40print "CheckResult,%s,ReturnValue,%s" % (result, data) 41