Go to the documentation of this file.
32 #define TRACE_LEVEL SNMP_TRACE_LEVEL
52 #if (IP_MIB_SUPPORT == ENABLED)
71 #if (IPV4_SUPPORT == ENABLED)
80 #if (IPV6_SUPPORT == ENABLED)
149 #if (IPV4_SUPPORT == ENABLED)
151 if(!
osStrcmp(object->name,
"ipv4InterfaceReasmMaxSize"))
157 else if(!
osStrcmp(object->name,
"ipv4InterfaceEnableStatus"))
163 else if(!
osStrcmp(object->name,
"ipv4InterfaceRetransmitTime"))
192 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
199 if(*nextOidLen < object->
oidLen)
203 osMemcpy(nextOid, object->oid, object->oidLen);
294 #if (IPV6_SUPPORT == ENABLED)
296 if(!
osStrcmp(object->name,
"ipv6InterfaceReasmMaxSize"))
302 else if(!
osStrcmp(object->name,
"ipv6InterfaceIdentifier"))
305 if(*valueLen >=
sizeof(
Eui64))
315 *valueLen =
sizeof(
Eui64);
324 else if(!
osStrcmp(object->name,
"ipv6InterfaceEnableStatus"))
330 else if(!
osStrcmp(object->name,
"ipv6InterfaceReachableTime"))
333 value->unsigned32 = interface->ndpContext.reachableTime;
336 else if(!
osStrcmp(object->name,
"ipv6InterfaceRetransmitTime"))
339 value->unsigned32 = interface->ndpContext.retransTimer;
342 else if(!
osStrcmp(object->name,
"ipv6InterfaceForwarding"))
345 if(interface->ipv6Context.isRouter)
378 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
385 if(*nextOidLen < object->
oidLen)
389 osMemcpy(nextOid, object->oid, object->oidLen);
451 #if (IPV4_SUPPORT == ENABLED)
460 #if (IPV6_SUPPORT == ENABLED)
479 if(!
osStrcmp(object->name,
"ipSystemStatsInReceives"))
484 else if(!
osStrcmp(object->name,
"ipSystemStatsHCInReceives"))
489 else if(!
osStrcmp(object->name,
"ipSystemStatsInOctets"))
494 else if(!
osStrcmp(object->name,
"ipSystemStatsHCInOctets"))
499 else if(!
osStrcmp(object->name,
"ipSystemStatsInHdrErrors"))
504 else if(!
osStrcmp(object->name,
"ipSystemStatsInNoRoutes"))
509 else if(!
osStrcmp(object->name,
"ipSystemStatsInAddrErrors"))
514 else if(!
osStrcmp(object->name,
"ipSystemStatsInUnknownProtos"))
519 else if(!
osStrcmp(object->name,
"ipSystemStatsInTruncatedPkts"))
524 else if(!
osStrcmp(object->name,
"ipSystemStatsInForwDatagrams"))
529 else if(!
osStrcmp(object->name,
"ipSystemStatsHCInForwDatagrams"))
534 else if(!
osStrcmp(object->name,
"ipSystemStatsReasmReqds"))
539 else if(!
osStrcmp(object->name,
"ipSystemStatsReasmOKs"))
544 else if(!
osStrcmp(object->name,
"ipSystemStatsReasmFails"))
549 else if(!
osStrcmp(object->name,
"ipSystemStatsInDiscards"))
554 else if(!
osStrcmp(object->name,
"ipSystemStatsInDelivers"))
559 else if(!
osStrcmp(object->name,
"ipSystemStatsHCInDelivers"))
564 else if(!
osStrcmp(object->name,
"ipSystemStatsOutRequests"))
569 else if(!
osStrcmp(object->name,
"ipSystemStatsHCOutRequests"))
574 else if(!
osStrcmp(object->name,
"ipSystemStatsOutNoRoutes"))
579 else if(!
osStrcmp(object->name,
"ipSystemStatsOutForwDatagrams"))
584 else if(!
osStrcmp(object->name,
"ipSystemStatsHCOutForwDatagrams"))
589 else if(!
osStrcmp(object->name,
"ipSystemStatsOutDiscards"))
594 else if(!
osStrcmp(object->name,
"ipSystemStatsOutFragReqds"))
599 else if(!
osStrcmp(object->name,
"ipSystemStatsOutFragOKs"))
604 else if(!
osStrcmp(object->name,
"ipSystemStatsOutFragFails"))
609 else if(!
osStrcmp(object->name,
"ipSystemStatsOutFragCreates"))
614 else if(!
osStrcmp(object->name,
"ipSystemStatsOutTransmits"))
619 else if(!
osStrcmp(object->name,
"ipSystemStatsHCOutTransmits"))
624 else if(!
osStrcmp(object->name,
"ipSystemStatsOutOctets"))
629 else if(!
osStrcmp(object->name,
"ipSystemStatsHCOutOctets"))
634 else if(!
osStrcmp(object->name,
"ipSystemStatsInMcastPkts"))
639 else if(!
osStrcmp(object->name,
"ipSystemStatsHCInMcastPkts"))
644 else if(!
osStrcmp(object->name,
"ipSystemStatsInMcastOctets"))
649 else if(!
osStrcmp(object->name,
"ipSystemStatsHCInMcastOctets"))
654 else if(!
osStrcmp(object->name,
"ipSystemStatsOutMcastPkts"))
659 else if(!
osStrcmp(object->name,
"ipSystemStatsHCOutMcastPkts"))
664 else if(!
osStrcmp(object->name,
"ipSystemStatsOutMcastOctets"))
669 else if(!
osStrcmp(object->name,
"ipSystemStatsHCOutMcastOctets"))
674 else if(!
osStrcmp(object->name,
"ipSystemStatsInBcastPkts"))
679 else if(!
osStrcmp(object->name,
"ipSystemStatsHCInBcastPkts"))
684 else if(!
osStrcmp(object->name,
"ipSystemStatsOutBcastPkts"))
689 else if(!
osStrcmp(object->name,
"ipSystemStatsHCOutBcastPkts"))
694 else if(!
osStrcmp(object->name,
"ipSystemStatsDiscontinuityTime"))
699 else if(!
osStrcmp(object->name,
"ipSystemStatsRefreshRate"))
731 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
738 if(*nextOidLen < object->
oidLen)
742 osMemcpy(nextOid, object->oid, object->oidLen);
747 #if (IPV4_SUPPORT == DISABLED)
755 #if (IPV6_SUPPORT == DISABLED)
832 #if (IPV4_SUPPORT == ENABLED)
841 #if (IPV6_SUPPORT == ENABLED)
860 if(!
osStrcmp(object->name,
"ipIfStatsInReceives"))
865 else if(!
osStrcmp(object->name,
"ipIfStatsHCInReceives"))
870 else if(!
osStrcmp(object->name,
"ipIfStatsInOctets"))
875 else if(!
osStrcmp(object->name,
"ipIfStatsHCInOctets"))
880 else if(!
osStrcmp(object->name,
"ipIfStatsInHdrErrors"))
885 else if(!
osStrcmp(object->name,
"ipIfStatsInNoRoutes"))
890 else if(!
osStrcmp(object->name,
"ipIfStatsInAddrErrors"))
895 else if(!
osStrcmp(object->name,
"ipIfStatsInUnknownProtos"))
900 else if(!
osStrcmp(object->name,
"ipIfStatsInTruncatedPkts"))
905 else if(!
osStrcmp(object->name,
"ipIfStatsInForwDatagrams"))
910 else if(!
osStrcmp(object->name,
"ipIfStatsHCInForwDatagrams"))
915 else if(!
osStrcmp(object->name,
"ipIfStatsReasmReqds"))
920 else if(!
osStrcmp(object->name,
"ipIfStatsReasmOKs"))
925 else if(!
osStrcmp(object->name,
"ipIfStatsReasmFails"))
930 else if(!
osStrcmp(object->name,
"ipIfStatsInDiscards"))
935 else if(!
osStrcmp(object->name,
"ipIfStatsInDelivers"))
940 else if(!
osStrcmp(object->name,
"ipIfStatsHCInDelivers"))
945 else if(!
osStrcmp(object->name,
"ipIfStatsOutRequests"))
950 else if(!
osStrcmp(object->name,
"ipIfStatsHCOutRequests"))
955 else if(!
osStrcmp(object->name,
"ipIfStatsOutForwDatagrams"))
960 else if(!
osStrcmp(object->name,
"ipIfStatsHCOutForwDatagrams"))
965 else if(!
osStrcmp(object->name,
"ipIfStatsOutDiscards"))
970 else if(!
osStrcmp(object->name,
"ipIfStatsOutFragReqds"))
975 else if(!
osStrcmp(object->name,
"ipIfStatsOutFragOKs"))
980 else if(!
osStrcmp(object->name,
"ipIfStatsOutFragFails"))
985 else if(!
osStrcmp(object->name,
"ipIfStatsOutFragCreates"))
990 else if(!
osStrcmp(object->name,
"ipIfStatsOutTransmits"))
995 else if(!
osStrcmp(object->name,
"ipIfStatsHCOutTransmits"))
1000 else if(!
osStrcmp(object->name,
"ipIfStatsOutOctets"))
1005 else if(!
osStrcmp(object->name,
"ipIfStatsHCOutOctets"))
1010 else if(!
osStrcmp(object->name,
"ipIfStatsInMcastPkts"))
1015 else if(!
osStrcmp(object->name,
"ipIfStatsHCInMcastPkts"))
1020 else if(!
osStrcmp(object->name,
"ipIfStatsInMcastOctets"))
1025 else if(!
osStrcmp(object->name,
"ipIfStatsHCInMcastOctets"))
1030 else if(!
osStrcmp(object->name,
"ipIfStatsOutMcastPkts"))
1035 else if(!
osStrcmp(object->name,
"ipIfStatsHCOutMcastPkts"))
1040 else if(!
osStrcmp(object->name,
"ipIfStatsOutMcastOctets"))
1045 else if(!
osStrcmp(object->name,
"ipIfStatsHCOutMcastOctets"))
1050 else if(!
osStrcmp(object->name,
"ipIfStatsInBcastPkts"))
1055 else if(!
osStrcmp(object->name,
"ipIfStatsHCInBcastPkts"))
1060 else if(!
osStrcmp(object->name,
"ipIfStatsOutBcastPkts"))
1065 else if(!
osStrcmp(object->name,
"ipIfStatsHCOutBcastPkts"))
1070 else if(!
osStrcmp(object->name,
"ipIfStatsDiscontinuityTime"))
1075 else if(!
osStrcmp(object->name,
"ipIfStatsRefreshRate"))
1107 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
1115 if(*nextOidLen < object->
oidLen)
1119 osMemcpy(nextOid, object->oid, object->oidLen);
1124 #if (IPV4_SUPPORT == DISABLED)
1132 #if (IPV6_SUPPORT == DISABLED)
1231 #if (IPV4_SUPPORT == ENABLED)
1241 entry = &interface->ipv4Context.addrList[i];
1262 if(!
osStrcmp(object->name,
"ipAddressPrefixOrigin"))
1268 else if(!
osStrcmp(object->name,
"ipAddressPrefixOnLinkFlag"))
1275 else if(!
osStrcmp(object->name,
"ipAddressPrefixAutonomousFlag"))
1282 else if(!
osStrcmp(object->name,
"ipAddressPrefixAdvPreferredLifetime"))
1286 value->unsigned32 = UINT32_MAX;
1289 else if(!
osStrcmp(object->name,
"ipAddressPrefixAdvValidLifetime"))
1293 value->unsigned32 = UINT32_MAX;
1310 #if (IPV6_SUPPORT == ENABLED)
1320 entry = &interface->ipv6Context.prefixList[i];
1341 if(!
osStrcmp(object->name,
"ipAddressPrefixOrigin"))
1354 else if(!
osStrcmp(object->name,
"ipAddressPrefixOnLinkFlag"))
1368 else if(!
osStrcmp(object->name,
"ipAddressPrefixAutonomousFlag"))
1382 else if(!
osStrcmp(object->name,
"ipAddressPrefixAdvPreferredLifetime"))
1388 value->unsigned32 = UINT32_MAX;
1396 else if(!
osStrcmp(object->name,
"ipAddressPrefixAdvValidLifetime"))
1402 value->unsigned32 = UINT32_MAX;
1446 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
1466 if(*nextOidLen < object->
oidLen)
1470 osMemcpy(nextOid, object->oid, object->oidLen);
1472 #if (IPV4_SUPPORT == ENABLED)
1485 entry = &interface->ipv4Context.addrList[i];
1527 else if(curIndex < index)
1531 else if(curIndex > index)
1543 else if(curLength <
length)
1566 #if (IPV6_SUPPORT == ENABLED)
1579 entry = &interface->ipv6Context.prefixList[i];
1620 else if(curIndex < index)
1624 else if(curIndex > index)
1636 else if(curLength <
length)
1710 value->integer, commit);
1788 #if (IPV4_SUPPORT == ENABLED)
1804 entry = &interface->ipv4Context.addrList[i];
1824 if(!
osStrcmp(object->name,
"ipAddressIfIndex"))
1828 value->integer = index;
1831 else if(!
osStrcmp(object->name,
"ipAddressType"))
1837 else if(!
osStrcmp(object->name,
"ipAddressPrefix"))
1843 const uint8_t ipAddressPrefixOriginOid[] = {43, 6, 1, 2, 1, 4, 32, 1, 5};
1852 n =
sizeof(ipAddressPrefixOriginOid);
1884 else if(!
osStrcmp(object->name,
"ipAddressOrigin"))
1886 #if (AUTO_IP_SUPPORT == ENABLED)
1888 if(interface->autoIpContext != NULL &&
1889 interface->autoIpContext->running)
1896 #if (DHCP_CLIENT_SUPPORT == ENABLED)
1898 if(interface->dhcpClientContext != NULL &&
1899 interface->dhcpClientContext->running)
1913 else if(!
osStrcmp(object->name,
"ipAddressStatus"))
1930 else if(!
osStrcmp(object->name,
"ipAddressCreated"))
1933 value->timeTicks = 0;
1936 else if(!
osStrcmp(object->name,
"ipAddressLastChanged"))
1939 value->timeTicks = 0;
1942 else if(!
osStrcmp(object->name,
"ipAddressRowStatus"))
1948 else if(!
osStrcmp(object->name,
"ipAddressStorageType"))
1968 #if (IPV6_SUPPORT == ENABLED)
1984 entry = &interface->ipv6Context.addrList[i];
2004 if(!
osStrcmp(object->name,
"ipAddressIfIndex"))
2008 value->integer = index;
2011 else if(!
osStrcmp(object->name,
"ipAddressType"))
2017 else if(!
osStrcmp(object->name,
"ipAddressPrefix"))
2020 const uint8_t unknownOid[] = {0};
2023 if(*valueLen <
sizeof(unknownOid))
2029 *valueLen =
sizeof(unknownOid);
2032 else if(!
osStrcmp(object->name,
"ipAddressOrigin"))
2038 else if(!
osStrcmp(object->name,
"ipAddressStatus"))
2059 else if(!
osStrcmp(object->name,
"ipAddressCreated"))
2062 value->timeTicks = 0;
2065 else if(!
osStrcmp(object->name,
"ipAddressLastChanged"))
2068 value->timeTicks = 0;
2071 else if(!
osStrcmp(object->name,
"ipAddressRowStatus"))
2077 else if(!
osStrcmp(object->name,
"ipAddressStorageType"))
2119 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
2134 if(*nextOidLen < object->
oidLen)
2138 osMemcpy(nextOid, object->oid, object->oidLen);
2140 #if (IPV4_SUPPORT == ENABLED)
2153 entry = &interface->ipv4Context.addrList[i];
2199 #if (IPV6_SUPPORT == ENABLED)
2212 entry = &interface->ipv6Context.addrList[i];
2347 #if (IPV4_SUPPORT == ENABLED && ETH_SUPPORT == ENABLED)
2360 if(!
osStrcmp(object->name,
"ipNetToPhysicalPhysAddress"))
2363 if(*valueLen >=
sizeof(
MacAddr))
2377 else if(!
osStrcmp(object->name,
"ipNetToPhysicalLastUpdated"))
2383 else if(!
osStrcmp(object->name,
"ipNetToPhysicalType"))
2389 else if(!
osStrcmp(object->name,
"ipNetToPhysicalState"))
2395 else if(!
osStrcmp(object->name,
"ipNetToPhysicalRowStatus"))
2415 #if (IPV6_SUPPORT == ENABLED)
2428 if(!
osStrcmp(object->name,
"ipNetToPhysicalPhysAddress"))
2431 if(*valueLen >=
sizeof(
MacAddr))
2445 else if(!
osStrcmp(object->name,
"ipNetToPhysicalLastUpdated"))
2451 else if(!
osStrcmp(object->name,
"ipNetToPhysicalType"))
2457 else if(!
osStrcmp(object->name,
"ipNetToPhysicalState"))
2486 else if(!
osStrcmp(object->name,
"ipNetToPhysicalRowStatus"))
2528 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
2545 if(*nextOidLen < object->
oidLen)
2549 osMemcpy(nextOid, object->oid, object->oidLen);
2563 #if (IPV4_SUPPORT == ENABLED && ETH_SUPPORT == ENABLED)
2570 entry = &interface->arpCache[i];
2604 else if(curIndex < index)
2608 else if(curIndex > index)
2633 #if (IPV6_SUPPORT == ENABLED)
2640 entry = &interface->ndpContext.neighborCache[i];
2674 else if(curIndex < index)
2678 else if(curIndex > index)
2767 if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexLinkLocal"))
2769 value->unsigned32 = index;
2772 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndex3"))
2774 value->unsigned32 = 0;
2777 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexAdminLocal"))
2779 value->unsigned32 = 0;
2782 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexSiteLocal"))
2784 value->unsigned32 = 0;
2787 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndex6"))
2789 value->unsigned32 = 0;
2792 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndex7"))
2794 value->unsigned32 = 0;
2797 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexOrganizationLocal"))
2799 value->unsigned32 = 0;
2802 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndex9"))
2804 value->unsigned32 = 0;
2807 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexA"))
2809 value->unsigned32 = 0;
2812 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexB"))
2814 value->unsigned32 = 0;
2817 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexC"))
2819 value->unsigned32 = 0;
2822 else if(!
osStrcmp(object->name,
"ipv6ScopeZoneIndexD"))
2824 value->unsigned32 = 0;
2848 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
2855 if(*nextOidLen < object->
oidLen)
2859 osMemcpy(nextOid, object->oid, object->oidLen);
2937 #if (IPV4_SUPPORT == ENABLED)
2947 entry = &interface->ipv4Context.addrList[i];
2961 if(!
osStrcmp(object->name,
"ipDefaultRouterLifetime"))
2964 value->unsigned32 = UINT16_MAX;
2967 else if(!
osStrcmp(object->name,
"ipDefaultRouterPreference"))
2987 #if (IPV6_SUPPORT == ENABLED)
2997 entry = &interface->ipv6Context.routerList[i];
3014 if(!
osStrcmp(object->name,
"ipDefaultRouterLifetime"))
3019 value->unsigned32 = UINT16_MAX;
3027 else if(!
osStrcmp(object->name,
"ipDefaultRouterPreference"))
3084 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
3101 if(*nextOidLen < object->
oidLen)
3105 osMemcpy(nextOid, object->oid, object->oidLen);
3107 #if (IPV4_SUPPORT == ENABLED)
3120 entry = &interface->ipv4Context.addrList[i];
3163 else if(curIndex < index)
3185 #if (IPV6_SUPPORT == ENABLED)
3198 entry = &interface->ipv6Context.routerList[i];
3240 else if(curIndex < index)
3305 #if (IPV6_SUPPORT == ENABLED)
3308 value->integer, commit);
3329 #if (IPV6_SUPPORT == ENABLED)
3377 #if (IPV6_SUPPORT == ENABLED && NDP_ROUTER_ADV_SUPPORT == ENABLED)
3400 routerAdvContext =
netInterface[index - 1].ndpRouterAdvContext;
3403 if(routerAdvContext != NULL)
3406 if(!
osStrcmp(object->name,
"ipv6RouterAdvertSendAdverts"))
3421 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertMaxInterval"))
3428 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertMinInterval"))
3435 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertManagedFlag"))
3449 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertOtherConfigFlag"))
3463 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertLinkMTU"))
3470 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertReachableTime"))
3477 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertRetransmitTime"))
3484 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertCurHopLimit"))
3491 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertDefaultLifetime"))
3498 else if(!
osStrcmp(object->name,
"ipv6RouterAdvertRowStatus"))
3536 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
3538 #if (IPV6_SUPPORT == ENABLED && NDP_ROUTER_ADV_SUPPORT == ENABLED)
3544 if(*nextOidLen < object->
oidLen)
3548 osMemcpy(nextOid, object->oid, object->oidLen);
3554 if(
netInterface[index - 1].ndpRouterAdvContext != NULL)
3615 #if (IPV4_SUPPORT == ENABLED)
3624 #if (IPV6_SUPPORT == ENABLED)
3643 if(!
osStrcmp(object->name,
"icmpStatsInMsgs"))
3648 else if(!
osStrcmp(object->name,
"icmpStatsInErrors"))
3653 else if(!
osStrcmp(object->name,
"icmpStatsOutMsgs"))
3658 else if(!
osStrcmp(object->name,
"icmpStatsOutErrors"))
3690 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
3697 if(*nextOidLen < object->
oidLen)
3701 osMemcpy(nextOid, object->oid, object->oidLen);
3706 #if (IPV4_SUPPORT == DISABLED)
3714 #if (IPV6_SUPPORT == DISABLED)
3791 #if (IPV4_SUPPORT == ENABLED)
3800 #if (IPV6_SUPPORT == ENABLED)
3819 if(!
osStrcmp(object->name,
"icmpMsgStatsInPkts"))
3824 else if(!
osStrcmp(object->name,
"icmpMsgStatsOutPkts"))
3856 size_t oidLen, uint8_t *nextOid,
size_t *nextOidLen)
3865 if(*nextOidLen < object->
oidLen)
3869 osMemcpy(nextOid, object->oid, object->oidLen);
3874 #if (IPV4_SUPPORT == ENABLED)
3883 #if (IPV6_SUPPORT == ENABLED)
@ IPV6_ADDR_STATE_TENTATIVE
An address whose uniqueness on a link is being verified.
__start_packed struct @1 Eui64
EUI-64 identifier.
error_t ipMibGetIpAddressPrefixEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddressPrefixEntry object value.
@ IP_MIB_ROUTER_PREFERENCE_MEDIUM
error_t ipMibGetIpDefaultRouterEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipDefaultRouterEntry object value.
NdpNeighborCacheEntry * ndpFindNeighborCacheEntry(NetInterface *interface, const Ipv6Addr *ipAddr)
Search the Neighbor cache for a given IPv6 address.
IPv6 (Internet Protocol Version 6)
error_t ipMibGetNextIpSystemStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipSystemStatsEntry object.
uint32_t ipIfStatsInDelivers
@ IP_MIB_ROUTER_PREFERENCE_RESERVED
uint32_t ipIfStatsInOctets
uint32_t ipSystemStatsOutMcastOctets
systime_t lifetime
Router lifetime.
@ IP_MIB_PREFIX_ORIGIN_MANUAL
Per-message ICMP statistics.
uint64_t ipIfStatsHCInMcastPkts
error_t mibEncodeIpAddr(uint8_t *oid, size_t maxOidLen, size_t *pos, const IpAddr *ipAddr)
Encode instance identifier (IP address)
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.
uint64_t ipIfStatsHCOutMcastPkts
@ NDP_ROUTER_SEL_PREFERENCE_MEDIUM
uint32_t ipIfStatsOutOctets
error_t ipMibGetIpAddressEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddressEntry object value.
@ IP_MIB_ADDR_STATUS_TENTATIVE
Ipv4Addr addr
IPv4 address.
uint64_t ipIfStatsHCInBcastPkts
IpMibIcmpMsgStatsEntry icmpMsgStatsTable
uint32_t ipSystemStatsInUnknownProtos
uint32_t netGetRandRange(uint32_t min, uint32_t max)
Generate a random value in the specified range.
uint32_t ipSystemStatsOutMcastPkts
int32_t ipv6RouterAdvertSpinLock
uint32_t ipSystemStatsOutTransmits
NdpRouterAdvSettings settings
RA service settings.
uint32_t icmpMsgStatsOutPkts[256]
error_t ipMibInit(void)
IP MIB module initialization.
int32_t ipAddressSpinLock
error_t ipMibGetNextIcmpStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next icmpStatsEntry object.
@ IP_MIB_ADDR_TYPE_UNICAST
uint32_t ipIfStatsReasmFails
systime_t preferredLifetime
Preferred lifetime.
uint32_t ipSystemStatsInForwDatagrams
error_t ipMibGetIpSystemStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipSystemStatsEntry object value.
uint64_t ipSystemStatsHCInMcastOctets
@ NDP_ROUTER_SEL_PREFERENCE_LOW
error_t ipMibGetIpAddressSpinLock(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipAddressSpinLock object value.
const IpAddr IP_ADDR_UNSPECIFIED
uint32_t ipIfStatsInNoRoutes
#define NDP_NEIGHBOR_CACHE_SIZE
Ipv6Addr addr
IPv6 address.
uint64_t ipIfStatsHCOutRequests
error_t ipMibGetNextIpAddressEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipAddressEntry object.
@ IP_MIB_NET_TO_PHYS_STATE_PROBE
uint32_t ipSystemStatsInDelivers
bool_t running
This flag tells whether the RA service is running.
uint64_t ipSystemStatsHCInOctets
bool_t autonomousFlag
Autonomous flag.
uint32_t ipSystemStatsOutFragCreates
uint64_t ipIfStatsHCInForwDatagrams
uint64_t ipSystemStatsHCOutRequests
systime_t validLifetime
Valid lifetime.
uint32_t ipSystemStatsInReceives
@ IP_MIB_ADDR_ORIGIN_RANDOM
@ IP_MIB_NET_TO_PHYS_STATE_UNKNOWN
#define NET_INTERFACE_COUNT
uint32_t ipIfStatsOutBcastPkts
uint32_t ipSystemStatsReasmFails
Ipv4AddrState state
IPv4 address state.
#define ipv6CompAddr(ipAddr1, ipAddr2)
uint_t ipv4GetPrefixLength(Ipv4Addr mask)
Calculate prefix length for a given subnet mask.
uint64_t ipSystemStatsHCOutTransmits
error_t ipMibGetNextIpv4InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv4InterfaceEntry object.
Ipv6Addr prefix
IPv6 prefix information.
uint32_t ipSystemStatsRefreshRate
#define IPV4_MAX_FRAG_DATAGRAM_SIZE
Ipv6Addr addr
Router address.
error_t ipMibGetIcmpStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpStatsEntry object value.
uint64_t ipIfStatsHCInReceives
uint32_t ipSystemStatsInMcastOctets
@ IP_MIB_IP_FORWARDING_ENABLED
uint32_t Ipv4Addr
IPv4 network address.
ArpCacheEntry * arpFindEntry(NetInterface *interface, Ipv4Addr ipAddr)
Search the ARP cache for a given IPv4 address.
int_t oidComp(const uint8_t *oid1, size_t oidLen1, const uint8_t *oid2, size_t oidLen2)
Compare object identifiers.
#define IPV6_DEFAULT_HOP_LIMIT
uint32_t ipSystemStatsInTruncatedPkts
uint32_t ipSystemStatsOutNoRoutes
uint32_t icmpStatsOutMsgs
uint32_t ipSystemStatsReasmReqds
#define macCopyAddr(destMacAddr, srcMacAddr)
@ IPV6_ADDR_STATE_INVALID
An address that is not assigned to any interface.
uint64_t ipSystemStatsHCOutBcastPkts
int32_t ipv6IpDefaultHopLimit
Router advertisement service.
uint32_t ipIfStatsInReceives
uint64_t ipSystemStatsHCOutOctets
systime_t timestamp
Timestamp to manage entry lifetime.
uint32_t ipIfStatsOutForwDatagrams
uint32_t ipIfStatsReasmOKs
int_t mibCompIpAddr(const IpAddr *ipAddr1, const IpAddr *ipAddr2)
Compare IP addresses.
uint32_t ipSystemStatsReasmOKs
Helper functions for IPv4.
__start_packed struct @0 MacAddr
MAC address.
Ipv4Addr defaultGateway
Default gateway.
uint32_t ipSystemStatsDiscontinuityTime
uint32_t ipSystemStatsOutFragReqds
uint64_t ipSystemStatsHCInForwDatagrams
uint64_t ipSystemStatsHCOutForwDatagrams
#define osMemcpy(dest, src, length)
MacAddr macAddr
Link layer address associated with the IPv6 address.
@ IP_MIB_PREFIX_ORIGIN_ROUTER_ADV
error_t ipMibGetIcmpMsgStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get icmpMsgStatsEntry object value.
uint32_t ipIfStatsOutFragReqds
uint64_t ipSystemStatsHCInMcastPkts
@ IPV4_ADDR_STATE_TENTATIVE
An address whose uniqueness on a link is being verified.
@ IP_MIB_ADDR_STATUS_PREFERRED
@ ERROR_INSTANCE_NOT_FOUND
uint64_t ipSystemStatsHCOutMcastPkts
error_t ipMibGetNextIpv6RouterAdvertEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv6RouterAdvertEntry object.
#define eui64CopyAddr(destEui64Addr, srcEui64Addr)
MacAddr macAddr
Link layer address associated with the IPv4 address.
uint32_t ipSystemStatsOutBcastPkts
uint32_t ipIfStatsRefreshRate
uint64_t ipIfStatsHCOutMcastOctets
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.
error_t ipMibGetIpNetToPhysicalEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipNetToPhysicalEntry object value.
uint8_t preference
Preference value.
uint32_t ipSystemStatsInHdrErrors
uint32_t ipIfStatsOutRequests
error_t ipMibGetNextIpDefaultRouterEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipDefaultRouterEntry object.
@ IP_MIB_NET_TO_PHYS_STATE_INCOMPLETE
uint32_t ipSystemStatsOutDiscards
@ IP_MIB_ADDR_ORIGIN_DHCP
uint32_t ipSystemStatsInBcastPkts
@ IP_MIB_NET_TO_PHYS_STATE_REACHABLE
uint64_t ipIfStatsHCInDelivers
error_t ipMibGetIpv6RouterAdvertSpinLock(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6RouterAdvertSpinLock object value.
General definitions for cryptographic algorithms.
#define IPV6_MAX_FRAG_DATAGRAM_SIZE
IP MIB module implementation.
Helper functions for IPv6.
uint32_t ipSystemStatsInMcastPkts
uint32_t ipSystemStatsOutFragFails
IpMibBase ipMibBase
IP MIB base.
IpMibIpIfStatsEntry ipv4IfStatsTable[NET_INTERFACE_COUNT]
uint64_t ipSystemStatsHCInBcastPkts
error_t ipMibGetNextIpv6InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv6InterfaceEntry object.
uint32_t ipIfStatsDiscontinuityTime
error_t ipMibGetIpv6InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6InterfaceEntry object value.
#define IPV4_ADDR_LIST_SIZE
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.
#define IPV4_FRAG_TIME_TO_LIVE
uint32_t icmpStatsInErrors
Neighbor and destination cache management.
uint64_t ipSystemStatsHCOutMcastOctets
uint32_t ipSystemStatsOutOctets
@ IP_MIB_NET_TO_PHYS_STATE_STALE
IpMibIpSystemStatsEntry ipv6SystemStats
ArpState state
Reachability state.
error_t ipMibGetNextIpNetToPhysicalEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipNetToPhysicalEntry object.
@ IP_MIB_ROUTER_PREFERENCE_LOW
uint32_t ipIfStatsInTruncatedPkts
bool_t onLinkFlag
On-link flag.
bool_t permanent
Permanently assigned prefix.
systime_t minRtrAdvInterval
uint8_t prefixLen
IPv6 prefix length.
error_t mibDecodeIndex(const uint8_t *oid, size_t oidLen, size_t *pos, uint_t *index)
Decode instance identifier (index)
Ipv4Addr subnetMask
Subnet mask.
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.
Ipv6Addr ipAddr
Unicast IPv6 address.
error_t ipMibGetIpv6ScopeZoneIndexEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6ScopeZoneIndexEntry object value.
error_t ipMibGetNextIcmpMsgStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next icmpMsgStatsEntry object.
uint32_t ipSystemStatsOutFragOKs
Default router list entry.
@ NDP_ROUTER_SEL_PREFERENCE_HIGH
System-wide IP statistics.
@ IP_MIB_ROUTER_PREFERENCE_HIGH
uint32_t ipSystemStatsInOctets
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.
uint64_t ipIfStatsHCInOctets
Common definitions for MIB modules.
uint64_t ipSystemStatsHCInReceives
#define IPV6_ROUTER_LIST_SIZE
error_t ipMibGetIpIfStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipIfStatsEntry object value.
error_t ipMibGetIpv4InterfaceEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv4InterfaceEntry object value.
uint32_t icmpMsgStatsInPkts[256]
#define IPV6_ADDR_LIST_SIZE
NdpState state
Reachability state.
uint64_t ipIfStatsHCOutForwDatagrams
uint32_t ipSystemStatsOutForwDatagrams
error_t ipMibGetNextIpv6ScopeZoneIndexEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipv6ScopeZoneIndexEntry object.
uint32_t ipIfStatsOutFragOKs
uint64_t ipIfStatsHCOutBcastPkts
uint32_t ipSystemStatsInDiscards
uint64_t ipIfStatsHCOutOctets
IpMibIpIfStatsEntry ipv6IfStatsTable[NET_INTERFACE_COUNT]
systime_t timestamp
Time stamp to manage entry lifetime.
IpMibIcmpStatsEntry icmpStats
uint32_t ipIfStatsInUnknownProtos
IpMibIcmpMsgStatsEntry icmpv6MsgStatsTable
bool_t ipv6CompPrefix(const Ipv6Addr *ipAddr1, const Ipv6Addr *ipAddr2, size_t length)
Compare IPv6 address prefixes.
error_t mibDecodeIpAddr(const uint8_t *oid, size_t oidLen, size_t *pos, IpAddr *ipAddr)
Decode instance identifier (IP address)
@ MIB_STORAGE_TYPE_VOLATILE
error_t mibDecodeUnsigned32(const uint8_t *oid, size_t oidLen, size_t *pos, uint32_t *value)
Decode instance identifier (unsigned 32-bit integer)
__start_packed struct @0 MibVariant
Variant data type.
uint32_t ipIfStatsInAddrErrors
error_t ipMibGetNextIpIfStatsEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipIfStatsEntry object.
uint32_t ipIfStatsInForwDatagrams
error_t mibEncodeIndex(uint8_t *oid, size_t maxOidLen, size_t *pos, uint_t index)
Encode instance identifier (index)
Per-interface IP statistics.
@ IPV4_ADDR_STATE_VALID
An address assigned to an interface whose use is unrestricted.
@ IP_MIB_IP_FORWARDING_DISABLED
error_t mibTestAndIncSpinLock(int32_t *spinLock, int32_t value, bool_t commit)
Test and increment spin lock.
error_t mibEncodeUnsigned32(uint8_t *oid, size_t maxOidLen, size_t *pos, uint32_t value)
Encode instance identifier (unsigned 32-bit integer)
IPv4 (Internet Protocol Version 4)
uint64_t ipIfStatsHCOutTransmits
@ IPV6_ADDR_STATE_PREFERRED
An address assigned to an interface whose use is unrestricted.
uint32_t ipIfStatsOutDiscards
Ipv6AddrState state
IPv6 address state.
uint32_t ipIfStatsOutMcastOctets
systime_t maxRtrAdvInterval
#define IPV6_PREFIX_LIST_SIZE
uint32_t ipIfStatsOutFragFails
#define osMemset(p, value, length)
uint32_t ipIfStatsReasmReqds
uint32_t ipSystemStatsInNoRoutes
uint64_t ipSystemStatsHCInDelivers
NetInterface * nicGetLogicalInterface(NetInterface *interface)
Retrieve logical interface.
@ IP_MIB_ADDR_ORIGIN_MANUAL
@ IPV6_ADDR_STATE_DEPRECATED
An address assigned to an interface whose use is discouraged.
error_t ipMibGetNextIpAddressPrefixEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
Get next ipAddressPrefixEntry object.
uint32_t ipIfStatsInDiscards
uint32_t ipIfStatsInMcastPkts
@ IP_MIB_NET_TO_PHYS_TYPE_DYNAMIC
@ IP_MIB_NET_TO_PHYS_STATE_DELAY
#define ARP_REQUEST_TIMEOUT
uint32_t ipIfStatsInMcastOctets
uint32_t ipSystemStatsInAddrErrors
__start_packed struct @0 Ipv6Addr
IPv6 network address.
ARP (Address Resolution Protocol)
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.
error_t ipMibGetIpv6RouterAdvertEntry(const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
Get ipv6RouterAdvertEntry object value.
@ IP_MIB_ADDR_STATUS_DEPRECATED
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.
Ipv4Addr ipAddr
Unicast IPv4 address.
uint32_t ipSystemStatsOutRequests
@ IP_MIB_ADDR_STATUS_UNKNOWN
uint32_t ipIfStatsOutTransmits
uint32_t ipIfStatsInHdrErrors
uint32_t ipIfStatsInBcastPkts
ASN.1 (Abstract Syntax Notation One)
uint32_t ipIfStatsOutMcastPkts
uint32_t icmpStatsOutErrors
uint32_t ipIfStatsOutFragCreates
uint64_t ipIfStatsHCInMcastOctets
#define IPV4_UNSPECIFIED_ADDR
IpMibIpSystemStatsEntry ipv4SystemStats
IpMibIcmpStatsEntry icmpv6Stats