Files
vpp-snmp-agent/agentx/dataset.py
2023-01-08 13:05:42 +01:00

45 lines
1.3 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import (
absolute_import,
division,
print_function,
)
import time
import agentx
class DataSetError(Exception):
pass
class DataSet:
def __init__(self):
self._data = {}
def set(self, oid, oid_type, value):
if oid_type.startswith("int"):
t = agentx.TYPE_INTEGER
elif oid_type.startswith("str"):
t = agentx.TYPE_OCTETSTRING
elif oid_type.startswith("oid"):
t = agentx.TYPE_OBJECTIDENTIFIER
elif oid_type.startswith("ip"):
t = agentx.TYPE_IPADDRESS
elif oid_type == "counter32" or oid_type == "uint32" or oid_type == "u32":
t = agentx.TYPE_COUNTER32
elif oid_type == "gauge32":
t = agentx.TYPE_GAUGE32
elif oid_type.startswith("time") or oid_type.startswith("tick"):
t = agentx.TYPE_TIMETICKS
elif oid_type.startswith("opaque"):
t = agentx.TYPE_OPAQUE
elif oid_type == "counter64" or oid_type == "uint64" or oid_type == "u64":
t = agentx.TYPE_COUNTER64
else:
raise DataSetErrror("Invalid oid_type: %s" % (oid_type))
return
self._data[oid] = {"name": oid, "type": t, "value": value}