mib2_impl_ip.c File Reference

MIB-II module implementation (IP group) More...

#include "core/net.h"
#include "ipv4/arp_cache.h"
#include "mibs/mib_common.h"
#include "mibs/mib2_module.h"
#include "mibs/mib2_impl.h"
#include "mibs/mib2_impl_ip.h"
#include "core/crypto.h"
#include "encoding/asn1.h"
#include "encoding/oid.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   SNMP_TRACE_LEVEL
 

Functions

error_t mib2GetIpInReceives (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipInReceives object value. More...
 
error_t mib2GetIpInHdrErrors (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipInHdrErrors object value. More...
 
error_t mib2GetIpInAddrErrors (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipInAddrErrors object value. More...
 
error_t mib2GetIpForwDatagrams (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipForwDatagrams object value. More...
 
error_t mib2GetIpInUnknownProtos (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipInUnknownProtos object value. More...
 
error_t mib2GetIpInDiscards (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipInDiscards object value. More...
 
error_t mib2GetIpInDelivers (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipInDelivers object value. More...
 
error_t mib2GetIpOutRequests (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipOutRequests object value. More...
 
error_t mib2GetIpOutDiscards (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipOutDiscards object value. More...
 
error_t mib2GetIpOutNoRoutes (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipOutNoRoutes object value. More...
 
error_t mib2GetIpReasmReqds (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipReasmReqds object value. More...
 
error_t mib2GetIpReasmOKs (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipReasmOKs object value. More...
 
error_t mib2GetIpReasmFails (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipReasmFails object value. More...
 
error_t mib2GetIpFragOKs (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipFragOKs object value. More...
 
error_t mib2GetIpFragFails (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipFragFails object value. More...
 
error_t mib2GetIpFragCreates (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipFragCreates object value. More...
 
error_t mib2GetIpAddrEntry (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipAddrEntry object value. More...
 
error_t mib2GetNextIpAddrEntry (const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
 Get next ipAddrEntry object. More...
 
error_t mib2SetIpNetToMediaEntry (const MibObject *object, const uint8_t *oid, size_t oidLen, const MibVariant *value, size_t valueLen, bool_t commit)
 Set ipNetToMediaEntry object value. More...
 
error_t mib2GetIpNetToMediaEntry (const MibObject *object, const uint8_t *oid, size_t oidLen, MibVariant *value, size_t *valueLen)
 Get ipNetToMediaEntry object value. More...
 
error_t mib2GetNextIpNetToMediaEntry (const MibObject *object, const uint8_t *oid, size_t oidLen, uint8_t *nextOid, size_t *nextOidLen)
 Get next ipNetToMediaEntry object. More...
 

Detailed Description

MIB-II module implementation (IP group)

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2026 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.6.0

Definition in file mib2_impl_ip.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   SNMP_TRACE_LEVEL

Definition at line 32 of file mib2_impl_ip.c.

Function Documentation

◆ mib2GetIpAddrEntry()

error_t mib2GetIpAddrEntry ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipAddrEntry object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 493 of file mib2_impl_ip.c.

◆ mib2GetIpForwDatagrams()

error_t mib2GetIpForwDatagrams ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipForwDatagrams object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 144 of file mib2_impl_ip.c.

◆ mib2GetIpFragCreates()

error_t mib2GetIpFragCreates ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipFragCreates object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 466 of file mib2_impl_ip.c.

◆ mib2GetIpFragFails()

error_t mib2GetIpFragFails ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipFragFails object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 439 of file mib2_impl_ip.c.

◆ mib2GetIpFragOKs()

error_t mib2GetIpFragOKs ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipFragOKs object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 412 of file mib2_impl_ip.c.

◆ mib2GetIpInAddrErrors()

error_t mib2GetIpInAddrErrors ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipInAddrErrors object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 116 of file mib2_impl_ip.c.

◆ mib2GetIpInDelivers()

error_t mib2GetIpInDelivers ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipInDelivers object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 226 of file mib2_impl_ip.c.

◆ mib2GetIpInDiscards()

error_t mib2GetIpInDiscards ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipInDiscards object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 199 of file mib2_impl_ip.c.

◆ mib2GetIpInHdrErrors()

error_t mib2GetIpInHdrErrors ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipInHdrErrors object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 87 of file mib2_impl_ip.c.

◆ mib2GetIpInReceives()

error_t mib2GetIpInReceives ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipInReceives object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 60 of file mib2_impl_ip.c.

◆ mib2GetIpInUnknownProtos()

error_t mib2GetIpInUnknownProtos ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipInUnknownProtos object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 172 of file mib2_impl_ip.c.

◆ mib2GetIpNetToMediaEntry()

error_t mib2GetIpNetToMediaEntry ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipNetToMediaEntry object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 731 of file mib2_impl_ip.c.

◆ mib2GetIpOutDiscards()

error_t mib2GetIpOutDiscards ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipOutDiscards object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 279 of file mib2_impl_ip.c.

◆ mib2GetIpOutNoRoutes()

error_t mib2GetIpOutNoRoutes ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipOutNoRoutes object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 306 of file mib2_impl_ip.c.

◆ mib2GetIpOutRequests()

error_t mib2GetIpOutRequests ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipOutRequests object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 252 of file mib2_impl_ip.c.

◆ mib2GetIpReasmFails()

error_t mib2GetIpReasmFails ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipReasmFails object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 386 of file mib2_impl_ip.c.

◆ mib2GetIpReasmOKs()

error_t mib2GetIpReasmOKs ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipReasmOKs object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 360 of file mib2_impl_ip.c.

◆ mib2GetIpReasmReqds()

error_t mib2GetIpReasmReqds ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
MibVariant value,
size_t *  valueLen 
)

Get ipReasmReqds object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[out]valueObject value
[in,out]valueLenLength of the object value, in bytes
Returns
Error code

Definition at line 333 of file mib2_impl_ip.c.

◆ mib2GetNextIpAddrEntry()

error_t mib2GetNextIpAddrEntry ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
uint8_t *  nextOid,
size_t *  nextOidLen 
)

Get next ipAddrEntry object.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier
[in]oidLenLength of the OID, in bytes
[out]nextOidOID of the next object in the MIB
[out]nextOidLenLength of the next object identifier, in bytes
Returns
Error code

Definition at line 603 of file mib2_impl_ip.c.

◆ mib2GetNextIpNetToMediaEntry()

error_t mib2GetNextIpNetToMediaEntry ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
uint8_t *  nextOid,
size_t *  nextOidLen 
)

Get next ipNetToMediaEntry object.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier
[in]oidLenLength of the OID, in bytes
[out]nextOidOID of the next object in the MIB
[out]nextOidLenLength of the next object identifier, in bytes
Returns
Error code

Definition at line 840 of file mib2_impl_ip.c.

◆ mib2SetIpNetToMediaEntry()

error_t mib2SetIpNetToMediaEntry ( const MibObject object,
const uint8_t *  oid,
size_t  oidLen,
const MibVariant value,
size_t  valueLen,
bool_t  commit 
)

Set ipNetToMediaEntry object value.

Parameters
[in]objectPointer to the MIB object descriptor
[in]oidObject identifier (object name and instance identifier)
[in]oidLenLength of the OID, in bytes
[in]valueObject value
[in]valueLenLength of the object value, in bytes
[in]commitThis flag tells whether the changes shall be committed to the MIB base
Returns
Error code

Definition at line 713 of file mib2_impl_ip.c.