Versions in this module Expand all Collapse all v1 v1.0.3 Dec 16, 2024 v1.0.2 Dec 16, 2024 v1.0.1 Dec 16, 2024 Changes in this version + const CMD_GET_USAGE_STATISTIC + const EPF_FILTER_CTAG + const EPF_FILTER_ETHERNET_FILTER_ID + const EPF_FILTER_ETHERNET_FILTER_PROPERTIES + const EPF_FILTER_ETHERTYPE + const EPF_FILTER_MACADDRESS + const EPF_FILTER_SDF_FILTER + const EPF_FILTER_STAG + const FORWARDING_PARAMETER_TOS_TC + const IFLA_ETHERNET_N6_DEV + const MACADDRESS_DST + const MACADDRESS_SRC + const MACADDRESS_UPPER_DST + const MACADDRESS_UPPER_SRC + const PDI_ETHERNET_PACKET_FILTER + const PDI_SRC_INTF + const PDR_PDN_TYPE + const USTAT_DL_PKT_RX + const USTAT_DL_PKT_TX + const USTAT_DL_VOL_RX + const USTAT_DL_VOL_TX + const USTAT_UL_PKT_RX + const USTAT_UL_PKT_TX + const USTAT_UL_VOL_RX + const USTAT_UL_VOL_TX + type EthPktFilter struct + EthFilterID *uint32 + Ethertype *uint16 + MACAddrs []MACAddrFields + func DecodeEthPktFilter(b []byte) (EthPktFilter, error) type ForwardParam + TosTc uint8 + type MACAddrFields struct + DestinationMACAddress string + SourceMACAddress string + UpperDestinationMACAddress string + UpperSourceMACAddress string + func DecodeMACAddrFields(b []byte) (MACAddrFields, error) type PDI + EPFs []EthPktFilter + SrcIntf *uint8 type PDR + PDNType *uint8 + type UsageStatistic struct + DlPktRx uint64 + DlPktTx uint64 + DlVolRx uint64 + DlVolTx uint64 + TotalPktRx uint64 + TotalPktTx uint64 + TotalVolRx uint64 + TotalVolTx uint64 + UlPktRx uint64 + UlPktTx uint64 + UlVolRx uint64 + UlVolTx uint64 + func DecodeUsageStatistic(b []byte) (*UsageStatistic, error) + func GetUsageStatistic(c *Client, link *Link) (*UsageStatistic, error) v1.0.0 Dec 16, 2024 Changes in this version + const ATTR_MAX + const BAR_BUFFERING_PACKETS_COUNT + const BAR_DOWNLINK_DATA_NOTIFICATION_DELAY + const BAR_ID + const BAR_SEID + const BUFFER + const BUFFER_ACTION + const BUFFER_ID + const BUFFER_PACKET + const BUFFER_PAD + const BUFFER_SEID + const CMD_ADD_BAR + const CMD_ADD_FAR + const CMD_ADD_PDR + const CMD_ADD_QER + const CMD_ADD_URR + const CMD_BUFFER_GTPU + const CMD_DEL_BAR + const CMD_DEL_FAR + const CMD_DEL_PDR + const CMD_DEL_QER + const CMD_DEL_URR + const CMD_GET_BAR + const CMD_GET_FAR + const CMD_GET_MULTI_REPORTS + const CMD_GET_PDR + const CMD_GET_QER + const CMD_GET_REPORT + const CMD_GET_URR + const CMD_GET_VERSION + const CMD_UNSPEC + const DLNOP + const DLVOL + const FAR_APPLY_ACTION + const FAR_BAR_ID + const FAR_FORWARDING_PARAMETER + const FAR_ID + const FAR_RELATED_TO_PDR + const FAR_SEID + const FLOW_DESCRIPTION_ACTION + const FLOW_DESCRIPTION_DEST_IPV4 + const FLOW_DESCRIPTION_DEST_MASK + const FLOW_DESCRIPTION_DEST_PORT + const FLOW_DESCRIPTION_DIRECTION + const FLOW_DESCRIPTION_PROTOCOL + const FLOW_DESCRIPTION_SRC_IPV4 + const FLOW_DESCRIPTION_SRC_MASK + const FLOW_DESCRIPTION_SRC_PORT + const FORWARDING_PARAMETER_FORWARDING_POLICY + const FORWARDING_PARAMETER_OUTER_HEADER_CREATION + const FORWARDING_PARAMETER_PFCPSM_REQ_FLAGS + const F_TEID_GTPU_ADDR_IPV4 + const F_TEID_I_TEID + const GENL_MCGRP + const IFLA_FD1 + const IFLA_HASHSIZE + const IFLA_ROLE + const IFLA_UNSPEC + const LINK + const MAX_NETLINK_MSG_BODY_SIZE + const NETLIMK_ATTR_HDR_SIZE + const NET_NS_FD + const OUTER_HEADER_CREATION_DESCRIPTION + const OUTER_HEADER_CREATION_O_TEID + const OUTER_HEADER_CREATION_PEER_ADDR_IPV4 + const OUTER_HEADER_CREATION_PORT + const PDI_F_TEID + const PDI_SDF_FILTER + const PDI_UE_ADDR_IPV4 + const PDR_FAR_ID + const PDR_ID + const PDR_OUTER_HEADER_REMOVAL + const PDR_PDI + const PDR_PRECEDENCE + const PDR_QER_ID + const PDR_ROLE_ADDR_IPV4 + const PDR_SEID + const PDR_UNIX_SOCKET_PATH + const PDR_URR_ID + const PdrAddrForNetlink + const QER_CORR_ID + const QER_GATE + const QER_GBR + const QER_GBR_DL_HIGH32 + const QER_GBR_DL_LOW8 + const QER_GBR_UL_HIGH32 + const QER_GBR_UL_LOW8 + const QER_ID + const QER_MBR + const QER_MBR_DL_HIGH32 + const QER_MBR_DL_LOW8 + const QER_MBR_UL_HIGH32 + const QER_MBR_UL_LOW8 + const QER_PPI + const QER_QFI + const QER_RCSR + const QER_RELATED_TO_PDR + const QER_RQI + const QER_SEID + const REPORT + const SDF_FILTER_ACTION_UNSPEC + const SDF_FILTER_DIRECTION_UNSPEC + const SDF_FILTER_FLOW_DESCRIPTION + const SDF_FILTER_FLOW_LABEL + const SDF_FILTER_IN + const SDF_FILTER_OUT + const SDF_FILTER_PERMIT + const SDF_FILTER_SDF_FILTER_ID + const SDF_FILTER_SECURITY_PARAMETER_INDEX + const SDF_FILTER_TOS_TRAFFIC_CLASS + const TONOP + const TOVOL + const ULNOP + const ULVOL + const UR + const URR_ID + const URR_MEASUREMENT_INFO + const URR_MEASUREMENT_METHOD + const URR_MEASUREMENT_PERIOD + const URR_MULTI_SEID_URRID + const URR_NUM + const URR_REPORTING_TRIGGER + const URR_SEID + const URR_VOLUME_QUOTA + const URR_VOLUME_QUOTA_DVOL + const URR_VOLUME_QUOTA_FLAG + const URR_VOLUME_QUOTA_TOVOL + const URR_VOLUME_QUOTA_UVOL + const URR_VOLUME_THRESHOLD + const URR_VOLUME_THRESHOLD_DVOL + const URR_VOLUME_THRESHOLD_FLAG + const URR_VOLUME_THRESHOLD_TOVOL + const URR_VOLUME_THRESHOLD_UVOL + const UR_END_TIME + const UR_QUERY_URR_REFERENCE + const UR_SEID + const UR_START_TIME + const UR_URRID + const UR_URSEQN + const UR_USAGE_REPORT_TRIGGER + const UR_VOLUME_MEASUREMENT + const UR_VOLUME_MEASUREMENT_DPACKET + const UR_VOLUME_MEASUREMENT_DVOL + const UR_VOLUME_MEASUREMENT_FLAGS + const UR_VOLUME_MEASUREMENT_TOPACKET + const UR_VOLUME_MEASUREMENT_TOVOL + const UR_VOLUME_MEASUREMENT_UPACKET + const UR_VOLUME_MEASUREMENT_UVOL + func CreateBAR(c *Client, link *Link, barid int, attrs []nl.Attr) error + func CreateBAROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func CreateFAR(c *Client, link *Link, farid int, attrs []nl.Attr) error + func CreateFAROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func CreatePDR(c *Client, link *Link, pdrid int, attrs []nl.Attr) error + func CreatePDROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func CreateQER(c *Client, link *Link, qerid int, attrs []nl.Attr) error + func CreateQEROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func CreateURR(c *Client, link *Link, urrid int, attrs []nl.Attr) error + func CreateURROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func DecodeVersion(b []byte) (string, error) + func GetVersion(c *Client) (string, error) + func MaxNetlinkUsageReportNum() int + func NativeEndian() binary.ByteOrder + func RemoveBAR(c *Client, link *Link, barid int) error + func RemoveBAROID(c *Client, link *Link, oid OID) error + func RemoveFAR(c *Client, link *Link, farid int) error + func RemoveFAROID(c *Client, link *Link, oid OID) error + func RemovePDR(c *Client, link *Link, pdrid int) error + func RemovePDROID(c *Client, link *Link, oid OID) error + func RemoveQER(c *Client, link *Link, qerid int) error + func RemoveQEROID(c *Client, link *Link, oid OID) error + func UpdateBAR(c *Client, link *Link, barid int, attrs []nl.Attr) error + func UpdateBAROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func UpdateFAR(c *Client, link *Link, farid int, attrs []nl.Attr) error + func UpdateFAROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func UpdatePDR(c *Client, link *Link, pdrid int, attrs []nl.Attr) error + func UpdatePDROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + func UpdateQER(c *Client, link *Link, qerid int, attrs []nl.Attr) error + func UpdateQEROID(c *Client, link *Link, oid OID, attrs []nl.Attr) error + type BAR struct + Count *uint16 + Delay *uint8 + ID uint8 + SEID *uint64 + func DecodeBAR(b []byte) (*BAR, error) + func GetBAR(c *Client, link *Link, barid int) (*BAR, error) + func GetBARAll(c *Client) ([]BAR, error) + func GetBAROID(c *Client, link *Link, oid OID) (*BAR, error) + type Client struct + Client *nl.Client + ID int + func NewClient(conn *nl.Conn, mux *nl.Mux) (*Client, error) + func (c *Client) Do(req *nl.Request) ([]nl.Msg, error) + type FAR struct + Action uint16 + BARID *uint8 + ID uint32 + PDRIDs []uint16 + Param *ForwardParam + SEID *uint64 + func DecodeFAR(b []byte) (*FAR, error) + func GetFAR(c *Client, link *Link, farid int) (*FAR, error) + func GetFARAll(c *Client) ([]FAR, error) + func GetFAROID(c *Client, link *Link, oid OID) (*FAR, error) + type FTEID struct + GTPuAddr net.IP + TEID uint32 + func DecodeFTEID(b []byte) (FTEID, error) + type FlowDesc struct + Action uint8 + Dir uint8 + Dst net.IPNet + DstPorts [][]uint16 + Proto uint8 + Src net.IPNet + SrcPorts [][]uint16 + func DecodeFlowDesc(b []byte) (FlowDesc, error) + type ForwardParam struct + Creation *HeaderCreation + Policy *string + func DecodeForwardParam(b []byte) (ForwardParam, error) + type GBR struct + DLHigh uint32 + DLLow uint8 + DL_Kbps uint64 + ULHigh uint32 + ULLow uint8 + UL_Kbps uint64 + func DecodeGBR(b []byte) (GBR, error) + type HeaderCreation struct + Desc uint16 + PeerAddr net.IP + Port uint16 + TEID uint32 + func DecodeHeaderCreation(b []byte) (HeaderCreation, error) + type Link struct + Index int + Name string + func GetLink(name string) (*Link, error) + type MBR struct + DLHigh uint32 + DLLow uint8 + DL_Kbps uint64 + ULHigh uint32 + ULLow uint8 + UL_Kbps uint64 + func DecodeMBR(b []byte) (MBR, error) + type OID []uint64 + func (oid OID) Equal(a OID) bool + func (oid OID) ID() (int, bool) + func (oid OID) SEID() (uint64, bool) + type PDI struct + FTEID *FTEID + SDF *SDFFilter + UEAddr net.IP + func DecodePDI(b []byte) (PDI, error) + type PDR struct + FARID *uint32 + ID uint16 + OuterHdrRemoval *uint8 + PDI *PDI + Precedence *uint32 + QERID []uint32 + SEID *uint64 + URRID []uint32 + func DecodePDR(b []byte) (*PDR, error) + func GetPDR(c *Client, link *Link, pdrid int) (*PDR, error) + func GetPDRAll(c *Client) ([]PDR, error) + func GetPDROID(c *Client, link *Link, oid OID) (*PDR, error) + type QER struct + CorrID uint32 + GBR GBR + Gate uint8 + ID uint32 + MBR MBR + PDRIDs []uint16 + PPI uint8 + QFI uint8 + RQI uint8 + SEID *uint64 + func DecodeQER(b []byte) (*QER, error) + func GetQER(c *Client, link *Link, qerid int) (*QER, error) + func GetQERAll(c *Client) ([]QER, error) + func GetQEROID(c *Client, link *Link, oid OID) (*QER, error) + type SDFFilter struct + BID *uint32 + FD *FlowDesc + FL *uint32 + SPI *uint32 + TTC *uint16 + func DecodeSDFFilter(b []byte) (SDFFilter, error) + type URR struct + ID uint32 + Info *uint8 + Method uint8 + Period *uint32 + SEID *uint64 + Trigger uint32 + VolQuota *VolumeQuota + VolThreshold *VolumeThreshold + func DecodeURR(b []byte) (*URR, error) + func GetURR(c *Client, link *Link, urrid int) (*URR, error) + func GetURRAll(c *Client) ([]URR, error) + func GetURROID(c *Client, link *Link, oid OID) (*URR, error) + type USAReport struct + EndTime time.Time + QueryUrrRef uint32 + SEID uint64 + StartTime time.Time + URRID uint32 + URSEQN uint32 + USARTrigger uint32 + VolMeasurement VolumeMeasurement + func DecodeAllUSAReports(b []byte) ([]USAReport, error) + func GetMultiReports(c *Client, link *Link, lSeidUrridsMap map[uint64][]uint32) ([]USAReport, error) + func GetMultiReportsOID(c *Client, link *Link, oids []OID) ([]USAReport, error) + func GetReport(c *Client, link *Link, urrid uint64, seid uint64) ([]USAReport, error) + func GetReportOID(c *Client, link *Link, oid OID) ([]USAReport, error) + func RemoveURR(c *Client, link *Link, urrid int) ([]USAReport, error) + func RemoveURROID(c *Client, link *Link, oid OID) ([]USAReport, error) + func UpdateURR(c *Client, link *Link, urrid int, attrs []nl.Attr) ([]USAReport, error) + func UpdateURROID(c *Client, link *Link, oid OID, attrs []nl.Attr) ([]USAReport, error) + type VolumeMeasurement struct + DownlinkPktNum uint64 + DownlinkVolume uint64 + Flag uint8 + TotalPktNum uint64 + TotalVolume uint64 + UplinkPktNum uint64 + UplinkVolume uint64 + type VolumeQuota struct + type VolumeThreshold struct