/// import { BaseObject, BaseExpandableStruct, StreamData } from '../structs'; /** This struct should be in sync with struct rtnl_link_stats64 */ export interface LinkStats extends BaseExpandableStruct { /** total packets received */ rxPackets?: number; /** total packets transmitted */ txPackets?: number; /** total bytes received */ rxBytes?: number; /** total bytes transmitted */ txBytes?: number; /** bad packets received */ rxErrors?: number; /** packet transmit problems */ txErrors?: number; /** no space in linux buffers */ rxDropped?: number; /** no space available in linux */ txDropped?: number; /** multicast packets received */ multicast?: number; collisions?: number; rxLengthErrors?: number; /** receiver ring buff overflow */ rxOverErrors?: number; /** recved pkt with crc error */ rxCrcErrors?: number; /** recv'd frame alignment error */ rxFrameErrors?: number; /** recv'r fifo overrun */ rxFifoErrors?: number; /** receiver missed packet */ rxMissedErrors?: number; txAbortedErrors?: number; txCarrierErrors?: number; txFifoErrors?: number; txHeartbeatErrors?: number; txWindowErrors?: number; rxCompressed?: number; txCompressed?: number; } /** Parses the attributes of a {@link LinkStats} object */ export declare function parseLinkStats(r: Buffer): LinkStats; /** Encodes a {@link LinkStats} object into a stream of attributes */ export declare function formatLinkStats(x: LinkStats, r?: Buffer): Buffer; export declare const __MINLENGTH_LinkStats = 92; /** The main device statistics structure */ export interface LinkStats64 extends BaseExpandableStruct { /** total packets received */ rxPackets?: bigint; /** total packets transmitted */ txPackets?: bigint; /** total bytes received */ rxBytes?: bigint; /** total bytes transmitted */ txBytes?: bigint; /** bad packets received */ rxErrors?: bigint; /** packet transmit problems */ txErrors?: bigint; /** no space in linux buffers */ rxDropped?: bigint; /** no space available in linux */ txDropped?: bigint; /** multicast packets received */ multicast?: bigint; collisions?: bigint; rxLengthErrors?: bigint; /** receiver ring buff overflow */ rxOverErrors?: bigint; /** recved pkt with crc error */ rxCrcErrors?: bigint; /** recv'd frame alignment error */ rxFrameErrors?: bigint; /** recv'r fifo overrun */ rxFifoErrors?: bigint; /** receiver missed packet */ rxMissedErrors?: bigint; txAbortedErrors?: bigint; txCarrierErrors?: bigint; txFifoErrors?: bigint; txHeartbeatErrors?: bigint; txWindowErrors?: bigint; rxCompressed?: bigint; txCompressed?: bigint; } /** Parses the attributes of a {@link LinkStats64} object */ export declare function parseLinkStats64(r: Buffer): LinkStats64; /** Encodes a {@link LinkStats64} object into a stream of attributes */ export declare function formatLinkStats64(x: LinkStats64, r?: Buffer): Buffer; export declare const __MINLENGTH_LinkStats64 = 184; /** The struct should be in sync with struct ifmap */ export interface LinkInterfaceMap { memStart?: bigint; memEnd?: bigint; baseAddr?: bigint; irq?: number; dma?: number; port?: number; } /** Parses the attributes of a {@link LinkInterfaceMap} object */ export declare function parseLinkInterfaceMap(r: Buffer): LinkInterfaceMap; /** Encodes a {@link LinkInterfaceMap} object into a stream of attributes */ export declare function formatLinkInterfaceMap(x: LinkInterfaceMap, r?: Buffer): Buffer; export declare const __LENGTH_LinkInterfaceMap = 28; export interface LinkAttrs extends BaseObject { address?: Buffer; broadcast?: Buffer; ifname?: string; mtu?: number; link?: Buffer; qdisc?: string; stats?: LinkStats; cost?: Buffer; priority?: Buffer; master?: number; /** Wireless Extension event - see wireless.h */ wireless?: Buffer; /** Protocol specific information for a link */ protinfo?: Map; txqlen?: number; map?: Buffer; weight?: number; operstate?: number; linkmode?: number; linkinfo?: Buffer; netNsPid?: number; ifalias?: string; /** Number of VFs if device is SR-IOV PF */ numVf?: number; vfinfoList?: VirtualFunctionList; stats64?: LinkStats64; vfPorts?: PortList; portSelf?: Port; afSpec?: Map; /** Group the device belongs to */ group?: number; netNsFd?: number; /** Extended info mask, VFs, etc */ extMask?: Buffer; /** Promiscuity count: > 0 means acts PROMISC */ promiscuity?: number; numTxQueues?: number; numRxQueues?: number; carrier?: number; physPortId?: Buffer; carrierChanges?: number; physSwitchId?: Buffer; linkNetnsid?: number; physPortName?: string; protoDown?: Buffer; gsoMaxSegs?: number; gsoMaxSize?: number; __pad?: Buffer; xdp?: Xdp; event?: Buffer; newNetnsid?: Buffer; /** new alias for IFLA_IF_NETNSID */ targetNetnsid?: number; carrierUpCount?: number; carrierDownCount?: number; newIfindex?: number; minMtu?: number; maxMtu?: number; propList?: Buffer; /** Alternative ifname */ altIfname?: string; permAddress?: Buffer; } /** Parses the attributes of a {@link LinkAttrs} object */ export declare function parseLinkAttrs(r: Buffer): LinkAttrs; /** Encodes a {@link LinkAttrs} object into a stream of attributes */ export declare function formatLinkAttrs(x: LinkAttrs): StreamData; export interface LinkProtocolInfoInet extends BaseObject { conf?: Buffer; } /** Parses the attributes of a {@link LinkProtocolInfoInet} object */ export declare function parseLinkProtocolInfoInet(r: Buffer): LinkProtocolInfoInet; /** Encodes a {@link LinkProtocolInfoInet} object into a stream of attributes */ export declare function formatLinkProtocolInfoInet(x: LinkProtocolInfoInet): StreamData; /** Subtype attributes for IFLA_PROTINFO */ export interface LinkProtocolInfoInet6 extends BaseObject { /** link flags */ flags?: number; /** sysctl parameters */ conf?: Buffer; /** statistics */ stats?: Buffer; /** MC things. What of them? */ mcast?: Buffer; /** time values and max reasm size */ cacheinfo?: Buffer; /** statistics (icmpv6) */ icmp6stats?: Buffer; /** device token */ token?: Buffer; /** implicit address generator mode */ addrGenMode?: number; } /** Parses the attributes of a {@link LinkProtocolInfoInet6} object */ export declare function parseLinkProtocolInfoInet6(r: Buffer): LinkProtocolInfoInet6; /** Encodes a {@link LinkProtocolInfoInet6} object into a stream of attributes */ export declare function formatLinkProtocolInfoInet6(x: LinkProtocolInfoInet6): StreamData; export declare enum In6AddrGenMode { EUI64 = 0, NONE = 1, STABLE_PRIVACY = 2, RANDOM = 3 } /** Bridge section */ export interface Bridge extends BaseObject { forwardDelay?: Buffer; helloTime?: Buffer; maxAge?: Buffer; ageingTime?: Buffer; stpState?: Buffer; priority?: Buffer; vlanFiltering?: Buffer; vlanProtocol?: Buffer; groupFwdMask?: Buffer; rootId?: Buffer; bridgeId?: Buffer; rootPort?: Buffer; rootPathCost?: Buffer; topologyChange?: Buffer; topologyChangeDetected?: Buffer; helloTimer?: Buffer; tcnTimer?: Buffer; topologyChangeTimer?: Buffer; gcTimer?: Buffer; groupAddr?: Buffer; fdbFlush?: Buffer; mcastRouter?: Buffer; mcastSnooping?: Buffer; mcastQueryUseIfaddr?: Buffer; mcastQuerier?: Buffer; mcastHashElasticity?: Buffer; mcastHashMax?: Buffer; mcastLastMemberCnt?: Buffer; mcastStartupQueryCnt?: Buffer; mcastLastMemberIntvl?: Buffer; mcastMembershipIntvl?: Buffer; mcastQuerierIntvl?: Buffer; mcastQueryIntvl?: Buffer; mcastQueryResponseIntvl?: Buffer; mcastStartupQueryIntvl?: Buffer; nfCallIptables?: Buffer; nfCallIp6tables?: Buffer; nfCallArptables?: Buffer; vlanDefaultPvid?: Buffer; __pad?: Buffer; vlanStatsEnabled?: Buffer; mcastStatsEnabled?: Buffer; mcastIgmpVersion?: Buffer; mcastMldVersion?: Buffer; vlanStatsPerPort?: Buffer; multiBoolopt?: Buffer; } /** Parses the attributes of a {@link Bridge} object */ export declare function parseBridge(r: Buffer): Bridge; /** Encodes a {@link Bridge} object into a stream of attributes */ export declare function formatBridge(x: Bridge): StreamData; export interface BridgeId { prio?: number[]; /** ETH_ALEN */ addr?: number[]; } /** Parses the attributes of a {@link BridgeId} object */ export declare function parseBridgeId(r: Buffer): BridgeId; /** Encodes a {@link BridgeId} object into a stream of attributes */ export declare function formatBridgeId(x: BridgeId, r?: Buffer): Buffer; export declare const __LENGTH_BridgeId = 8; export declare enum BridgePortMode { UNSPEC = 0, HAIRPIN = 1 } export interface BridgePort extends BaseObject { /** Spanning tree state */ state?: number; /** Spanning tree priority */ priority?: number; /** Spanning tree cost */ cost?: number; /** mode (hairpin) */ mode?: number; /** bpdu guard */ guard?: number; /** root port protection */ protect?: number; /** multicast fast leave */ fastLeave?: number; /** mac learning */ learning?: number; /** flood unicast traffic */ unicastFlood?: number; /** proxy ARP */ proxyarp?: Buffer; /** mac learning sync from device */ learningSync?: number; /** proxy ARP for Wi-Fi */ proxyarpWifi?: Buffer; /** designated root */ rootId?: Buffer; /** designated bridge */ bridgeId?: Buffer; designatedPort?: Buffer; designatedCost?: Buffer; id?: Buffer; no?: Buffer; topologyChangeAck?: Buffer; configPending?: Buffer; messageAgeTimer?: Buffer; forwardDelayTimer?: Buffer; holdTimer?: Buffer; flush?: Buffer; multicastRouter?: Buffer; __pad?: Buffer; mcastFlood?: Buffer; mcastToUcast?: Buffer; vlanTunnel?: Buffer; bcastFlood?: Buffer; groupFwdMask?: Buffer; neighSuppress?: Buffer; isolated?: Buffer; backupPort?: Buffer; } /** Parses the attributes of a {@link BridgePort} object */ export declare function parseBridgePort(r: Buffer): BridgePort; /** Encodes a {@link BridgePort} object into a stream of attributes */ export declare function formatBridgePort(x: BridgePort): StreamData; export interface CacheInfo { maxReasmLen?: number; /** ipv6InterfaceTable updated timestamp */ tstamp?: number; reachableTime?: number; retransTime?: number; } /** Parses the attributes of a {@link CacheInfo} object */ export declare function parseCacheInfo(r: Buffer): CacheInfo; /** Encodes a {@link CacheInfo} object into a stream of attributes */ export declare function formatCacheInfo(x: CacheInfo, r?: Buffer): Buffer; export declare const __LENGTH_CacheInfo = 16; export interface Info extends BaseObject { kind?: string; data?: Buffer; xstats?: Buffer; slaveKind?: string; slaveData?: Buffer; } /** Parses the attributes of a {@link Info} object */ export declare function parseInfo(r: Buffer): Info; /** Encodes a {@link Info} object into a stream of attributes */ export declare function formatInfo(x: Info): StreamData; /** VLAN section */ export interface Vlan extends BaseObject { id?: number; flags?: Buffer; egressQos?: Buffer; ingressQos?: Buffer; protocol?: number; } /** Parses the attributes of a {@link Vlan} object */ export declare function parseVlan(r: Buffer): Vlan; /** Encodes a {@link Vlan} object into a stream of attributes */ export declare function formatVlan(x: Vlan): StreamData; export interface VlanFlagsMask { flags?: number; mask?: number; } /** Parses the attributes of a {@link VlanFlagsMask} object */ export declare function parseVlanFlagsMask(r: Buffer): VlanFlagsMask; /** Encodes a {@link VlanFlagsMask} object into a stream of attributes */ export declare function formatVlanFlagsMask(x: VlanFlagsMask, r?: Buffer): Buffer; export declare const __LENGTH_VlanFlagsMask = 8; export interface VlanQos extends BaseObject { mapping?: Buffer; } /** Parses the attributes of a {@link VlanQos} object */ export declare function parseVlanQos(r: Buffer): VlanQos; /** Encodes a {@link VlanQos} object into a stream of attributes */ export declare function formatVlanQos(x: VlanQos): StreamData; export interface VlanQosMapping { from?: number; to?: number; } /** Parses the attributes of a {@link VlanQosMapping} object */ export declare function parseVlanQosMapping(r: Buffer): VlanQosMapping; /** Encodes a {@link VlanQosMapping} object into a stream of attributes */ export declare function formatVlanQosMapping(x: VlanQosMapping, r?: Buffer): Buffer; export declare const __LENGTH_VlanQosMapping = 8; /** MACVLAN section */ export interface Macvlan extends BaseObject { mode?: number; flags?: number; macaddrMode?: number; macaddr?: Buffer; macaddrData?: Buffer; macaddrCount?: number; } /** Parses the attributes of a {@link Macvlan} object */ export declare function parseMacvlan(r: Buffer): Macvlan; /** Encodes a {@link Macvlan} object into a stream of attributes */ export declare function formatMacvlan(x: Macvlan): StreamData; export interface MacvlanMode { /** don't talk to other macvlans */ private?: true; /** talk to other ports through ext bridge */ vepa?: true; /** talk to bridge ports directly */ bridge?: true; /** take over the underlying device */ passthru?: true; /** use source MAC address list to assign */ source?: true; __unknown?: number; } /** Parses the flags in a {@link MacvlanMode} bitmask */ export declare function parseMacvlanMode(r: number): MacvlanMode; /** Encodes a {@link MacvlanMode} bitmask */ export declare function formatMacvlanMode(x: MacvlanMode): number; export declare enum MacvlanMacaddrMode { ADD = 0, DEL = 1, FLUSH = 2, SET = 3 } /** VRF section */ export interface Vrf extends BaseObject { table?: number; } /** Parses the attributes of a {@link Vrf} object */ export declare function parseVrf(r: Buffer): Vrf; /** Encodes a {@link Vrf} object into a stream of attributes */ export declare function formatVrf(x: Vrf): StreamData; export interface VrfPort extends BaseObject { table?: Buffer; } /** Parses the attributes of a {@link VrfPort} object */ export declare function parseVrfPort(r: Buffer): VrfPort; /** Encodes a {@link VrfPort} object into a stream of attributes */ export declare function formatVrfPort(x: VrfPort): StreamData; /** MACSEC section */ export interface Macsec extends BaseObject { sci?: bigint; port?: number; icvLen?: number; cipherSuite?: bigint; window?: number; encodingSa?: number; encrypt?: number; protect?: number; incSci?: number; es?: number; scb?: number; replayProtect?: number; validation?: number; __pad?: Buffer; } /** Parses the attributes of a {@link Macsec} object */ export declare function parseMacsec(r: Buffer): Macsec; /** Encodes a {@link Macsec} object into a stream of attributes */ export declare function formatMacsec(x: Macsec): StreamData; /** XFRM section */ export interface Xfrm extends BaseObject { link?: number; ifId?: number; } /** Parses the attributes of a {@link Xfrm} object */ export declare function parseXfrm(r: Buffer): Xfrm; /** Encodes a {@link Xfrm} object into a stream of attributes */ export declare function formatXfrm(x: Xfrm): StreamData; export declare enum MacsecValidationType { DISABLED = 0, CHECK = 1, STRICT = 2 } export declare enum MacsecOffload { OFF = 0, PHY = 1 } /** IPVLAN section */ export interface Ipvlan extends BaseObject { mode?: number; flags?: Buffer; } /** Parses the attributes of a {@link Ipvlan} object */ export declare function parseIpvlan(r: Buffer): Ipvlan; /** Encodes a {@link Ipvlan} object into a stream of attributes */ export declare function formatIpvlan(x: Ipvlan): StreamData; export declare enum IpvlanMode { L2 = 0, L3 = 1, L3S = 2 } /** VXLAN section */ export interface Vxlan extends BaseObject { id?: number; /** group or remote address */ group?: Buffer; link?: number; local?: Buffer; ttl?: number; tos?: number; learning?: number; ageing?: number; limit?: number; /** source port */ portRange?: Buffer; proxy?: number; rsc?: number; l2miss?: number; l3miss?: number; /** destination port */ port?: Buffer; group6?: Buffer; local6?: Buffer; udpCsum?: number; udpZeroCsum6Tx?: number; udpZeroCsum6Rx?: number; remcsumTx?: number; remcsumRx?: number; gbp?: true; remcsumNopartial?: Buffer; collectMetadata?: number; label?: number; gpe?: true; ttlInherit?: Buffer; df?: Buffer; } /** Parses the attributes of a {@link Vxlan} object */ export declare function parseVxlan(r: Buffer): Vxlan; /** Encodes a {@link Vxlan} object into a stream of attributes */ export declare function formatVxlan(x: Vxlan): StreamData; export interface VxlanPortRange { low?: number; high?: number; } /** Parses the attributes of a {@link VxlanPortRange} object */ export declare function parseVxlanPortRange(r: Buffer): VxlanPortRange; /** Encodes a {@link VxlanPortRange} object into a stream of attributes */ export declare function formatVxlanPortRange(x: VxlanPortRange, r?: Buffer): Buffer; export declare const __LENGTH_VxlanPortRange = 4; export declare enum VxlanDf { UNSET = 0, SET = 1, INHERIT = 2 } /** GENEVE section */ export interface Geneve extends BaseObject { id?: number; remote?: Buffer; ttl?: number; tos?: number; /** destination port */ port?: Buffer; collectMetadata?: Buffer; remote6?: Buffer; udpCsum?: number; udpZeroCsum6Tx?: number; udpZeroCsum6Rx?: number; label?: number; ttlInherit?: Buffer; df?: Buffer; } /** Parses the attributes of a {@link Geneve} object */ export declare function parseGeneve(r: Buffer): Geneve; /** Encodes a {@link Geneve} object into a stream of attributes */ export declare function formatGeneve(x: Geneve): StreamData; export declare enum GeneveDf { UNSET = 0, SET = 1, INHERIT = 2 } /** PPP section */ export interface Ppp extends BaseObject { devFd?: number; } /** Parses the attributes of a {@link Ppp} object */ export declare function parsePpp(r: Buffer): Ppp; /** Encodes a {@link Ppp} object into a stream of attributes */ export declare function formatPpp(x: Ppp): StreamData; /** GTP section */ export declare enum GtpRole { GGSN = 0, SGSN = 1 } export interface Gtp extends BaseObject { fd0?: Buffer; fd1?: Buffer; pdpHashsize?: Buffer; role?: Buffer; } /** Parses the attributes of a {@link Gtp} object */ export declare function parseGtp(r: Buffer): Gtp; /** Encodes a {@link Gtp} object into a stream of attributes */ export declare function formatGtp(x: Gtp): StreamData; /** Bonding section */ export interface Bond extends BaseObject { mode?: Buffer; activeSlave?: Buffer; miimon?: Buffer; updelay?: Buffer; downdelay?: Buffer; useCarrier?: Buffer; arpInterval?: Buffer; arpIpTarget?: Buffer; arpValidate?: Buffer; arpAllTargets?: Buffer; primary?: Buffer; primaryReselect?: Buffer; failOverMac?: Buffer; xmitHashPolicy?: Buffer; resendIgmp?: Buffer; numPeerNotif?: Buffer; allSlavesActive?: Buffer; minLinks?: Buffer; lpInterval?: Buffer; packetsPerSlave?: Buffer; adLacpRate?: Buffer; adSelect?: Buffer; adInfo?: BondAdInfo; adActorSysPrio?: Buffer; adUserPortKey?: Buffer; adActorSystem?: Buffer; tlbDynamicLb?: Buffer; peerNotifDelay?: Buffer; } /** Parses the attributes of a {@link Bond} object */ export declare function parseBond(r: Buffer): Bond; /** Encodes a {@link Bond} object into a stream of attributes */ export declare function formatBond(x: Bond): StreamData; export interface BondAdInfo extends BaseObject { aggregator?: Buffer; numPorts?: Buffer; actorKey?: Buffer; partnerKey?: Buffer; partnerMac?: Buffer; } /** Parses the attributes of a {@link BondAdInfo} object */ export declare function parseBondAdInfo(r: Buffer): BondAdInfo; /** Encodes a {@link BondAdInfo} object into a stream of attributes */ export declare function formatBondAdInfo(x: BondAdInfo): StreamData; export interface BondSlave extends BaseObject { state?: Buffer; miiStatus?: Buffer; linkFailureCount?: Buffer; permHwaddr?: Buffer; queueId?: Buffer; adAggregatorId?: Buffer; adActorOperPortState?: Buffer; adPartnerOperPortState?: Buffer; } /** Parses the attributes of a {@link BondSlave} object */ export declare function parseBondSlave(r: Buffer): BondSlave; /** Encodes a {@link BondSlave} object into a stream of attributes */ export declare function formatBondSlave(x: BondSlave): StreamData; export interface VirtualFunctionList extends BaseObject { x?: VirtualFunction[]; } /** Parses the attributes of a {@link VirtualFunctionList} object */ export declare function parseVirtualFunctionList(r: Buffer): VirtualFunctionList; /** Encodes a {@link VirtualFunctionList} object into a stream of attributes */ export declare function formatVirtualFunctionList(x: VirtualFunctionList): StreamData; /** SR-IOV virtual function management section */ export interface VirtualFunction extends BaseObject { /** Hardware queue specific attributes */ mac?: Buffer; /** VLAN ID and QoS */ vlan?: Buffer; /** Max TX Bandwidth Allocation */ txRate?: Buffer; /** Spoof Checking on/off switch */ spoofchk?: Buffer; /** link state enable/disable/auto switch */ linkState?: Buffer; /** Min and Max TX Bandwidth Allocation */ rate?: Buffer; rssQueryEn?: Buffer; /** network device statistics */ stats?: VirtualFunctionStats; /** Trust VF */ trust?: Buffer; /** VF Infiniband node GUID */ ibNodeGuid?: Buffer; /** VF Infiniband port GUID */ ibPortGuid?: Buffer; /** nested list of vlans, option for QinQ */ vlanList?: Buffer; /** VF broadcast */ broadcast?: Buffer; } /** Parses the attributes of a {@link VirtualFunction} object */ export declare function parseVirtualFunction(r: Buffer): VirtualFunction; /** Encodes a {@link VirtualFunction} object into a stream of attributes */ export declare function formatVirtualFunction(x: VirtualFunction): StreamData; export interface VirtualFunctionMac { vf?: number; /** MAX_ADDR_LEN */ mac?: number[]; } /** Parses the attributes of a {@link VirtualFunctionMac} object */ export declare function parseVirtualFunctionMac(r: Buffer): VirtualFunctionMac; /** Encodes a {@link VirtualFunctionMac} object into a stream of attributes */ export declare function formatVirtualFunctionMac(x: VirtualFunctionMac, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionMac = 36; export interface VirtualFunctionBroadcast { broadcast?: number[]; } /** Parses the attributes of a {@link VirtualFunctionBroadcast} object */ export declare function parseVirtualFunctionBroadcast(r: Buffer): VirtualFunctionBroadcast; /** Encodes a {@link VirtualFunctionBroadcast} object into a stream of attributes */ export declare function formatVirtualFunctionBroadcast(x: VirtualFunctionBroadcast, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionBroadcast = 32; export interface VirtualFunctionVlan { vf?: number; /** 0 - 4095, 0 disables VLAN filter */ vlan?: number; qos?: number; } /** Parses the attributes of a {@link VirtualFunctionVlan} object */ export declare function parseVirtualFunctionVlan(r: Buffer): VirtualFunctionVlan; /** Encodes a {@link VirtualFunctionVlan} object into a stream of attributes */ export declare function formatVirtualFunctionVlan(x: VirtualFunctionVlan, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionVlan = 12; export interface VlanList extends BaseObject { /** VLAN ID, QoS and VLAN protocol */ x?: Vlan[]; } /** Parses the attributes of a {@link VlanList} object */ export declare function parseVlanList(r: Buffer): VlanList; /** Encodes a {@link VlanList} object into a stream of attributes */ export declare function formatVlanList(x: VlanList): StreamData; export interface VirtualFunctionVlanInfo { vf?: number; /** 0 - 4095, 0 disables VLAN filter */ vlan?: number; qos?: number; /** VLAN protocol either 802.1Q or 802.1ad */ vlanProto?: number; } /** Parses the attributes of a {@link VirtualFunctionVlanInfo} object */ export declare function parseVirtualFunctionVlanInfo(r: Buffer): VirtualFunctionVlanInfo; /** Encodes a {@link VirtualFunctionVlanInfo} object into a stream of attributes */ export declare function formatVirtualFunctionVlanInfo(x: VirtualFunctionVlanInfo, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionVlanInfo = 14; export interface VirtualFunctionTxRate { vf?: number; /** Max TX bandwidth in Mbps, 0 disables throttling */ rate?: number; } /** Parses the attributes of a {@link VirtualFunctionTxRate} object */ export declare function parseVirtualFunctionTxRate(r: Buffer): VirtualFunctionTxRate; /** Encodes a {@link VirtualFunctionTxRate} object into a stream of attributes */ export declare function formatVirtualFunctionTxRate(x: VirtualFunctionTxRate, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionTxRate = 8; export interface VirtualFunctionRate { vf?: number; /** Min Bandwidth in Mbps */ minTxRate?: number; /** Max Bandwidth in Mbps */ maxTxRate?: number; } /** Parses the attributes of a {@link VirtualFunctionRate} object */ export declare function parseVirtualFunctionRate(r: Buffer): VirtualFunctionRate; /** Encodes a {@link VirtualFunctionRate} object into a stream of attributes */ export declare function formatVirtualFunctionRate(x: VirtualFunctionRate, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionRate = 12; export interface VirtualFunctionSpoofchk { vf?: number; setting?: number; } /** Parses the attributes of a {@link VirtualFunctionSpoofchk} object */ export declare function parseVirtualFunctionSpoofchk(r: Buffer): VirtualFunctionSpoofchk; /** Encodes a {@link VirtualFunctionSpoofchk} object into a stream of attributes */ export declare function formatVirtualFunctionSpoofchk(x: VirtualFunctionSpoofchk, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionSpoofchk = 8; export interface VirtualFunctionGuid { vf?: number; guid?: bigint; } /** Parses the attributes of a {@link VirtualFunctionGuid} object */ export declare function parseVirtualFunctionGuid(r: Buffer): VirtualFunctionGuid; /** Encodes a {@link VirtualFunctionGuid} object into a stream of attributes */ export declare function formatVirtualFunctionGuid(x: VirtualFunctionGuid, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionGuid = 12; export declare enum VirtualFunctionLinkStateId { /** link state of the uplink */ AUTO = 0, /** link always up */ ENABLE = 1, /** link always down */ DISABLE = 2 } export interface VirtualFunctionLinkState { vf?: number; linkState?: VirtualFunctionLinkStateId | keyof typeof VirtualFunctionLinkStateId; } /** Parses the attributes of a {@link VirtualFunctionLinkState} object */ export declare function parseVirtualFunctionLinkState(r: Buffer): VirtualFunctionLinkState; /** Encodes a {@link VirtualFunctionLinkState} object into a stream of attributes */ export declare function formatVirtualFunctionLinkState(x: VirtualFunctionLinkState, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionLinkState = 8; export interface VirtualFunctionRssQueryEn { vf?: number; setting?: number; } /** Parses the attributes of a {@link VirtualFunctionRssQueryEn} object */ export declare function parseVirtualFunctionRssQueryEn(r: Buffer): VirtualFunctionRssQueryEn; /** Encodes a {@link VirtualFunctionRssQueryEn} object into a stream of attributes */ export declare function formatVirtualFunctionRssQueryEn(x: VirtualFunctionRssQueryEn, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionRssQueryEn = 8; export interface VirtualFunctionStats extends BaseObject { rxPackets?: Buffer; txPackets?: Buffer; rxBytes?: Buffer; txBytes?: Buffer; broadcast?: Buffer; multicast?: Buffer; __pad?: Buffer; rxDropped?: Buffer; txDropped?: Buffer; } /** Parses the attributes of a {@link VirtualFunctionStats} object */ export declare function parseVirtualFunctionStats(r: Buffer): VirtualFunctionStats; /** Encodes a {@link VirtualFunctionStats} object into a stream of attributes */ export declare function formatVirtualFunctionStats(x: VirtualFunctionStats): StreamData; export interface VirtualFunctionTrust { vf?: number; setting?: number; } /** Parses the attributes of a {@link VirtualFunctionTrust} object */ export declare function parseVirtualFunctionTrust(r: Buffer): VirtualFunctionTrust; /** Encodes a {@link VirtualFunctionTrust} object into a stream of attributes */ export declare function formatVirtualFunctionTrust(x: VirtualFunctionTrust, r?: Buffer): Buffer; export declare const __LENGTH_VirtualFunctionTrust = 8; export interface PortList extends BaseObject { /** nest */ x?: Port[]; } /** Parses the attributes of a {@link PortList} object */ export declare function parsePortList(r: Buffer): PortList; /** Encodes a {@link PortList} object into a stream of attributes */ export declare function formatPortList(x: PortList): StreamData; export interface Port extends BaseObject { /** __u32 */ vf?: Buffer; /** string */ profile?: Buffer; /** 802.1Qbg (pre-)standard VDP */ vsiType?: Buffer; /** binary UUID */ instanceUuid?: Buffer; hostUuid?: Buffer; /** __u8 */ request?: Buffer; /** __u16, output only */ response?: Buffer; } /** Parses the attributes of a {@link Port} object */ export declare function parsePort(r: Buffer): Port; /** Encodes a {@link Port} object into a stream of attributes */ export declare function formatPort(x: Port): StreamData; export declare enum PortRequest { PREASSOCIATE = 0, PREASSOCIATE_RR = 1, ASSOCIATE = 2, DISASSOCIATE = 3 } export declare enum PortVdpResponse { SUCCESS = 0, INVALID_FORMAT = 1, INSUFFICIENT_RESOURCES = 2, UNUSED_VTID = 3, VTID_VIOLATION = 4, VTID_VERSION_VIOALTION = 5, OUT_OF_SYNC = 6 } export declare enum PortProfileResponse { /** 0x08-0xFF reserved for future VDP use */ SUCCESS = 256, INPROGRESS = 257, INVALID = 258, BADSTATE = 259, INSUFFICIENT_RESOURCES = 260, ERROR = 261 } export interface PortVsi { vsiMgrId?: number; vsiTypeId?: number[]; vsiTypeVersion?: number; __pad?: number[]; } /** Parses the attributes of a {@link PortVsi} object */ export declare function parsePortVsi(r: Buffer): PortVsi; /** Encodes a {@link PortVsi} object into a stream of attributes */ export declare function formatPortVsi(x: PortVsi, r?: Buffer): Buffer; export declare const __LENGTH_PortVsi = 8; /** IPoIB section */ export interface Ipoib extends BaseObject { pkey?: Buffer; mode?: Buffer; umcast?: Buffer; } /** Parses the attributes of a {@link Ipoib} object */ export declare function parseIpoib(r: Buffer): Ipoib; /** Encodes a {@link Ipoib} object into a stream of attributes */ export declare function formatIpoib(x: Ipoib): StreamData; export declare enum IpoibMode { /** using unreliable datagram QPs */ DATAGRAM = 0, /** using connected QPs */ CONNECTED = 1 } /** HSR section */ export interface Hsr extends BaseObject { slave1?: Buffer; slave2?: Buffer; /** Last byte of supervision addr */ multicastSpec?: Buffer; /** Supervision frame multicast addr */ supervisionAddr?: Buffer; seqNr?: Buffer; /** HSR version */ version?: Buffer; } /** Parses the attributes of a {@link Hsr} object */ export declare function parseHsr(r: Buffer): Hsr; /** Encodes a {@link Hsr} object into a stream of attributes */ export declare function formatHsr(x: Hsr): StreamData; /** STATS section */ export interface IfStatsMsg { family?: number; __pad1?: number; __pad2?: number; ifindex?: number; filterMask?: number; } /** Parses the attributes of a {@link IfStatsMsg} object */ export declare function parseIfStatsMsg(r: Buffer): IfStatsMsg; /** Encodes a {@link IfStatsMsg} object into a stream of attributes */ export declare function formatIfStatsMsg(x: IfStatsMsg, r?: Buffer): Buffer; export declare const __LENGTH_IfStatsMsg = 12; export interface Stats extends BaseObject { link64?: Buffer; linkXstats?: Xstats; linkXstatsSlave?: Xstats; linkOffloadXstats?: OffloadXstats; afSpec?: Map; } /** Parses the attributes of a {@link Stats} object */ export declare function parseStats(r: Buffer): Stats; /** Encodes a {@link Stats} object into a stream of attributes */ export declare function formatStats(x: Stats): StreamData; export interface Xstats extends BaseObject { bridge?: BridgeXstats; bond?: Buffer; } /** Parses the attributes of a {@link Xstats} object */ export declare function parseXstats(r: Buffer): Xstats; /** Encodes a {@link Xstats} object into a stream of attributes */ export declare function formatXstats(x: Xstats): StreamData; /** These are stats embedded into IFLA_STATS_LINK_OFFLOAD_XSTATS */ export interface OffloadXstats extends BaseObject { /** struct rtnl_link_stats64 */ cpuHit?: LinkStats64; } /** Parses the attributes of a {@link OffloadXstats} object */ export declare function parseOffloadXstats(r: Buffer): OffloadXstats; /** Encodes a {@link OffloadXstats} object into a stream of attributes */ export declare function formatOffloadXstats(x: OffloadXstats): StreamData; /** XDP section */ export interface XdpFlags { updateIfNoexist?: true; skbMode?: true; drvMode?: true; hwMode?: true; __unknown?: number; } /** Parses the flags in a {@link XdpFlags} bitmask */ export declare function parseXdpFlags(r: number): XdpFlags; /** Encodes a {@link XdpFlags} bitmask */ export declare function formatXdpFlags(x: XdpFlags): number; /** These are stored into IFLA_XDP_ATTACHED on dump. */ export declare enum XdpAttached { NONE = 0, DRV = 1, SKB = 2, HW = 3, MULTI = 4 } export interface Xdp extends BaseObject { fd?: Buffer; attached?: XdpAttached | keyof typeof XdpAttached; flags?: Buffer; progId?: Buffer; drvProgId?: Buffer; skbProgId?: Buffer; hwProgId?: Buffer; } /** Parses the attributes of a {@link Xdp} object */ export declare function parseXdp(r: Buffer): Xdp; /** Encodes a {@link Xdp} object into a stream of attributes */ export declare function formatXdp(x: Xdp): StreamData; export declare enum Event { NONE = 0, /** internal reset / reboot */ REBOOT = 1, /** change in offload features */ FEATURES = 2, /** change in active slave */ BONDING_FAILOVER = 3, /** re-sent grat. arp/ndisc */ NOTIFY_PEERS = 4, /** re-sent IGMP JOIN */ IGMP_RESEND = 5, /** change in bonding options */ BONDING_OPTIONS = 6 } /** tun section */ export interface Tun extends BaseObject { owner?: Buffer; group?: Buffer; type?: Buffer; pi?: Buffer; vnetHdr?: Buffer; persist?: Buffer; multiQueue?: Buffer; numQueues?: Buffer; numDisabledQueues?: Buffer; } /** Parses the attributes of a {@link Tun} object */ export declare function parseTun(r: Buffer): Tun; /** Encodes a {@link Tun} object into a stream of attributes */ export declare function formatTun(x: Tun): StreamData; /** rmnet section */ export interface RmnetFlags { ingressDeaggregation?: true; ingressMapCommands?: true; ingressMapCksumv4?: true; egressMapCksumv4?: true; __unknown?: number; } /** Parses the flags in a {@link RmnetFlags} bitmask */ export declare function parseRmnetFlags(r: number): RmnetFlags; /** Encodes a {@link RmnetFlags} bitmask */ export declare function formatRmnetFlags(x: RmnetFlags): number; export interface Rmnet extends BaseObject { muxId?: Buffer; flags?: Buffer; } /** Parses the attributes of a {@link Rmnet} object */ export declare function parseRmnet(r: Buffer): Rmnet; /** Encodes a {@link Rmnet} object into a stream of attributes */ export declare function formatRmnet(x: Rmnet): StreamData; export interface RmnetFlagsMask { flags?: RmnetFlags; mask?: RmnetFlags; } /** Parses the attributes of a {@link RmnetFlagsMask} object */ export declare function parseRmnetFlagsMask(r: Buffer): RmnetFlagsMask; /** Encodes a {@link RmnetFlagsMask} object into a stream of attributes */ export declare function formatRmnetFlagsMask(x: RmnetFlagsMask, r?: Buffer): Buffer; export declare const __LENGTH_RmnetFlagsMask = 8; export interface VethInfo extends BaseObject { peer?: Buffer; } /** Parses the attributes of a {@link VethInfo} object */ export declare function parseVethInfo(r: Buffer): VethInfo; /** Encodes a {@link VethInfo} object into a stream of attributes */ export declare function formatVethInfo(x: VethInfo): StreamData; export interface VlanFlags { reorderHdr?: true; gvrp?: true; looseBinding?: true; mvrp?: true; bridgeBinding?: true; __unknown?: number; } /** Parses the flags in a {@link VlanFlags} bitmask */ export declare function parseVlanFlags(r: number): VlanFlags; /** Encodes a {@link VlanFlags} bitmask */ export declare function formatVlanFlags(x: VlanFlags): number; export declare enum VlanNameType { /** Name will look like: vlan0005 */ PLUS_VID = 0, /** name will look like: eth1.0005 */ RAW_PLUS_VID = 1, /** Name will look like: vlan5 */ PLUS_VID_NO_PAD = 2, /** Name will look like: eth0.5 */ RAW_PLUS_VID_NO_PAD = 3 } export declare enum BridgeState { DISABLED = 0, LISTENING = 1, LEARNING = 2, FORWARDING = 3, BLOCKING = 4 } /** Bridge Flags */ export interface BridgeFlags { /** Bridge command to/from master */ master?: true; /** Bridge command to/from lowerdev */ self?: true; __unknown?: number; } /** Parses the flags in a {@link BridgeFlags} bitmask */ export declare function parseBridgeFlags(r: number): BridgeFlags; /** Encodes a {@link BridgeFlags} bitmask */ export declare function formatBridgeFlags(x: BridgeFlags): number; export declare enum BridgeMode { /** Default loopback mode */ VEB = 0, /** 802.1Qbg defined VEPA mode */ VEPA = 1, /** mode undefined */ UNDEF = 65535 } export interface BridgeSpec extends BaseObject { flags?: number; mode?: number; vlanInfo?: Buffer; vlanTunnelInfo?: Buffer; } /** Parses the attributes of a {@link BridgeSpec} object */ export declare function parseBridgeSpec(r: Buffer): BridgeSpec; /** Encodes a {@link BridgeSpec} object into a stream of attributes */ export declare function formatBridgeSpec(x: BridgeSpec): StreamData; export interface BridgeVlanFlags { /** Operate on Bridge device as well */ master?: true; /** VLAN is PVID, ingress untagged */ pvid?: true; /** VLAN egresses untagged */ untagged?: true; /** VLAN is start of vlan range */ rangeBegin?: true; /** VLAN is end of vlan range */ rangeEnd?: true; /** Global bridge VLAN entry */ brentry?: true; /** Skip create/delete/flags */ onlyOpts?: true; __unknown?: number; } /** Parses the flags in a {@link BridgeVlanFlags} bitmask */ export declare function parseBridgeVlanFlags(r: number): BridgeVlanFlags; /** Encodes a {@link BridgeVlanFlags} bitmask */ export declare function formatBridgeVlanFlags(x: BridgeVlanFlags): number; export interface BridgeVlanInfo { flags?: number; vid?: number; } /** Parses the attributes of a {@link BridgeVlanInfo} object */ export declare function parseBridgeVlanInfo(r: Buffer): BridgeVlanInfo; /** Encodes a {@link BridgeVlanInfo} object into a stream of attributes */ export declare function formatBridgeVlanInfo(x: BridgeVlanInfo, r?: Buffer): Buffer; export declare const __LENGTH_BridgeVlanInfo = 4; export interface BridgeVlanTunnel extends BaseObject { id?: Buffer; vid?: Buffer; flags?: Buffer; } /** Parses the attributes of a {@link BridgeVlanTunnel} object */ export declare function parseBridgeVlanTunnel(r: Buffer): BridgeVlanTunnel; /** Encodes a {@link BridgeVlanTunnel} object into a stream of attributes */ export declare function formatBridgeVlanTunnel(x: BridgeVlanTunnel): StreamData; export interface BridgeVlanXstats { rxBytes?: bigint; rxPackets?: bigint; txBytes?: bigint; txPackets?: bigint; vid?: number; flags?: number; __pad2?: number; } /** Parses the attributes of a {@link BridgeVlanXstats} object */ export declare function parseBridgeVlanXstats(r: Buffer): BridgeVlanXstats; /** Encodes a {@link BridgeVlanXstats} object into a stream of attributes */ export declare function formatBridgeVlanXstats(x: BridgeVlanXstats, r?: Buffer): Buffer; export declare const __LENGTH_BridgeVlanXstats = 40; export interface BridgeStpXstats { transitionBlk?: bigint; transitionFwd?: bigint; rxBpdu?: bigint; txBpdu?: bigint; rxTcn?: bigint; txTcn?: bigint; } /** Parses the attributes of a {@link BridgeStpXstats} object */ export declare function parseBridgeStpXstats(r: Buffer): BridgeStpXstats; /** Encodes a {@link BridgeStpXstats} object into a stream of attributes */ export declare function formatBridgeStpXstats(x: BridgeStpXstats, r?: Buffer): Buffer; export declare const __LENGTH_BridgeStpXstats = 48; /** Bridge vlan RTM header */ export interface BridgeVlanMsg { family?: number; __reserved1?: number; __reserved2?: number; ifindex?: number; } /** Parses the attributes of a {@link BridgeVlanMsg} object */ export declare function parseBridgeVlanMsg(r: Buffer): BridgeVlanMsg; /** Encodes a {@link BridgeVlanMsg} object into a stream of attributes */ export declare function formatBridgeVlanMsg(x: BridgeVlanMsg, r?: Buffer): Buffer; export declare const __LENGTH_BridgeVlanMsg = 8; export interface BridgeVlanDb extends BaseObject { entry?: BridgeVlanDbEntry; } /** Parses the attributes of a {@link BridgeVlanDb} object */ export declare function parseBridgeVlanDb(r: Buffer): BridgeVlanDb; /** Encodes a {@link BridgeVlanDb} object into a stream of attributes */ export declare function formatBridgeVlanDb(x: BridgeVlanDb): StreamData; export interface BridgeVlanDbEntry extends BaseObject { info?: Buffer; range?: Buffer; state?: Buffer; } /** Parses the attributes of a {@link BridgeVlanDbEntry} object */ export declare function parseBridgeVlanDbEntry(r: Buffer): BridgeVlanDbEntry; /** Encodes a {@link BridgeVlanDbEntry} object into a stream of attributes */ export declare function formatBridgeVlanDbEntry(x: BridgeVlanDbEntry): StreamData; export interface Mdba extends BaseObject { mdb?: MdbaMdb; router?: MdbaRouter; } /** Parses the attributes of a {@link Mdba} object */ export declare function parseMdba(r: Buffer): Mdba; /** Encodes a {@link Mdba} object into a stream of attributes */ export declare function formatMdba(x: Mdba): StreamData; export interface MdbaMdb extends BaseObject { entry?: MdbaMdbEntry; } /** Parses the attributes of a {@link MdbaMdb} object */ export declare function parseMdbaMdb(r: Buffer): MdbaMdb; /** Encodes a {@link MdbaMdb} object into a stream of attributes */ export declare function formatMdbaMdb(x: MdbaMdb): StreamData; export interface MdbaMdbEntry extends BaseObject { info?: Buffer; } /** Parses the attributes of a {@link MdbaMdbEntry} object */ export declare function parseMdbaMdbEntry(r: Buffer): MdbaMdbEntry; /** Encodes a {@link MdbaMdbEntry} object into a stream of attributes */ export declare function formatMdbaMdbEntry(x: MdbaMdbEntry): StreamData; /** per mdb entry additional attributes */ export interface MdbaMdbEattr extends BaseObject { timer?: Buffer; } /** Parses the attributes of a {@link MdbaMdbEattr} object */ export declare function parseMdbaMdbEattr(r: Buffer): MdbaMdbEattr; /** Encodes a {@link MdbaMdbEattr} object into a stream of attributes */ export declare function formatMdbaMdbEattr(x: MdbaMdbEattr): StreamData; /** multicast router types */ export declare enum MdbRtrType { DISABLED = 0, TEMP_QUERY = 1, PERM = 2, TEMP = 3 } export interface MdbaRouter extends BaseObject { port?: Buffer; } /** Parses the attributes of a {@link MdbaRouter} object */ export declare function parseMdbaRouter(r: Buffer): MdbaRouter; /** Encodes a {@link MdbaRouter} object into a stream of attributes */ export declare function formatMdbaRouter(x: MdbaRouter): StreamData; /** router port attributes */ export interface MdbaRouterPattr extends BaseObject { timer?: Buffer; type?: Buffer; } /** Parses the attributes of a {@link MdbaRouterPattr} object */ export declare function parseMdbaRouterPattr(r: Buffer): MdbaRouterPattr; /** Encodes a {@link MdbaRouterPattr} object into a stream of attributes */ export declare function formatMdbaRouterPattr(x: MdbaRouterPattr): StreamData; export interface BridgePortMsg { family?: number; ifindex?: number; } /** Parses the attributes of a {@link BridgePortMsg} object */ export declare function parseBridgePortMsg(r: Buffer): BridgePortMsg; /** Encodes a {@link BridgePortMsg} object into a stream of attributes */ export declare function formatBridgePortMsg(x: BridgePortMsg, r?: Buffer): Buffer; export declare const __LENGTH_BridgePortMsg = 5; export interface _IpWithProto { /** IPv6 or IPv4 in network order */ ip?: Buffer; proto?: number; } /** Parses the attributes of a {@link _IpWithProto} object */ export declare function parse_IpWithProto(r: Buffer): _IpWithProto; /** Encodes a {@link _IpWithProto} object into a stream of attributes */ export declare function format_IpWithProto(x: _IpWithProto, r?: Buffer): Buffer; export declare const __LENGTH__IpWithProto = 18; export interface BridgeMdbEntry { ifindex?: number; state?: number; flags?: number; vid?: number; addr?: _IpWithProto; } /** Parses the attributes of a {@link BridgeMdbEntry} object */ export declare function parseBridgeMdbEntry(r: Buffer): BridgeMdbEntry; /** Encodes a {@link BridgeMdbEntry} object into a stream of attributes */ export declare function formatBridgeMdbEntry(x: BridgeMdbEntry, r?: Buffer): Buffer; export declare const __LENGTH_BridgeMdbEntry: number; export declare enum BridgeMdbState { TEMPORARY = 0, PERMANENT = 1 } export interface MdbFlags { offload?: true; fastLeave?: true; __unknown?: number; } /** Parses the flags in a {@link MdbFlags} bitmask */ export declare function parseMdbFlags(r: number): MdbFlags; /** Encodes a {@link MdbFlags} bitmask */ export declare function formatMdbFlags(x: MdbFlags): number; export interface MdbaSetEntry extends BaseObject { x?: MdbaSetEntry[]; } /** Parses the attributes of a {@link MdbaSetEntry} object */ export declare function parseMdbaSetEntry(r: Buffer): MdbaSetEntry; /** Encodes a {@link MdbaSetEntry} object into a stream of attributes */ export declare function formatMdbaSetEntry(x: MdbaSetEntry): StreamData; /** Embedded inside LINK_XSTATS_TYPE_BRIDGE */ export interface BridgeXstats extends BaseObject { vlan?: Buffer; mcast?: Buffer; __pad?: Buffer; stp?: Buffer; } /** Parses the attributes of a {@link BridgeXstats} object */ export declare function parseBridgeXstats(r: Buffer): BridgeXstats; /** Encodes a {@link BridgeXstats} object into a stream of attributes */ export declare function formatBridgeXstats(x: BridgeXstats): StreamData; export declare enum BridgeMcastDir { RX = 0, TX = 1 } /** IGMP/MLD statistics */ export interface BridgeMcastStats { /** BR_MCAST_DIR_SIZE */ igmpV1queries?: bigint[]; igmpV2queries?: bigint[]; igmpV3queries?: bigint[]; igmpLeaves?: bigint[]; igmpV1reports?: bigint[]; igmpV2reports?: bigint[]; igmpV3reports?: bigint[]; igmpParseErrors?: bigint; mldV1queries?: bigint[]; mldV2queries?: bigint[]; mldLeaves?: bigint[]; mldV1reports?: bigint[]; mldV2reports?: bigint[]; mldParseErrors?: bigint; mcastBytes?: bigint[]; mcastPackets?: bigint[]; } /** Parses the attributes of a {@link BridgeMcastStats} object */ export declare function parseBridgeMcastStats(r: Buffer): BridgeMcastStats; /** Encodes a {@link BridgeMcastStats} object into a stream of attributes */ export declare function formatBridgeMcastStats(x: BridgeMcastStats, r?: Buffer): Buffer; export declare const __LENGTH_BridgeMcastStats = 240; export declare enum BridgeBooloptId { NO_LL_LEARN = 0 } export interface BridgeBooloptMask { flags?: number; mask?: number; } /** Parses the attributes of a {@link BridgeBooloptMask} object */ export declare function parseBridgeBooloptMask(r: Buffer): BridgeBooloptMask; /** Encodes a {@link BridgeBooloptMask} object into a stream of attributes */ export declare function formatBridgeBooloptMask(x: BridgeBooloptMask, r?: Buffer): Buffer; export declare const __LENGTH_BridgeBooloptMask = 8; export interface Iptun extends BaseObject { link?: number; local?: number; remote?: number; ttl?: number; tos?: number; encapLimit?: number; flowinfo?: number; flags?: Buffer; proto?: number; pmtudisc?: number; _6rdPrefix?: Buffer; _6rdRelayPrefix?: number; _6rdPrefixlen?: number; _6rdRelayPrefixlen?: number; encapType?: Buffer; encapFlags?: Buffer; encapSport?: Buffer; encapDport?: Buffer; collectMetadata?: Buffer; fwmark?: Buffer; } /** Parses the attributes of a {@link Iptun} object */ export declare function parseIptun(r: Buffer): Iptun; /** Encodes a {@link Iptun} object into a stream of attributes */ export declare function formatIptun(x: Iptun): StreamData; export declare enum TunnelEncapTypes { NONE = 0, FOU = 1, GUE = 2, MPLS = 3 } export interface TunnelEncapFlag { csum?: true; csum6?: true; remcsum?: true; __unknown?: number; } /** Parses the flags in a {@link TunnelEncapFlag} bitmask */ export declare function parseTunnelEncapFlag(r: number): TunnelEncapFlag; /** Encodes a {@link TunnelEncapFlag} bitmask */ export declare function formatTunnelEncapFlag(x: TunnelEncapFlag): number; export interface IpTunnelPrl { addr?: number; flags?: number; __reserved?: number; datalen?: number; __reserved2?: number; } /** Parses the attributes of a {@link IpTunnelPrl} object */ export declare function parseIpTunnelPrl(r: Buffer): IpTunnelPrl; /** Encodes a {@link IpTunnelPrl} object into a stream of attributes */ export declare function formatIpTunnelPrl(x: IpTunnelPrl, r?: Buffer): Buffer; export declare const __LENGTH_IpTunnelPrl = 16; export interface IpTunnel6rd { /** IPv6 address, network order */ prefix?: Buffer; relayPrefix?: number; prefixlen?: number; relayPrefixlen?: number; } /** Parses the attributes of a {@link IpTunnel6rd} object */ export declare function parseIpTunnel6rd(r: Buffer): IpTunnel6rd; /** Encodes a {@link IpTunnel6rd} object into a stream of attributes */ export declare function formatIpTunnel6rd(x: IpTunnel6rd, r?: Buffer): Buffer; export declare const __LENGTH_IpTunnel6rd = 24; export interface Gre extends BaseObject { link?: number; iflags?: number; oflags?: number; ikey?: number; okey?: number; local?: number; remote?: number; ttl?: number; tos?: number; pmtudisc?: number; encapLimit?: Buffer; flowinfo?: Buffer; flags?: Buffer; encapType?: Buffer; encapFlags?: Buffer; encapSport?: Buffer; encapDport?: Buffer; collectMetadata?: Buffer; ignoreDf?: Buffer; fwmark?: Buffer; erspanIndex?: Buffer; erspanVer?: Buffer; erspanDir?: Buffer; erspanHwid?: Buffer; } /** Parses the attributes of a {@link Gre} object */ export declare function parseGre(r: Buffer): Gre; /** Encodes a {@link Gre} object into a stream of attributes */ export declare function formatGre(x: Gre): StreamData; export interface Vti extends BaseObject { link?: number; ikey?: number; okey?: number; local?: number; remote?: number; fwmark?: Buffer; } /** Parses the attributes of a {@link Vti} object */ export declare function parseVti(r: Buffer): Vti; /** Encodes a {@link Vti} object into a stream of attributes */ export declare function formatVti(x: Vti): StreamData; /** WARNING: These flags should be interpreted in big endian */ export interface Tunnel { csum?: true; routing?: true; key?: true; seq?: true; strict?: true; rec?: true; version?: true; noKey?: true; dontFragment?: true; oam?: true; critOpt?: true; geneveOpt?: true; vxlanOpt?: true; nocache?: true; erspanOpt?: true; __unknown?: number; } /** Parses the flags in a {@link Tunnel} bitmask */ export declare function parseTunnel(r: number): Tunnel; /** Encodes a {@link Tunnel} bitmask */ export declare function formatTunnel(x: Tunnel): number; /** * CAN bit-timing parameters * * For further information, please read chapter "8 BIT TIMING * REQUIREMENTS" of the "Bosch CAN Specification version 2.0" * at http://www.semiconductors.bosch.de/pdf/can2spec.pdf. */ export interface CanBittiming { /** Bit-rate in bits/second */ bitrate?: number; /** Sample point in one-tenth of a percent */ samplePoint?: number; /** Time quanta (TQ) in nanoseconds */ tq?: number; /** Propagation segment in TQs */ propSeg?: number; /** Phase buffer segment 1 in TQs */ phaseSeg1?: number; /** Phase buffer segment 2 in TQs */ phaseSeg2?: number; /** Synchronisation jump width in TQs */ sjw?: number; /** Bit-rate prescaler */ brp?: number; } /** Parses the attributes of a {@link CanBittiming} object */ export declare function parseCanBittiming(r: Buffer): CanBittiming; /** Encodes a {@link CanBittiming} object into a stream of attributes */ export declare function formatCanBittiming(x: CanBittiming, r?: Buffer): Buffer; export declare const __LENGTH_CanBittiming = 32; /** * CAN hardware-dependent bit-timing constant * * Used for calculating and checking bit-timing parameters */ export interface CanBittimingConst { /** Name of the CAN controller hardware */ name?: number[]; /** Time segment 1 = prop_seg + phase_seg1 */ tseg1Min?: number; tseg1Max?: number; /** Time segment 2 = phase_seg2 */ tseg2Min?: number; tseg2Max?: number; /** Synchronisation jump width */ sjwMax?: number; /** Bit-rate prescaler */ brpMin?: number; brpMax?: number; brpInc?: number; } /** Parses the attributes of a {@link CanBittimingConst} object */ export declare function parseCanBittimingConst(r: Buffer): CanBittimingConst; /** Encodes a {@link CanBittimingConst} object into a stream of attributes */ export declare function formatCanBittimingConst(x: CanBittimingConst, r?: Buffer): Buffer; export declare const __LENGTH_CanBittimingConst = 48; /** CAN clock parameters */ export interface CanClock { /** CAN system clock frequency in Hz */ freq?: number; } /** Parses the attributes of a {@link CanClock} object */ export declare function parseCanClock(r: Buffer): CanClock; /** Encodes a {@link CanClock} object into a stream of attributes */ export declare function formatCanClock(x: CanClock, r?: Buffer): Buffer; export declare const __LENGTH_CanClock = 4; /** CAN operational and error states */ export declare enum CanState { /** RX/TX error count < 96 */ ERROR_ACTIVE = 0, /** RX/TX error count < 128 */ ERROR_WARNING = 1, /** RX/TX error count < 256 */ ERROR_PASSIVE = 2, /** RX/TX error count >= 256 */ BUS_OFF = 3, /** Device is stopped */ STOPPED = 4, /** Device is sleeping */ SLEEPING = 5 } /** CAN bus error counters */ export interface CanBerrCounter { txerr?: number; rxerr?: number; } /** Parses the attributes of a {@link CanBerrCounter} object */ export declare function parseCanBerrCounter(r: Buffer): CanBerrCounter; /** Encodes a {@link CanBerrCounter} object into a stream of attributes */ export declare function formatCanBerrCounter(x: CanBerrCounter, r?: Buffer): Buffer; export declare const __LENGTH_CanBerrCounter = 4; /** CAN controller mode */ export interface CanCtrlModeMask { mask?: CanCtrlMode; flags?: CanCtrlMode; } /** Parses the attributes of a {@link CanCtrlModeMask} object */ export declare function parseCanCtrlModeMask(r: Buffer): CanCtrlModeMask; /** Encodes a {@link CanCtrlModeMask} object into a stream of attributes */ export declare function formatCanCtrlModeMask(x: CanCtrlModeMask, r?: Buffer): Buffer; export declare const __LENGTH_CanCtrlModeMask = 8; export interface CanCtrlMode { /** Loopback mode */ loopback?: true; /** Listen-only mode */ listenonly?: true; /** Triple sampling mode */ _3Samples?: true; /** One-Shot mode */ oneShot?: true; /** Bus-error reporting */ berrReporting?: true; /** CAN FD mode */ fd?: true; /** Ignore missing CAN ACKs */ presumeAck?: true; /** CAN FD in non-ISO mode */ fdNonIso?: true; __unknown?: number; } /** Parses the flags in a {@link CanCtrlMode} bitmask */ export declare function parseCanCtrlMode(r: number): CanCtrlMode; /** Encodes a {@link CanCtrlMode} bitmask */ export declare function formatCanCtrlMode(x: CanCtrlMode): number; /** CAN device statistics */ export interface CanDeviceStats { /** Bus errors */ busError?: number; /** Changes to error warning state */ errorWarning?: number; /** Changes to error passive state */ errorPassive?: number; /** Changes to bus off state */ busOff?: number; /** Arbitration lost errors */ arbitrationLost?: number; /** CAN controller re-starts */ restarts?: number; } /** Parses the attributes of a {@link CanDeviceStats} object */ export declare function parseCanDeviceStats(r: Buffer): CanDeviceStats; /** Encodes a {@link CanDeviceStats} object into a stream of attributes */ export declare function formatCanDeviceStats(x: CanDeviceStats, r?: Buffer): Buffer; export declare const __LENGTH_CanDeviceStats = 24; /** CAN netlink interface */ export interface Can extends BaseObject { bittiming?: Buffer; bittimingConst?: Buffer; clock?: Buffer; state?: number; ctrlmode?: Buffer; restartMs?: number; restart?: number; berrCounter?: Buffer; dataBittiming?: Buffer; dataBittimingConst?: Buffer; termination?: Buffer; terminationConst?: Buffer; bitrateConst?: Buffer; dataBitrateConst?: Buffer; bitrateMax?: Buffer; } /** Parses the attributes of a {@link Can} object */ export declare function parseCan(r: Buffer): Can; /** Encodes a {@link Can} object into a stream of attributes */ export declare function formatCan(x: Can): StreamData;