ip_mib_impl.c
Go to the documentation of this file.
ArpCacheEntry * arpFindEntry(NetInterface *interface, Ipv4Addr ipAddr)
Search the ARP cache for a given IPv4 address.
Definition: arp_cache.c:156
ARP cache management.
ASN.1 (Abstract Syntax Notation One)
General definitions for cryptographic algorithms.
Debugging facilities.
error_t ipMibGetNextIcmpMsgStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next icmpMsgStatsEntry object.
Definition: ip_mib_impl.c:3855
error_t ipMibGetNextIpv6ScopeZoneIndexEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv6ScopeZoneIndexEntry object.
Definition: ip_mib_impl.c:2847
error_t ipMibGetNextIpNetToPhysicalEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipNetToPhysicalEntry object.
Definition: ip_mib_impl.c:2527
error_t ipMibGetIpv6RouterAdvertSpinLock(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6RouterAdvertSpinLock object value.
Definition: ip_mib_impl.c:3326
error_t ipMibSetIpv6RouterAdvertSpinLock(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipv6RouterAdvertSpinLock object value.
Definition: ip_mib_impl.c:3302
error_t ipMibGetIpv6ScopeZoneIndexEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6ScopeZoneIndexEntry object value.
Definition: ip_mib_impl.c:2742
error_t ipMibGetIpSystemStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipSystemStatsEntry object value.
Definition: ip_mib_impl.c:430
error_t ipMibGetIpv6RouterAdvertEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6RouterAdvertEntry object value.
Definition: ip_mib_impl.c:3372
error_t ipMibSetIpv4InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipv4InterfaceEntry object value.
Definition: ip_mib_impl.c:107
error_t ipMibSetIpv6RouterAdvertEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipv6RouterAdvertEntry object value.
Definition: ip_mib_impl.c:3354
error_t ipMibGetNextIpAddressPrefixEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipAddressPrefixEntry object.
Definition: ip_mib_impl.c:1445
error_t ipMibGetIpAddressSpinLock(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddressSpinLock object value.
Definition: ip_mib_impl.c:1724
error_t ipMibGetNextIpv6RouterAdvertEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv6RouterAdvertEntry object.
Definition: ip_mib_impl.c:3535
error_t ipMibGetNextIpAddressEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipAddressEntry object.
Definition: ip_mib_impl.c:2118
error_t ipMibGetNextIpDefaultRouterEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipDefaultRouterEntry object.
Definition: ip_mib_impl.c:3083
error_t ipMibGetIcmpMsgStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpMsgStatsEntry object value.
Definition: ip_mib_impl.c:3759
error_t ipMibGetNextIpv4InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv4InterfaceEntry object.
Definition: ip_mib_impl.c:191
error_t ipMibGetIpIfStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipIfStatsEntry object value.
Definition: ip_mib_impl.c:800
error_t ipMibSetIpAddressEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipAddressEntry object value.
Definition: ip_mib_impl.c:1747
error_t ipMibSetIpAddressSpinLock(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipAddressSpinLock object value.
Definition: ip_mib_impl.c:1705
error_t ipMibGetNextIpIfStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipIfStatsEntry object.
Definition: ip_mib_impl.c:1106
error_t ipMibGetIpv6InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6InterfaceEntry object value.
Definition: ip_mib_impl.c:264
error_t ipMibGetIpNetToPhysicalEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipNetToPhysicalEntry object value.
Definition: ip_mib_impl.c:2309
error_t ipMibGetIpAddressEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddressEntry object value.
Definition: ip_mib_impl.c:1765
error_t ipMibGetIpDefaultRouterEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipDefaultRouterEntry object value.
Definition: ip_mib_impl.c:2900
error_t ipMibGetIcmpStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpStatsEntry object value.
Definition: ip_mib_impl.c:3594
error_t ipMibGetIpv4InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv4InterfaceEntry object value.
Definition: ip_mib_impl.c:125
error_t ipMibSetIpNetToPhysicalEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipNetToPhysicalEntry object value.
Definition: ip_mib_impl.c:2291
error_t ipMibGetIpAddressPrefixEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddressPrefixEntry object value.
Definition: ip_mib_impl.c:1187
error_t ipMibGetNextIcmpStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next icmpStatsEntry object.
Definition: ip_mib_impl.c:3689
error_t ipMibGetNextIpv6InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv6InterfaceEntry object.
Definition: ip_mib_impl.c:377
error_t ipMibSetIpv6InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
Set ipv6InterfaceEntry object value.
Definition: ip_mib_impl.c:246
error_t ipMibGetNextIpSystemStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipSystemStatsEntry object.
Definition: ip_mib_impl.c:730
IP MIB module implementation.
IP MIB module.
@ IP_MIB_NET_TO_PHYS_STATE_REACHABLE
Definition: ip_mib_module.h:155
@ IP_MIB_NET_TO_PHYS_STATE_INCOMPLETE
Definition: ip_mib_module.h:161
IPv4 (Internet Protocol Version 4)
@ IPV4_ADDR_STATE_VALID
An address assigned to an interface whose use is unrestricted.
Definition: ipv4.h:197
@ IPV4_ADDR_STATE_TENTATIVE
An address whose uniqueness on a link is being verified.
Definition: ipv4.h:196
uint_t ipv4GetPrefixLength(Ipv4Addr mask)
Calculate prefix length for a given subnet mask.
Definition: ipv4_misc.c:721
Helper functions for IPv4.
IPv6 (Internet Protocol Version 6)
@ IPV6_ADDR_STATE_DEPRECATED
An address assigned to an interface whose use is discouraged.
Definition: ipv6.h:169
@ IPV6_ADDR_STATE_PREFERRED
An address assigned to an interface whose use is unrestricted.
Definition: ipv6.h:168
@ IPV6_ADDR_STATE_TENTATIVE
An address whose uniqueness on a link is being verified.
Definition: ipv6.h:167
bool_t ipv6CompPrefix(const Ipv6Addr *ipAddr1, const Ipv6Addr *ipAddr2, size_t length)
Compare IPv6 address prefixes.
Definition: ipv6_misc.c:1221
Helper functions for IPv6.
error_t mibDecodeIpAddr(const uint8_t *oid, size_t oidLen, size_t *pos, IpAddr *ipAddr)
Decode instance identifier (IP address)
Definition: mib_common.c:886
int_t mibCompIpAddr(const IpAddr *ipAddr1, const IpAddr *ipAddr2)
Compare IP addresses.
Definition: mib_common.c:968
error_t mibDecodeIndex(const uint8_t *oid, size_t oidLen, size_t *pos, uint_t *index)
Decode instance identifier (index)
Definition: mib_common.c:64
error_t mibTestAndIncSpinLock(int32_t *spinLock, int32_t value, bool_t commit)
Test and increment spin lock.
Definition: mib_common.c:1006
error_t mibDecodeUnsigned32(const uint8_t *oid, size_t oidLen, size_t *pos, uint32_t *value)
Decode instance identifier (unsigned 32-bit integer)
Definition: mib_common.c:111
error_t mibEncodeIpAddr(uint8_t *oid, size_t maxOidLen, size_t *pos, const IpAddr *ipAddr)
Encode instance identifier (IP address)
Definition: mib_common.c:808
error_t mibEncodeUnsigned32(uint8_t *oid, size_t maxOidLen, size_t *pos, uint32_t value)
Encode instance identifier (unsigned 32-bit integer)
Definition: mib_common.c:94
error_t mibEncodeIndex(uint8_t *oid, size_t maxOidLen, size_t *pos, uint_t index)
Encode instance identifier (index)
Definition: mib_common.c:47
Common definitions for MIB modules.
NdpNeighborCacheEntry * ndpFindNeighborCacheEntry(NetInterface *interface, const Ipv6Addr *ipAddr)
Search the Neighbor cache for a given IPv6 address.
Definition: ndp_cache.c:154
Neighbor and destination cache management.
Router advertisement service.
uint32_t netGetRandRange(uint32_t min, uint32_t max)
Generate a random value in the specified range.
Definition: net.c:416
TCP/IP stack core.
NetInterface * nicGetLogicalInterface(NetInterface *interface)
Retrieve logical interface.
Definition: nic.c:52
int_t oidComp(const uint8_t *oid1, size_t oidLen1, const uint8_t *oid2, size_t oidLen2)
Compare object identifiers.
Definition: oid.c:103
OID (Object Identifier)
IpMibIpIfStatsEntry ipv6IfStatsTable[NET_INTERFACE_COUNT]
Definition: ip_mib_module.h:332
IpMibIpIfStatsEntry ipv4IfStatsTable[NET_INTERFACE_COUNT]
Definition: ip_mib_module.h:323
IpMibIcmpMsgStatsEntry icmpv6MsgStatsTable
Definition: ip_mib_module.h:335
uint32_t icmpMsgStatsOutPkts[256]
Definition: ip_mib_module.h:305
uint32_t icmpMsgStatsInPkts[256]
Definition: ip_mib_module.h:304
uint32_t ipIfStatsRefreshRate
Definition: ip_mib_module.h:281
uint32_t ipIfStatsOutFragReqds
Definition: ip_mib_module.h:260
uint32_t ipIfStatsInAddrErrors
Definition: ip_mib_module.h:244
uint64_t ipIfStatsHCInForwDatagrams
Definition: ip_mib_module.h:248
uint64_t ipIfStatsHCOutBcastPkts
Definition: ip_mib_module.h:279
uint64_t ipIfStatsHCInBcastPkts
Definition: ip_mib_module.h:277
uint32_t ipIfStatsInTruncatedPkts
Definition: ip_mib_module.h:246
uint32_t ipIfStatsInMcastOctets
Definition: ip_mib_module.h:270
uint32_t ipIfStatsOutForwDatagrams
Definition: ip_mib_module.h:257
uint32_t ipIfStatsInHdrErrors
Definition: ip_mib_module.h:242
uint32_t ipIfStatsOutRequests
Definition: ip_mib_module.h:255
uint64_t ipIfStatsHCOutMcastOctets
Definition: ip_mib_module.h:275
uint64_t ipIfStatsHCOutOctets
Definition: ip_mib_module.h:267
uint32_t ipIfStatsInForwDatagrams
Definition: ip_mib_module.h:247
uint64_t ipIfStatsHCOutMcastPkts
Definition: ip_mib_module.h:273
uint32_t ipIfStatsOutMcastOctets
Definition: ip_mib_module.h:274
uint64_t ipIfStatsHCInMcastPkts
Definition: ip_mib_module.h:269
uint32_t ipIfStatsOutMcastPkts
Definition: ip_mib_module.h:272
uint64_t ipIfStatsHCOutTransmits
Definition: ip_mib_module.h:265
uint32_t ipIfStatsOutFragFails
Definition: ip_mib_module.h:262
uint32_t ipIfStatsDiscontinuityTime
Definition: ip_mib_module.h:280
uint32_t ipIfStatsOutTransmits
Definition: ip_mib_module.h:264
uint64_t ipIfStatsHCInMcastOctets
Definition: ip_mib_module.h:271
uint32_t ipIfStatsInBcastPkts
Definition: ip_mib_module.h:276
uint32_t ipIfStatsOutDiscards
Definition: ip_mib_module.h:259
uint32_t ipIfStatsOutBcastPkts
Definition: ip_mib_module.h:278
uint64_t ipIfStatsHCInDelivers
Definition: ip_mib_module.h:254
uint32_t ipIfStatsOutFragCreates
Definition: ip_mib_module.h:263
uint64_t ipIfStatsHCOutForwDatagrams
Definition: ip_mib_module.h:258
uint64_t ipIfStatsHCOutRequests
Definition: ip_mib_module.h:256
uint64_t ipIfStatsHCInReceives
Definition: ip_mib_module.h:239
uint32_t ipIfStatsInMcastPkts
Definition: ip_mib_module.h:268
uint32_t ipIfStatsInUnknownProtos
Definition: ip_mib_module.h:245
uint32_t ipSystemStatsOutFragCreates
Definition: ip_mib_module.h:210
uint32_t ipSystemStatsInAddrErrors
Definition: ip_mib_module.h:190
uint32_t ipSystemStatsOutDiscards
Definition: ip_mib_module.h:206
uint32_t ipSystemStatsInBcastPkts
Definition: ip_mib_module.h:223
uint64_t ipSystemStatsHCInBcastPkts
Definition: ip_mib_module.h:224
uint32_t ipSystemStatsReasmFails
Definition: ip_mib_module.h:197
uint32_t ipSystemStatsRefreshRate
Definition: ip_mib_module.h:228
uint32_t ipSystemStatsInOctets
Definition: ip_mib_module.h:186
uint64_t ipSystemStatsHCInMcastOctets
Definition: ip_mib_module.h:218
uint64_t ipSystemStatsHCOutMcastOctets
Definition: ip_mib_module.h:222
uint64_t ipSystemStatsHCInForwDatagrams
Definition: ip_mib_module.h:194
uint32_t ipSystemStatsOutTransmits
Definition: ip_mib_module.h:211
uint64_t ipSystemStatsHCOutTransmits
Definition: ip_mib_module.h:212
uint32_t ipSystemStatsReasmReqds
Definition: ip_mib_module.h:195
uint64_t ipSystemStatsHCInDelivers
Definition: ip_mib_module.h:200
uint64_t ipSystemStatsHCOutMcastPkts
Definition: ip_mib_module.h:220
uint32_t ipSystemStatsDiscontinuityTime
Definition: ip_mib_module.h:227
uint64_t ipSystemStatsHCOutForwDatagrams
Definition: ip_mib_module.h:205
uint32_t ipSystemStatsInUnknownProtos
Definition: ip_mib_module.h:191
uint32_t ipSystemStatsOutFragOKs
Definition: ip_mib_module.h:208
uint32_t ipSystemStatsInDiscards
Definition: ip_mib_module.h:198
uint32_t ipSystemStatsOutFragFails
Definition: ip_mib_module.h:209
uint64_t ipSystemStatsHCInMcastPkts
Definition: ip_mib_module.h:216
uint32_t ipSystemStatsInForwDatagrams
Definition: ip_mib_module.h:193
uint64_t ipSystemStatsHCOutRequests
Definition: ip_mib_module.h:202
uint32_t ipSystemStatsOutBcastPkts
Definition: ip_mib_module.h:225
uint32_t ipSystemStatsInMcastPkts
Definition: ip_mib_module.h:215
uint32_t ipSystemStatsInMcastOctets
Definition: ip_mib_module.h:217
uint32_t ipSystemStatsOutOctets
Definition: ip_mib_module.h:213
uint32_t ipSystemStatsInNoRoutes
Definition: ip_mib_module.h:189
uint32_t ipSystemStatsInTruncatedPkts
Definition: ip_mib_module.h:192
uint32_t ipSystemStatsOutMcastOctets
Definition: ip_mib_module.h:221
uint32_t ipSystemStatsInDelivers
Definition: ip_mib_module.h:199
uint64_t ipSystemStatsHCInOctets
Definition: ip_mib_module.h:187
uint32_t ipSystemStatsOutForwDatagrams
Definition: ip_mib_module.h:204
uint32_t ipSystemStatsOutNoRoutes
Definition: ip_mib_module.h:203
uint64_t ipSystemStatsHCOutOctets
Definition: ip_mib_module.h:214
uint32_t ipSystemStatsInHdrErrors
Definition: ip_mib_module.h:188
uint64_t ipSystemStatsHCInReceives
Definition: ip_mib_module.h:185
uint32_t ipSystemStatsReasmOKs
Definition: ip_mib_module.h:196
uint32_t ipSystemStatsOutMcastPkts
Definition: ip_mib_module.h:219
uint32_t ipSystemStatsOutFragReqds
Definition: ip_mib_module.h:207
uint32_t ipSystemStatsOutRequests
Definition: ip_mib_module.h:201
uint32_t ipSystemStatsInReceives
Definition: ip_mib_module.h:184
uint64_t ipSystemStatsHCOutBcastPkts
Definition: ip_mib_module.h:226