Check Incoming Requests

This scenario shows how to configure a user to receive incoming requests in SNMPv3 using VRFs. In addition, the SNMP walk and table commands are checked.

../../../../_images/common2.svg

Test SNMP Walk With VRFs

Description

Using VRFs, a user is configured in DUT0 and the walk command is used to check incoming requests in SNMPv3.

Scenario

Step 1: Set the following configuration in DUT0:

set interfaces ethernet eth0 address 10.0.0.1/24
set interfaces ethernet eth0 vrf A
set system vrf A
set service snmp user USER2TEST

Step 2: Set the following configuration in DUT1:

set interfaces ethernet eth0 address 10.0.0.2/24
set interfaces ethernet eth0 vrf B
set system vrf B

Note

First, remote walk requests shouldn’t work because no information has been specifed in DUT1 about where to route the requests.

Step 3: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST oid ifTable at DUT1 and check if output does not match the following regular expressions:

::ifDescr\.1 = STRING: "?lo"?
Show output
snmpbulkwalk: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)

Note

Remote walk requests also shouldn’t work because no information has been specified in DUT0 about where to route responses.

Step 4: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable at DUT1 and check if output does not match the following regular expressions:

::ifDescr\.1 = STRING: "?lo"?
Show output
snmpbulkwalk: Timeout (Sub-id not found: (top) -> ifTable)

Note

After setting the VRF in DUT0, remote walk requests shouldn’t work until information on where to route the requests is specified in DUT1.

Step 5: Set the following configuration in DUT0:

set service snmp local-vrf A

Step 6: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST oid ifTable at DUT1 and check if output does not match the following regular expressions:

::ifDescr\.1 = STRING: "?lo"?
Show output
snmpbulkwalk: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)

Step 7: Run command service snmp walk remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable at DUT1 and check if output matches the following regular expressions:

::ifDescr\.1 = STRING: "?lo"?
Show output
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifIndex.62 = INTEGER: 62
IF-MIB::ifIndex.63 = INTEGER: 63
IF-MIB::ifIndex.64 = INTEGER: 64
IF-MIB::ifIndex.137 = INTEGER: 137
IF-MIB::ifIndex.140 = INTEGER: 140
IF-MIB::ifIndex.142 = INTEGER: 142
IF-MIB::ifIndex.501 = INTEGER: 501
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: Red Hat, Inc Device 0001
IF-MIB::ifDescr.3 = STRING: Red Hat, Inc Device 0001
IF-MIB::ifDescr.4 = STRING: ip_vti0
IF-MIB::ifDescr.62 = STRING: gre0
IF-MIB::ifDescr.63 = STRING: gretap0
IF-MIB::ifDescr.64 = STRING: erspan0
IF-MIB::ifDescr.137 = STRING: ip6tnl0
IF-MIB::ifDescr.140 = STRING: sit0
IF-MIB::ifDescr.142 = STRING: tunl0
IF-MIB::ifDescr.501 = STRING: A
IF-MIB::ifType.1 = INTEGER: softwareLoopback(24)
IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.3 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.4 = INTEGER: tunnel(131)
IF-MIB::ifType.62 = INTEGER: tunnel(131)
IF-MIB::ifType.63 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.64 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifType.137 = INTEGER: tunnel(131)
IF-MIB::ifType.140 = INTEGER: tunnel(131)
IF-MIB::ifType.142 = INTEGER: tunnel(131)
IF-MIB::ifType.501 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifMtu.1 = INTEGER: 65536
IF-MIB::ifMtu.2 = INTEGER: 1500
IF-MIB::ifMtu.3 = INTEGER: 1500
IF-MIB::ifMtu.4 = INTEGER: 1480
IF-MIB::ifMtu.62 = INTEGER: 1476
IF-MIB::ifMtu.63 = INTEGER: 1462
IF-MIB::ifMtu.64 = INTEGER: 1450
IF-MIB::ifMtu.137 = INTEGER: 1452
IF-MIB::ifMtu.140 = INTEGER: 1480
IF-MIB::ifMtu.142 = INTEGER: 1480
IF-MIB::ifMtu.501 = INTEGER: 65575
IF-MIB::ifSpeed.1 = Gauge32: 10000000
IF-MIB::ifSpeed.2 = Gauge32: 0
IF-MIB::ifSpeed.3 = Gauge32: 0
IF-MIB::ifSpeed.4 = Gauge32: 0
IF-MIB::ifSpeed.62 = Gauge32: 0
IF-MIB::ifSpeed.63 = Gauge32: 0
IF-MIB::ifSpeed.64 = Gauge32: 0
IF-MIB::ifSpeed.137 = Gauge32: 0
IF-MIB::ifSpeed.140 = Gauge32: 0
IF-MIB::ifSpeed.142 = Gauge32: 0
IF-MIB::ifSpeed.501 = Gauge32: 0
IF-MIB::ifPhysAddress.1 = STRING:
IF-MIB::ifPhysAddress.2 = STRING: de:ad:be:ef:6c:0
IF-MIB::ifPhysAddress.3 = STRING: de:ad:be:ef:6c:1
IF-MIB::ifPhysAddress.4 = STRING:
IF-MIB::ifPhysAddress.62 = STRING:
IF-MIB::ifPhysAddress.63 = STRING:
IF-MIB::ifPhysAddress.64 = STRING:
IF-MIB::ifPhysAddress.137 = STRING:
IF-MIB::ifPhysAddress.140 = STRING:
IF-MIB::ifPhysAddress.142 = STRING:
IF-MIB::ifPhysAddress.501 = STRING: 96:2a:1e:6b:5e:af
IF-MIB::ifAdminStatus.1 = INTEGER: up(1)
IF-MIB::ifAdminStatus.2 = INTEGER: up(1)
IF-MIB::ifAdminStatus.3 = INTEGER: down(2)
IF-MIB::ifAdminStatus.4 = INTEGER: down(2)
IF-MIB::ifAdminStatus.62 = INTEGER: down(2)
IF-MIB::ifAdminStatus.63 = INTEGER: down(2)
IF-MIB::ifAdminStatus.64 = INTEGER: down(2)
IF-MIB::ifAdminStatus.137 = INTEGER: down(2)
IF-MIB::ifAdminStatus.140 = INTEGER: down(2)
IF-MIB::ifAdminStatus.142 = INTEGER: down(2)
IF-MIB::ifAdminStatus.501 = INTEGER: up(1)
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.3 = INTEGER: down(2)
IF-MIB::ifOperStatus.4 = INTEGER: down(2)
IF-MIB::ifOperStatus.62 = INTEGER: down(2)
IF-MIB::ifOperStatus.63 = INTEGER: down(2)
IF-MIB::ifOperStatus.64 = INTEGER: down(2)
IF-MIB::ifOperStatus.137 = INTEGER: down(2)
IF-MIB::ifOperStatus.140 = INTEGER: down(2)
IF-MIB::ifOperStatus.142 = INTEGER: down(2)
IF-MIB::ifOperStatus.501 = INTEGER: up(1)
IF-MIB::ifLastChange.1 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.2 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.3 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.4 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.62 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.63 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.64 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.137 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.140 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.142 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.501 = Timeticks: (0) 0:00:00.00
IF-MIB::ifInOctets.1 = Counter32: 1071358
IF-MIB::ifInOctets.2 = Counter32: 631347781
IF-MIB::ifInOctets.3 = Counter32: 1936854777
IF-MIB::ifInOctets.4 = Counter32: 0
IF-MIB::ifInOctets.62 = Counter32: 0
IF-MIB::ifInOctets.63 = Counter32: 0
IF-MIB::ifInOctets.64 = Counter32: 0
IF-MIB::ifInOctets.137 = Counter32: 0
IF-MIB::ifInOctets.140 = Counter32: 0
IF-MIB::ifInOctets.142 = Counter32: 0
IF-MIB::ifInOctets.501 = Counter32: 720
IF-MIB::ifInUcastPkts.1 = Counter32: 0
IF-MIB::ifInUcastPkts.2 = Counter32: 0
IF-MIB::ifInUcastPkts.3 = Counter32: 0
IF-MIB::ifInUcastPkts.4 = Counter32: 0
IF-MIB::ifInUcastPkts.62 = Counter32: 0
IF-MIB::ifInUcastPkts.63 = Counter32: 0
IF-MIB::ifInUcastPkts.64 = Counter32: 0
IF-MIB::ifInUcastPkts.137 = Counter32: 0
IF-MIB::ifInUcastPkts.140 = Counter32: 0
IF-MIB::ifInUcastPkts.142 = Counter32: 0
IF-MIB::ifInUcastPkts.501 = Counter32: 0
IF-MIB::ifInNUcastPkts.1 = Counter32: 0
IF-MIB::ifInNUcastPkts.2 = Counter32: 0
IF-MIB::ifInNUcastPkts.3 = Counter32: 0
IF-MIB::ifInNUcastPkts.4 = Counter32: 0
IF-MIB::ifInNUcastPkts.62 = Counter32: 0
IF-MIB::ifInNUcastPkts.63 = Counter32: 0
IF-MIB::ifInNUcastPkts.64 = Counter32: 0
IF-MIB::ifInNUcastPkts.137 = Counter32: 0
IF-MIB::ifInNUcastPkts.140 = Counter32: 0
IF-MIB::ifInNUcastPkts.142 = Counter32: 0
IF-MIB::ifInNUcastPkts.501 = Counter32: 0
IF-MIB::ifInDiscards.1 = Counter32: 0
IF-MIB::ifInDiscards.2 = Counter32: 187
IF-MIB::ifInDiscards.3 = Counter32: 13
IF-MIB::ifInDiscards.4 = Counter32: 0
IF-MIB::ifInDiscards.62 = Counter32: 0
IF-MIB::ifInDiscards.63 = Counter32: 0
IF-MIB::ifInDiscards.64 = Counter32: 0
IF-MIB::ifInDiscards.137 = Counter32: 0
IF-MIB::ifInDiscards.140 = Counter32: 0
IF-MIB::ifInDiscards.142 = Counter32: 0
IF-MIB::ifInDiscards.501 = Counter32: 0
IF-MIB::ifInErrors.1 = Counter32: 0
IF-MIB::ifInErrors.2 = Counter32: 0
IF-MIB::ifInErrors.3 = Counter32: 0
IF-MIB::ifInErrors.4 = Counter32: 0
IF-MIB::ifInErrors.62 = Counter32: 0
IF-MIB::ifInErrors.63 = Counter32: 0
IF-MIB::ifInErrors.64 = Counter32: 0
IF-MIB::ifInErrors.137 = Counter32: 0
IF-MIB::ifInErrors.140 = Counter32: 0
IF-MIB::ifInErrors.142 = Counter32: 0
IF-MIB::ifInErrors.501 = Counter32: 0
IF-MIB::ifInUnknownProtos.1 = Counter32: 0
IF-MIB::ifInUnknownProtos.2 = Counter32: 0
IF-MIB::ifInUnknownProtos.3 = Counter32: 0
IF-MIB::ifInUnknownProtos.4 = Counter32: 0
IF-MIB::ifInUnknownProtos.62 = Counter32: 0
IF-MIB::ifInUnknownProtos.63 = Counter32: 0
IF-MIB::ifInUnknownProtos.64 = Counter32: 0
IF-MIB::ifInUnknownProtos.137 = Counter32: 0
IF-MIB::ifInUnknownProtos.140 = Counter32: 0
IF-MIB::ifInUnknownProtos.142 = Counter32: 0
IF-MIB::ifInUnknownProtos.501 = Counter32: 0
IF-MIB::ifOutOctets.1 = Counter32: 1071358
IF-MIB::ifOutOctets.2 = Counter32: 2864532886
IF-MIB::ifOutOctets.3 = Counter32: 3062744694
IF-MIB::ifOutOctets.4 = Counter32: 0
IF-MIB::ifOutOctets.62 = Counter32: 0
IF-MIB::ifOutOctets.63 = Counter32: 0
IF-MIB::ifOutOctets.64 = Counter32: 0
IF-MIB::ifOutOctets.137 = Counter32: 0
IF-MIB::ifOutOctets.140 = Counter32: 0
IF-MIB::ifOutOctets.142 = Counter32: 0
IF-MIB::ifOutOctets.501 = Counter32: 0
IF-MIB::ifOutUcastPkts.1 = Counter32: 9479
IF-MIB::ifOutUcastPkts.2 = Counter32: 2181214
IF-MIB::ifOutUcastPkts.3 = Counter32: 2378086
IF-MIB::ifOutUcastPkts.4 = Counter32: 0
IF-MIB::ifOutUcastPkts.62 = Counter32: 0
IF-MIB::ifOutUcastPkts.63 = Counter32: 0
IF-MIB::ifOutUcastPkts.64 = Counter32: 0
IF-MIB::ifOutUcastPkts.137 = Counter32: 0
IF-MIB::ifOutUcastPkts.140 = Counter32: 0
IF-MIB::ifOutUcastPkts.142 = Counter32: 0
IF-MIB::ifOutUcastPkts.501 = Counter32: 0
IF-MIB::ifOutNUcastPkts.1 = Counter32: 0
IF-MIB::ifOutNUcastPkts.2 = Counter32: 0
IF-MIB::ifOutNUcastPkts.3 = Counter32: 0
IF-MIB::ifOutNUcastPkts.4 = Counter32: 0
IF-MIB::ifOutNUcastPkts.62 = Counter32: 0
IF-MIB::ifOutNUcastPkts.63 = Counter32: 0
IF-MIB::ifOutNUcastPkts.64 = Counter32: 0
IF-MIB::ifOutNUcastPkts.137 = Counter32: 0
IF-MIB::ifOutNUcastPkts.140 = Counter32: 0
IF-MIB::ifOutNUcastPkts.142 = Counter32: 0
IF-MIB::ifOutNUcastPkts.501 = Counter32: 0
IF-MIB::ifOutDiscards.1 = Counter32: 0
IF-MIB::ifOutDiscards.2 = Counter32: 0
IF-MIB::ifOutDiscards.3 = Counter32: 0
IF-MIB::ifOutDiscards.4 = Counter32: 0
IF-MIB::ifOutDiscards.62 = Counter32: 0
IF-MIB::ifOutDiscards.63 = Counter32: 0
IF-MIB::ifOutDiscards.64 = Counter32: 0
IF-MIB::ifOutDiscards.137 = Counter32: 0
IF-MIB::ifOutDiscards.140 = Counter32: 0
IF-MIB::ifOutDiscards.142 = Counter32: 0
IF-MIB::ifOutDiscards.501 = Counter32: 0
IF-MIB::ifOutErrors.1 = Counter32: 0
IF-MIB::ifOutErrors.2 = Counter32: 0
IF-MIB::ifOutErrors.3 = Counter32: 0
IF-MIB::ifOutErrors.4 = Counter32: 0
IF-MIB::ifOutErrors.62 = Counter32: 0
IF-MIB::ifOutErrors.63 = Counter32: 0
IF-MIB::ifOutErrors.64 = Counter32: 0
IF-MIB::ifOutErrors.137 = Counter32: 0
IF-MIB::ifOutErrors.140 = Counter32: 0
IF-MIB::ifOutErrors.142 = Counter32: 0
IF-MIB::ifOutErrors.501 = Counter32: 0
IF-MIB::ifOutQLen.1 = Gauge32: 0
IF-MIB::ifOutQLen.2 = Gauge32: 0
IF-MIB::ifOutQLen.3 = Gauge32: 0
IF-MIB::ifOutQLen.4 = Gauge32: 0
IF-MIB::ifOutQLen.62 = Gauge32: 0
IF-MIB::ifOutQLen.63 = Gauge32: 0
IF-MIB::ifOutQLen.64 = Gauge32: 0
IF-MIB::ifOutQLen.137 = Gauge32: 0
IF-MIB::ifOutQLen.140 = Gauge32: 0
IF-MIB::ifOutQLen.142 = Gauge32: 0
IF-MIB::ifOutQLen.501 = Gauge32: 0
IF-MIB::ifSpecific.1 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.2 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.3 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.4 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.62 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.63 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.64 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.137 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.140 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.142 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.501 = OID: SNMPv2-SMI::zeroDotZero

Test SNMP Table With VRFs

Description

Using VRFs, a user is configured in DUT0 and the table command is used to check incoming requests in SNMPv3.

Scenario

Step 1: Set the following configuration in DUT0:

set interfaces ethernet eth0 address 10.0.0.1/24
set interfaces ethernet eth0 vrf A
set system vrf A
set service snmp user USER2TEST

Step 2: Set the following configuration in DUT1:

set interfaces ethernet eth0 address 10.0.0.2/24
set interfaces ethernet eth0 vrf B
set system vrf B

Note

First, remote table requests shouldn’t work because no information has been specified in DUT1 about where to route the requests.

Step 3: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST oid ifTable at DUT1 and check if output does not match the following regular expressions:

SNMP table:.*::ifTable
Show output
snmptable: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)

Note

Remote table requests should also not work because no information has been specified in DUT0 about where to route responses.

Step 4: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable at DUT1 and check if output does not match the following regular expressions:

SNMP table:.*::ifTable
Show output
snmptable: Timeout (Sub-id not found: (top) -> ifTable)

Note

After setting the VRF in DUT0, remote table requests shouldn’t work until the information on where to route the requests is specified in DUT1.

Step 5: Set the following configuration in DUT0:

set service snmp local-vrf A

Step 6: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST oid ifTable at DUT1 and check if output does not match the following regular expressions:

SNMP table:.*::ifTable
Show output
snmptable: Unknown engine ID (Sub-id not found: (top) -> ifTable) (Network is unreachable)

Step 7: Run command service snmp table remote-agent 10.0.0.1 v3 USER2TEST vrf B oid ifTable at DUT1 and check if output matches the following regular expressions:

SNMP table:.*::ifTable
Show output
SNMP table: IF-MIB::ifTable

 ifIndex                  ifDescr           ifType ifMtu  ifSpeed    ifPhysAddress ifAdminStatus
       1                       lo softwareLoopback 65536 10000000                             up
       2 Red Hat, Inc Device 0001   ethernetCsmacd  1500        0 de:ad:be:ef:6c:0            up
       3 Red Hat, Inc Device 0001   ethernetCsmacd  1500        0 de:ad:be:ef:6c:1          down
       4                  ip_vti0           tunnel  1480        0                           down
      62                     gre0           tunnel  1476        0                           down
      63                  gretap0   ethernetCsmacd  1462        0                           down
      64                  erspan0   ethernetCsmacd  1450        0                           down
     137                  ip6tnl0           tunnel  1452        0                           down
     140                     sit0           tunnel  1480        0                           down
     142                    tunl0           tunnel  1480        0                           down
     502                        A   ethernetCsmacd 65575        0 92:ee:72:a:75:8d            up

SNMP table IF-MIB::ifTable, part 2

 ifOperStatus ifLastChange ifInOctets ifInUcastPkts ifInNUcastPkts ifInDiscards ifInErrors
           up 0:0:00:00.00    1072018             0              0            0          0
           up 0:0:00:00.00  631352977             0              0          187          0
         down 0:0:00:00.00 1936854777             0              0           13          0
         down 0:0:00:00.00          0             0              0            0          0
         down 0:0:00:00.00          0             0              0            0          0
         down 0:0:00:00.00          0             0              0            0          0
         down 0:0:00:00.00          0             0              0            0          0
         down 0:0:00:00.00          0             0              0            0          0
         down 0:0:00:00.00          0             0              0            0          0
         down 0:0:00:00.00          0             0              0            0          0
           up 0:0:00:00.00        720             0              0            0          0

SNMP table IF-MIB::ifTable, part 3

 ifInUnknownProtos ifOutOctets ifOutUcastPkts ifOutNUcastPkts ifOutDiscards ifOutErrors ifOutQLen
                 0     1072018           9487               0             0           0         0
                 0  2864542807        2181254               0             0           0         0
                 0  3062744694        2378086               0             0           0         0
                 0           0              0               0             0           0         0
                 0           0              0               0             0           0         0
                 0           0              0               0             0           0         0
                 0           0              0               0             0           0         0
                 0           0              0               0             0           0         0
                 0           0              0               0             0           0         0
                 0           0              0               0             0           0         0
                 0           0              0               0             0           0         0

SNMP table IF-MIB::ifTable, part 4

              ifSpecific
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero
 SNMPv2-SMI::zeroDotZero