def datagram_parse(
data # type: "XDR Data"
):
"""Parse an sFlow high-level datagram"""
datagram = {}
datagram["sFlow Version"] = int(data.unpack_uint()) # sFlow Version
datagram["IP Version"] = data.unpack_uint() # Agent IP version
if datagram["IP Version"] == 1:
datagram["Agent IP"] = inet_ntoa(data.unpack_fstring(4)) # sFlow Agent IP (IPv4)
else:
datagram["Agent IP"] = inet_ntop(data.unpack_fstring(16)) # sFlow Agent IP (IPv6)
pass
datagram["Sub Agent"] = data.unpack_uint() # Sub Agent ID
datagram["Datagram Sequence Number"] = int(data.unpack_uint()) # Datagram Seq. Number
datagram["Switch Uptime ms"] = int(data.unpack_uint()) # Switch Uptime (ms)
datagram["Sample Count"] = int(data.unpack_uint()) # Samples in datagram
return datagram
# HTTP Methods
评论列表
文章目录