diff options
Diffstat (limited to 'openbsc/contrib/gprs/gprs-bssgp-histogram.lua')
-rw-r--r-- | openbsc/contrib/gprs/gprs-bssgp-histogram.lua | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/openbsc/contrib/gprs/gprs-bssgp-histogram.lua b/openbsc/contrib/gprs/gprs-bssgp-histogram.lua deleted file mode 100644 index b1ab5df7f..000000000 --- a/openbsc/contrib/gprs/gprs-bssgp-histogram.lua +++ /dev/null @@ -1,78 +0,0 @@ --- Simple LUA script to print the size of BSSGP messages over their type... - -do - local ip_bucket = {} - - local pdu_types = {} - pdu_types[ 6] = "PAGING" - pdu_types[11] = "SUSPEND" - pdu_types[12] = "SUSPEND-ACK" - pdu_types[32] = "BVC-BLOCK" - pdu_types[33] = "BVC-BLOCK-ACK" - pdu_types[34] = "BVC-RESET" - pdu_types[35] = "BVC-RESET-ACK" - pdu_types[36] = "UNBLOCK" - pdu_types[37] = "UNBLOCK-ACK" - pdu_types[38] = "FLOW-CONTROL-BVC" - pdu_types[39] = "FLOW-CONTROL-BVC-ACK" - pdu_types[40] = "FLOW-CONTROL-MS" - pdu_types[41] = "FLOW-CONTROL-MS-ACK" - pdu_types[44] = "LLC-DISCARDED" - - local function init_listener() - -- handle the port as NS over IP - local udp_port_table = DissectorTable.get("udp.port") - local gprs_ns_dis = Dissector.get("gprs_ns") - udp_port_table:add(23000,gprs_ns_dis) - - -- bssgp filters - local bssgp_pdu_get = Field.new("bssgp.pdu_type") - local udp_length_get = Field.new("udp.length") - - local tap = Listener.new("ip", "udp.port == 23000") - function tap.packet(pinfo,tvb,ip) - local pdu = bssgp_pdu_get() - local len = udp_length_get() - - -- only handle bssgp, but we also want the IP frame - if not pdu then - return - end - - pdu = tostring(pdu) - if tonumber(pdu) == 0 or tonumber(pdu) == 1 then - return - end - - local ip_src = tostring(ip.ip_src) - local bssgp_histo = ip_bucket[ip_src] - if not bssgp_histo then - bssgp_histo = {} - ip_bucket[ip_src] = bssgp_histo - end - - local key = pdu - local bucket = bssgp_histo[key] - if not bucket then - bucket = {} - bssgp_histo[key] = bucket - end - - table.insert(bucket, tostring(len)) - print("IP: " .. ip_src .. " PDU: " .. pdu_types[tonumber(pdu)] .. " Length: " .. tostring(len)) - end - - function tap.draw() - -- well... this will not be called... --- for ip,bssgp_histo in pairs(dumpers) do --- print("IP " .. ip) --- end - end - - function tap.reset() - -- well... this will not be called... - end - end - - init_listener() -end |