summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2018-06-24 12:50:17 +0200
committerDaniil Baturin <daniil@baturin.org>2018-06-24 12:50:17 +0200
commitbacecf80ea16d3cd30dc7c98c98af013b2adc258 (patch)
tree2b1d6f48708ace28ae4f6c9893ee50f6f390c6b7
parent0d8e75e2e808ccf366a1527647a6353c09d92237 (diff)
parent0f19dc57ed6588c083eee8aa9aee09b92b441b08 (diff)
downloadvyatta-cfg-system-lithium.tar.gz
vyatta-cfg-system-lithium.zip
Merge branch 'current' into lithiumlithium
Conflicts: debian/changelog scripts/snmp/vyatta-snmp-v3.pl scripts/snmp/vyatta-snmp.pl templates/interfaces/tunnel/node.def templates/system/sysctl/custom/node.def
-rw-r--r--.gitignore1
-rw-r--r--[l---------]ChangeLog6055
-rw-r--r--Makefile.am13
-rw-r--r--cfg-version/system@8 (renamed from cfg-version/system@7)0
-rw-r--r--debian/changelog90
-rw-r--r--debian/control23
-rw-r--r--debian/vyatta-cfg-system.install1
-rwxr-xr-xdebian/vyatta-cfg-system.postinst.in30
-rwxr-xr-xetc/init.d/vyos-intfwatchd87
-rw-r--r--lib/Vyatta/Login/RadiusServer.pm21
-rwxr-xr-xlib/Vyatta/Login/User.pm5
-rw-r--r--mibs/AGENTX-MIB.txt527
-rw-r--r--mibs/BGP4-MIB.txt929
-rw-r--r--mibs/BRIDGE-MIB.txt1472
-rw-r--r--mibs/DISMAN-EVENT-MIB.txt1882
-rw-r--r--mibs/DISMAN-EXPRESSION-MIB.txt1182
-rw-r--r--mibs/DISMAN-NSLOOKUP-MIB.txt509
-rw-r--r--mibs/DISMAN-PING-MIB.txt1561
-rw-r--r--mibs/DISMAN-SCHEDULE-MIB.txt699
-rw-r--r--mibs/DISMAN-SCRIPT-MIB.txt1764
-rw-r--r--mibs/DISMAN-TRACEROUTE-MIB.txt1850
-rw-r--r--mibs/EtherLike-MIB.txt1862
-rw-r--r--mibs/HCNUM-TC.txt118
-rw-r--r--mibs/HOST-RESOURCES-MIB.txt1540
-rw-r--r--mibs/HOST-RESOURCES-TYPES.txt389
-rw-r--r--mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt123
-rw-r--r--mibs/IANA-LANGUAGE-MIB.txt123
-rw-r--r--mibs/IANA-RTPROTO-MIB.txt91
-rw-r--r--mibs/IANAifType-MIB.txt638
-rw-r--r--mibs/IF-INVERTED-STACK-MIB.txt149
-rw-r--r--mibs/IF-MIB.txt1814
-rw-r--r--mibs/INET-ADDRESS-MIB.txt402
-rw-r--r--mibs/IP-FORWARD-MIB.txt1277
-rw-r--r--mibs/IP-MIB.txt4993
-rw-r--r--mibs/IPV6-FLOW-LABEL-MIB.txt58
-rw-r--r--mibs/IPV6-ICMP-MIB.txt529
-rw-r--r--mibs/IPV6-MIB.txt1443
-rw-r--r--mibs/IPV6-TC.txt67
-rw-r--r--mibs/IPV6-TCP-MIB.txt211
-rw-r--r--mibs/IPV6-UDP-MIB.txt141
-rw-r--r--mibs/MTA-MIB.txt1226
-rw-r--r--mibs/NETWORK-SERVICES-MIB.txt626
-rw-r--r--mibs/NOTIFICATION-LOG-MIB.txt753
-rw-r--r--mibs/OSPF-MIB.txt2723
-rw-r--r--mibs/OSPF-TRAP-MIB.txt443
-rw-r--r--mibs/RFC-1215.txt38
-rw-r--r--mibs/RFC1155-SMI.txt119
-rw-r--r--mibs/RFC1213-MIB.txt2613
-rw-r--r--mibs/RIPv2-MIB.txt530
-rw-r--r--mibs/RMON-MIB.txt3980
-rw-r--r--mibs/SCTP-MIB.txt1342
-rw-r--r--mibs/SMUX-MIB.txt160
-rw-r--r--mibs/SNMP-COMMUNITY-MIB.txt429
-rw-r--r--mibs/SNMP-FRAMEWORK-MIB.txt526
-rw-r--r--mibs/SNMP-MPD-MIB.txt145
-rw-r--r--mibs/SNMP-NOTIFICATION-MIB.txt589
-rw-r--r--mibs/SNMP-PROXY-MIB.txt294
-rw-r--r--mibs/SNMP-TARGET-MIB.txt660
-rw-r--r--mibs/SNMP-USER-BASED-SM-MIB.txt912
-rw-r--r--mibs/SNMP-USM-AES-MIB.txt62
-rw-r--r--mibs/SNMP-USM-DH-OBJECTS-MIB.txt532
-rw-r--r--mibs/SNMP-VIEW-BASED-ACM-MIB.txt830
-rw-r--r--mibs/SNMPv2-CONF.txt322
-rw-r--r--mibs/SNMPv2-MIB.txt854
-rw-r--r--mibs/SNMPv2-SMI.txt344
-rw-r--r--mibs/SNMPv2-TC.txt772
-rw-r--r--mibs/SNMPv2-TM.txt176
-rw-r--r--mibs/SOURCE-ROUTING-MIB.txt452
-rw-r--r--mibs/TCP-MIB.txt785
-rw-r--r--mibs/TRANSPORT-ADDRESS-MIB.txt421
-rw-r--r--mibs/TUNNEL-MIB.txt738
-rw-r--r--mibs/UDP-MIB.txt549
-rw-r--r--mibs/VYATTA-TRAP-MIB.txt97
-rwxr-xr-xscripts/dns-forwarding/vyatta-dns-forwarding.pl268
-rwxr-xr-xscripts/install-system1664
-rwxr-xr-xscripts/install/install-functions20
-rwxr-xr-xscripts/install/install-get-partition64
-rwxr-xr-xscripts/install/install-image2
-rwxr-xr-xscripts/install/install-image-existing23
-rwxr-xr-xscripts/install/install-image-new11
-rwxr-xr-xscripts/install/install-postinst-new30
-rwxr-xr-xscripts/rl-system.init8
-rwxr-xr-xscripts/snmp/vyatta-snmp-v3.pl626
-rwxr-xr-xscripts/snmp/vyatta-snmp.pl340
-rwxr-xr-xscripts/system/vyatta_check_snmp_name.pl31
-rwxr-xr-xscripts/system/vyatta_check_username.pl2
-rwxr-xr-xscripts/system/vyatta_interface_rescan2
-rwxr-xr-xscripts/system/vyatta_update_console.pl103
-rwxr-xr-xscripts/system/vyatta_update_hosts.pl114
-rwxr-xr-xscripts/system/vyatta_update_ntp.pl120
-rwxr-xr-xscripts/system/vyatta_update_resolv.pl15
-rw-r--r--scripts/system/vyatta_update_sysctl.pl2
-rwxr-xr-xscripts/system/vyatta_update_syslog.pl2
-rwxr-xr-xscripts/system/vyatta_update_telnet84
-rwxr-xr-xscripts/vyatta-address4
-rwxr-xr-xscripts/vyatta-bridge.pl2
-rw-r--r--scripts/vyatta-dhcp-helper.pl2
-rwxr-xr-xscripts/vyatta-dhcpv6-client.pl6
-rwxr-xr-xscripts/vyatta-grub-setup68
-rwxr-xr-xscripts/vyatta-interfaces.pl8
-rwxr-xr-xscripts/vyatta-load-user-key.pl4
-rwxr-xr-xscripts/vyatta-system-nameservers10
-rwxr-xr-xscripts/vyatta-update-grub.pl2
-rw-r--r--scripts/vyatta-update-tunnel.pl2
-rwxr-xr-xscripts/vyatta_net_name2
-rw-r--r--scripts/vyos-intfwatchd160
-rwxr-xr-xscripts/vyos-persistpath19
-rw-r--r--sysconf/filecaps6
-rw-r--r--sysconf/level2
-rw-r--r--sysconf/netdevice1
-rw-r--r--sysconf/pam_radius.cfg15
-rw-r--r--sysconf/rsyslog.conf8
-rw-r--r--sysconf/sudoers2
-rw-r--r--sysconf/vyatta-sysctl.conf4
-rw-r--r--templates/interfaces/bonding/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/bonding/node.tag/vif-s/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/bonding/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/bonding/node.tag/vif/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/bridge/node.def4
-rw-r--r--templates/interfaces/bridge/node.tag/aging/node.def4
-rw-r--r--templates/interfaces/bridge/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/bridge/node.tag/forwarding-delay/node.def2
-rw-r--r--templates/interfaces/bridge/node.tag/hello-time/node.def4
-rw-r--r--templates/interfaces/bridge/node.tag/max-age/node.def4
-rw-r--r--templates/interfaces/bridge/node.tag/priority/node.def4
-rw-r--r--templates/interfaces/bridge/node.tag/stp/node.def12
-rw-r--r--templates/interfaces/ethernet/node.def16
-rw-r--r--templates/interfaces/ethernet/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/ethernet/node.tag/vif-s/node.tag/ip/proxy-arp-pvlan/node.def3
-rw-r--r--templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/ip/proxy-arp-pvlan/node.def3
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/ethernet/node.tag/vif/node.tag/ip/proxy-arp-pvlan/node.def3
-rw-r--r--templates/interfaces/l2tpv3/node.def8
-rw-r--r--templates/interfaces/pseudo-ethernet/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def2
-rw-r--r--templates/interfaces/tunnel/node.def5
-rw-r--r--templates/interfaces/tunnel/node.tag/6rd-relay-prefix/node.def10
-rw-r--r--templates/interfaces/tunnel/node.tag/dhcp-interface/node.def2
-rw-r--r--templates/interfaces/tunnel/node.tag/local-ip/node.def3
-rw-r--r--templates/interfaces/tunnel/node.tag/parameters/ip/key/node.def6
-rw-r--r--templates/service/dns/forwarding/cache-size/node.def5
-rw-r--r--templates/service/dns/forwarding/dhcp/node.def8
-rw-r--r--templates/service/dns/forwarding/domain/node.def4
-rw-r--r--templates/service/dns/forwarding/domain/node.tag/server/node.def3
-rw-r--r--templates/service/dns/forwarding/ignore-hosts-file/node.def1
-rw-r--r--templates/service/dns/forwarding/listen-on/node.def5
-rw-r--r--templates/service/dns/forwarding/name-server/node.def3
-rw-r--r--templates/service/dns/forwarding/node.def10
-rw-r--r--templates/service/dns/forwarding/system/node.def2
-rw-r--r--templates/service/snmp/community/node.def5
-rw-r--r--templates/service/snmp/community/node.tag/authorization/node.def8
-rw-r--r--templates/service/snmp/community/node.tag/client/node.def3
-rw-r--r--templates/service/snmp/community/node.tag/network/node.def4
-rw-r--r--templates/service/snmp/contact/node.def6
-rw-r--r--templates/service/snmp/description/node.def6
-rw-r--r--templates/service/snmp/listen-address/node.def3
-rw-r--r--templates/service/snmp/listen-address/node.tag/port/node.def7
-rw-r--r--templates/service/snmp/location/node.def6
-rw-r--r--templates/service/snmp/node.def27
-rw-r--r--templates/service/snmp/smux-peer/node.def4
-rw-r--r--templates/service/snmp/trap-source/node.def2
-rw-r--r--templates/service/snmp/trap-target/node.def3
-rw-r--r--templates/service/snmp/trap-target/node.tag/community/node.def2
-rw-r--r--templates/service/snmp/trap-target/node.tag/port/node.def6
-rw-r--r--templates/service/snmp/v3/engineid/node.def3
-rw-r--r--templates/service/snmp/v3/group/node.def8
-rw-r--r--templates/service/snmp/v3/group/node.tag/mode/node.def8
-rw-r--r--templates/service/snmp/v3/group/node.tag/seclevel/node.def7
-rw-r--r--templates/service/snmp/v3/group/node.tag/view/node.def11
-rw-r--r--templates/service/snmp/v3/node.def30
-rw-r--r--templates/service/snmp/v3/trap-target/node.def14
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/auth/encrypted-key/node.def3
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/auth/node.def4
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/auth/plaintext-key/node.def3
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/auth/type/node.def8
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/engineid/node.def3
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/port/node.def7
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/privacy/encrypted-key/node.def3
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/privacy/node.def4
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/privacy/plaintext-key/node.def3
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/privacy/type/node.def8
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/protocol/node.def8
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/type/node.def8
-rw-r--r--templates/service/snmp/v3/trap-target/node.tag/user/node.def4
-rw-r--r--templates/service/snmp/v3/tsm/local-key/node.def14
-rw-r--r--templates/service/snmp/v3/tsm/node.def3
-rw-r--r--templates/service/snmp/v3/tsm/port/node.def7
-rw-r--r--templates/service/snmp/v3/user/node.def7
-rw-r--r--templates/service/snmp/v3/user/node.tag/auth/encrypted-key/node.def2
-rw-r--r--templates/service/snmp/v3/user/node.tag/auth/node.def3
-rw-r--r--templates/service/snmp/v3/user/node.tag/auth/plaintext-key/node.def6
-rw-r--r--templates/service/snmp/v3/user/node.tag/auth/type/node.def8
-rw-r--r--templates/service/snmp/v3/user/node.tag/engineid/node.def3
-rw-r--r--templates/service/snmp/v3/user/node.tag/group/node.def11
-rw-r--r--templates/service/snmp/v3/user/node.tag/mode/node.def8
-rw-r--r--templates/service/snmp/v3/user/node.tag/privacy/encrypted-key/node.def2
-rw-r--r--templates/service/snmp/v3/user/node.tag/privacy/node.def3
-rw-r--r--templates/service/snmp/v3/user/node.tag/privacy/plaintext-key/node.def6
-rw-r--r--templates/service/snmp/v3/user/node.tag/privacy/type/node.def8
-rw-r--r--templates/service/snmp/v3/user/node.tag/tsm-key/node.def14
-rw-r--r--templates/service/snmp/v3/view/node.def6
-rw-r--r--templates/service/snmp/v3/view/node.tag/oid/node.def4
-rw-r--r--templates/service/snmp/v3/view/node.tag/oid/node.tag/exclude/node.def1
-rw-r--r--templates/service/snmp/v3/view/node.tag/oid/node.tag/mask/node.def4
-rw-r--r--templates/service/ssh/allow-root/node.def5
-rw-r--r--templates/service/ssh/ciphers/node.def29
-rw-r--r--templates/service/ssh/disable-host-validation/node.def6
-rw-r--r--templates/service/ssh/disable-password-authentication/node.def5
-rw-r--r--templates/service/ssh/listen-address/node.def10
-rw-r--r--templates/service/ssh/macs/node.def10
-rw-r--r--templates/service/ssh/node.def8
-rw-r--r--templates/service/ssh/port/node.def7
-rw-r--r--templates/service/telnet/allow-root/node.def3
-rw-r--r--templates/service/telnet/listen-address/node.def7
-rw-r--r--templates/service/telnet/node.def8
-rw-r--r--templates/service/telnet/port/node.def9
-rw-r--r--templates/system/console/device/node.tag/speed/node.def2
-rw-r--r--templates/system/domain-name/node.def12
-rw-r--r--templates/system/host-name/node.def12
-rw-r--r--templates/system/login/user/node.tag/authentication/public-keys/node.tag/type/node.def4
-rw-r--r--templates/system/ntp/client/address/node.def6
-rw-r--r--templates/system/ntp/client/node.def1
-rw-r--r--templates/system/ntp/node.def16
-rw-r--r--templates/system/ntp/server/node.def3
-rw-r--r--templates/system/ntp/server/node.tag/dynamic/node.def2
-rw-r--r--templates/system/ntp/server/node.tag/noselect/node.def1
-rw-r--r--templates/system/ntp/server/node.tag/preempt/node.def1
-rw-r--r--templates/system/ntp/server/node.tag/prefer/node.def1
-rw-r--r--templates/system/options/ctrl-alt-del-action/node.def16
-rw-r--r--templates/system/options/enable-popularity-contest/node.def9
-rw-r--r--templates/system/static-host-mapping/host-name/node.def4
-rw-r--r--templates/system/sysctl/custom/node.def2
236 files changed, 59880 insertions, 4407 deletions
diff --git a/.gitignore b/.gitignore
index 830bb7d1..ae6c08fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,3 +29,4 @@ Makefile
src/valid_address
src/local_ip
src/hypervisor_vendor
+generated-templates/*
diff --git a/ChangeLog b/ChangeLog
index d526672c..2d7dc77f 120000..100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1 +1,6054 @@
-debian/changelog \ No newline at end of file
+vyatta-cfg-system (0.20.44+vyos2+current3) unstable; urgency=medium
+
+ [ Kim Hagen ]
+ * Update 'is_live_cd_boot' and 'is_union_instal' functions to search on 'overlay' instead of 'overlayfs'
+
+ [ Seamus Caveney ]
+ * vyatta-cfg-system: add support for 6rd tunnel interfaces
+
+ [ Daniil Baturin ]
+ * Sanitize dependencies, use ISC DHCP client.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 27 Jan 2016 08:24:32 -0500
+
+vyatta-cfg-system (0.20.44+vyos2+current2) unstable; urgency=medium
+
+ * Update dependencies
+
+ -- Kim Hagen <kim.sidney@gmail.com> Mon, 25 Jan 2016 03:47:13 -0500
+
+vyatta-cfg-system (0.20.44+vyos2+current1) unstable; urgency=medium
+
+ [ UnicronNL ]
+ * Remove fuse group, not needed in debian jessie
+
+ [ Thomas Jepp ]
+ * Dependency fixes for Jessie. Remove the dependency on vyatta-busybox, use the system busybox.
+ * Add missing runtime dependencies.
+
+ [ Kim Hagen ]
+
+ -- Kim Hagen <kim.sidney@gmail.com> Sun, 24 Jan 2016 15:04:10 -0500
+
+vyatta-cfg-system (0.20.44+vyos2+lithium41) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: add restart option to vyatta-dns-forwarding.pl
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Thu, 19 Nov 2015 22:25:54 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium40) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: enable usb autosuspend to reduce cpu usage on kvm
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sun, 15 Nov 2015 10:20:47 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium39) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: add missing changelog entries
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Fri, 13 Nov 2015 20:59:16 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium38) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: rename ethernet offload option nodes
+ * vyatta-cfg-system: update get_offload_option function due to rename
+ * vyatta-cfg-system: add option to modify interface scatter-gather option
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sun, 08 Nov 2015 13:59:11 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium37) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: rename smp_affinity to smp-affinity
+ * vyatta-cfg-system: bump system version to 7 for smp-affinity rename
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Thu, 05 Nov 2015 20:33:18 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium36) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: ensure bridge slaves are deletable from bridges
+ * vyatta-cfg-system: allow bridge slaves to be moved from empty bridges
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Mon, 19 Oct 2015 07:52:48 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium35) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: remove ip address requirements from port checking
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 17 Oct 2015 19:25:16 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium34) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: add scripts/is_port_available.pl for port checking
+ * vyatta-cfg-system: add listen-address and port checks for telnet
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 17 Oct 2015 18:23:34 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium33) unstable; urgency=low
+
+ [ Carl Byington ]
+ * allow dhcp interface for the local end of a tunnel
+ * dhcp bound/reboot must ignore old values
+
+ [ Daniil Baturin ]
+ * Add templates and scripts for the popularity contest.
+
+ -- Daniil Baturin <daniil@baturin.org> Mon, 27 Jul 2015 04:10:37 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+lithium32) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: use sha-512 instead of md5 for installation password
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Thu, 02 Jul 2015 00:14:27 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium31) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * Revert "vyatta-cfg-system: prevent deletion of all user authentication"
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Mon, 22 Jun 2015 21:20:41 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium30) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: prevent deletion of system based post-hook symlinks
+ * vyatta-cfg-system: update dh_gencontrol with new development build flag
+
+ [ Carl Byington ]
+ * allow dhcp interface for the local end of a tunnel
+ * dhcp bound/reboot must ignore old values
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Tue, 16 Jun 2015 07:48:49 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium29) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: 'delete system login user' doesn't remove the user
+ * vyatta-cfg-system: missing encrypted-password breaks user config node
+ * vyatta-cfg-system: prevent deletion of all authentication for user
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 13 Jun 2015 15:31:56 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium28) unstable; urgency=low
+
+ * Bug #410: add an option for ARP cache timeout.
+
+ -- Daniil Baturin <daniil@baturin.org> Mon, 04 May 2015 00:20:52 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+lithium27) unstable; urgency=low
+
+ * Bug #541: load l2tp_ip6 module so L2TPv3 over IPv6 can work.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 03 May 2015 19:59:52 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+lithium26) unstable; urgency=low
+
+ * Add parted to dependencies, the install scripts need it.
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 25 Apr 2015 15:39:47 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+lithium25) unstable; urgency=low
+
+ * Further debian/control cleanup.
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 09 Apr 2015 03:19:33 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+lithium24) unstable; urgency=low
+
+ * Force release
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 09 Apr 2015 00:20:26 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+lithium23) unstable; urgency=low
+
+ * Remove hypervisor_vendor, obsoleted by hvinfo.
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 09 Apr 2015 00:19:54 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+lithium22) unstable; urgency=low
+
+ [ kouak ]
+ * Set correct dhclient configuration filename (#508)
+ * Add dhcpv6 client-id option (#519)
+
+ [ Daniil Baturin ]
+ * Fix package description and copyright information.
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 26 Mar 2015 01:23:40 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium21) unstable; urgency=low
+
+ [ Benjamin Beret ]
+ * Set default STP priority to 32768 (#512)
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: set default stp priority to 32768 (additional)
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Mon, 09 Mar 2015 09:18:45 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium20) unstable; urgency=low
+
+ [ Benjamin Beret ]
+ * Fix broken commit
+ * Accept custom dyndns services (Bug #507)
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: remove unnecessary service symlink
+ * vyatta-cfg-system: update protocol, remove server and node wording
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: add additional services and check for protocols
+ * vyatta-cfg-system: update node text so that it fits on a console line
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 07 Mar 2015 21:13:20 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium19) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: ensure grub is installed to the raid slave members
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 28 Feb 2015 16:44:40 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium18) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: adjust mtu node priority to set mtu after parent
+ * vyatta-cfg-system: correct typo in node.def
+ * vyatta-cfg-system: redesign the layout and updating of ntp
+ * vyatta-cfg-system: rename variable in ntp_format subroutine
+ * vyatta-cfg-system: update new ntp updating routine to work with dhcp
+ * vyatta-cfg-system: skip over invalid ntp servers rather than exiting
+ * vyatta-cfg-system: add vyatta-dhcp3-client to dependencies list
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 28 Feb 2015 12:43:32 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium17) unstable; urgency=low
+
+ [ kouak ]
+ * Fix a bug in rfc2136 import
+ * Add ingress-qos-mapping/egress-qos-mapping to VLAN configuration
+ (#385)
+
+ [ Daniil Baturin ]
+ * Bug #498: dirty hack to disallow remote command execution for
+ operator level users.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 25 Feb 2015 17:17:53 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium16) unstable; urgency=low
+
+ [ Benjamin Beret ]
+ * Bug #389: Add RFC2136 configuration options for ddclient 3.8.2
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: add dnsutils to depends following rfc2136 options
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sun, 22 Feb 2015 15:04:28 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium15) unstable; urgency=low
+
+ * Bug #490: use command line options for parameters-only and temporary
+ * Bug #490: remove priority inversion in dhcpv6-options.
+ * Bug #491: don't allow temporary and parameters-only
+ * Bug #492: fail commit in case of DHCPv6 configuration errors.
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 20 Feb 2015 15:54:29 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium14) unstable; urgency=low
+
+ * Bug #356: use VyOS SNMP OID instead of the old Vyatta one.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 15 Feb 2015 05:21:20 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium13) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: multiple servers for dns forwarding domain override
+ * vyatta-cfg-system: redesign the layout and updating of /etc/resolv.conf
+ * vyatta-cfg-system: remove blank domain search and expand comment type
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 14 Feb 2015 14:37:03 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium12) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: invalid resolv.conf format causing extra DNS request
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Mon, 09 Feb 2015 22:34:02 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium11) unstable; urgency=low
+
+ [ Hiroyuki Sato ]
+ * Bug#382: fix radvd status check
+
+ [ Kim Hagen ]
+ * Bug #467, tos inherit not turned on by default on tunnels (IPIP, GRE)
+ * Bug #352 - QinQ - changing the ethertype value of vif-s
+ * Can not change EtherType with vif-c interfaces configured
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: allow dynamic dns updating from behind nat
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sun, 08 Feb 2015 20:19:41 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium10) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: changes to update_inittab for xen console access
+ * vyatta-cfg-system: remove default speed value for console access
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sun, 25 Jan 2015 09:32:40 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium9) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: update the required version of ddclient
+ * vyatta-cfg-system: add dynamic dns support for no-ip.com/noip
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sun, 18 Jan 2015 16:01:51 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium8) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: add dynamic dns support for afraid.org/freedns
+ * vyatta-cfg-system: set required version of ddclient for freedns support
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 03 Jan 2015 18:20:32 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium7) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: really remove cpufrequtils from depends this time
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Tue, 30 Dec 2014 21:48:13 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium6) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: remove acpid and cpufrequtils from depends
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Tue, 30 Dec 2014 20:18:42 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium5) unstable; urgency=low
+
+ * Force release
+
+ -- Daniil Baturin <daniil@baturin.org> Tue, 23 Dec 2014 01:55:46 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium4) unstable; urgency=low
+
+ [ Hiroshi Umehara ]
+ * vyatta-cfg-system: fix for unusable "link" option (Bug #381)
+
+ [ Jared Baldridge ]
+ * Adding support for spaces in the key comment field (Bug #411)
+
+ [ Ryo Nakamura ]
+ * support "remote" attribute of VXLAN tunnel (Bug #416)
+
+ [ Alex Harpin ]
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Sat, 20 Dec 2014 18:38:25 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium3) unstable; urgency=low
+
+ [ Jared Baldridge ]
+ * Adding initial support for loading a config from AWS EC2 user-data
+
+ [ Jason Hendry ]
+ * Expose rsyslog log level 'all' in CLI
+ * Initial import fo vyatta_update_sysctl.pl
+ * Creating template for net.ipv4.ipfrag_time sysctl
+ * Adding all + custom sysctl option nodes
+ * Removing sysctl all node, adding net.ipv4.igmp_max_memberships
+ * Adding offload setting management to vyatta-interfaces.pl
+ * Adding templates for tso options. fixing logic in vyatta-interfaces for tso options
+ * Making offload setting changes change on a single option
+ * Updating comments so they make a bit more sense
+ * Removing default settings offload values
+ * Cleaning up ethtool execution code
+ * Correcting udp offload option name form segmentation to fragmentation
+ * Removing unsed variable from declaration
+
+ [ Paul Gear ]
+ * Omit "Vyatta" from sysDescr
+
+ [ Hiroyuki Sato ]
+ * Fix Bug#382 Removing system ipv6 forwarding causes script error.
+
+ [ Alex Harpin ]
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Wed, 10 Dec 2014 07:53:50 +0000
+
+vyatta-cfg-system (0.20.44+vyos2+lithium2) unstable; urgency=low
+
+ * Force release
+
+ -- Daniil Baturin <dmbaturin@squeeze32devel.multi.eu> Wed, 29 Oct 2014 22:45:42 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+lithium1) unstable; urgency=low
+
+ * New branch
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 29 Oct 2014 22:44:52 +0100
+
+vyatta-cfg-system (0.20.43+vyos1+helium24) unstable; urgency=low
+
+ * vyatta-cfg-system: fix for 'user vyos doesn't exist' on password reset
+ * vyatta-cfg-system: add complete user config entry on password reset
+ * vyatta-cfg-system: set default vyos password hash to sha-512 when reset
+ * vyatta-cfg-system: allow password reset for users other than vyos
+ * vyatta-cfg-system: fix for deleting encrypted password breaks config
+ * vyatta-cfg-system: comment change in the plaintext-password node
+
+ -- Alex Harpin <development@landsofshadow.co.uk> Fri, 24 Oct 2014 16:57:23 +0100
+
+vyatta-cfg-system (0.20.43+vyos1+helium23) unstable; urgency=low
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: allow dhcp and dhcpv6 addresses to be deleted
+
+ [ Daniil Baturin ]
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 09 Oct 2014 23:18:31 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium22) unstable; urgency=low
+
+ * Make EC2 key fetcher start on boot.
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 09 Oct 2014 21:18:44 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium21) unstable; urgency=low
+
+ * Use returnEffectiveValues in intfwatchd so it works outside of
+ config session.
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 09 Oct 2014 00:10:29 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium20) unstable; urgency=low
+
+ * Fix regular expression so it works with any (I hope!) interface
+ types.
+ * Even more specific regex.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 08 Oct 2014 21:17:39 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium19) unstable; urgency=low
+
+ * Add ex2-check script.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 08 Oct 2014 15:50:02 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium18) unstable; urgency=low
+
+ * If not running on AWS (system UUID and serial do not start with
+ EC2), don't do AWS-specific things.
+ * Bug #335, run the EC2 key fetching script as vyattacfg.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 08 Oct 2014 12:13:29 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium17) unstable; urgency=low
+
+ [ upa ]
+ * Add support for VXLAN
+ * fix create/del error handling
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: revert bb71cf5b7b3a48812e28dbefba8c535f9bbf9973
+ * vyatta-cfg-system: add 'set system allow-dhcp-nameservers' option
+
+ [ Kim Hagen ]
+ * Remove gre-multipoint encapsulation option, make the tunnel
+ multipoint if 'remote-ip' is nowt set.
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: expand 'set system allow-dhcp-nameservers' logic
+
+ [ Kim Hagen ]
+ * Fix syntax error
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: rename allow-dhcp-nameservers and change to
+ typeless
+
+ [ Daniil Baturin ]
+ * Remove VXLAN templates that are supposed to be generated.
+ * Add VXLAN to generated templates.
+ * Remove ip/node.def, it's autogenerated too.
+ * Remove source-validation templates, those are also autogenerated.
+
+ [ Kim Hagen ]
+ * Fix typo
+
+ [ Daniil Baturin ]
+ * Rename "dev" to "link" under VXLAN for consistency with peth
+ * Fix a typo in help string.
+
+ -- Daniil Baturin <daniil@baturin.org> Tue, 07 Oct 2014 19:45:58 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium16) unstable; urgency=low
+
+ [ UnicronNL ]
+ * Remove execution of vyatta-update-nhtp script
+ * Remove obsolete information
+ * Always allow gre-multipoint
+
+ [ Kim Hagen ]
+ * Bug #285 - Cannot delete bond interface with vif
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: remove quotes from SysContact and SysLocation
+
+ [ Kim Hagen ]
+ * Do not delete tunnel if it is in use by NHRP config
+
+ [ Alex Harpin ]
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: allow interfaces with dhcp addresses to be
+ deleted
+ * vyatta-cfg-system: formatting changes for style consistency
+ * vyatta-cfg-system: prevent dhcp updating dns when statically
+ configured
+
+ [ Daniil Baturin ]
+ * Bug #306: add option to enable private VLAN proxy ARP on an
+ interface.
+
+ -- Daniil Baturin <daniil@baturin.org> Tue, 09 Sep 2014 17:32:43 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium15) unstable; urgency=low
+
+ * Bug #196: rename "smuxpeer" to "smux-peer" for consistency with
+ other commands.
+ * Bug #173: rename "disable" option to "ignore".
+ * Bug #237: improve ciphers option help and value validation.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 03 Aug 2014 12:45:11 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium14) unstable; urgency=low
+
+ * Bug #256: adjust mtu node priority.
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 02 Aug 2014 03:53:48 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium13) unstable; urgency=low
+
+ * Bug #246: add multicast querier toggle to bridge.
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 02 Aug 2014 01:01:04 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium12) unstable; urgency=low
+
+ [ ftoyama ]
+ * Change lower the priority of l2tpv3 than the priority of static
+ route.
+
+ [ Daniil Baturin ]
+ * Rename dummy interfaces to dumX to avoid confusion with the default
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 31 Jul 2014 01:29:51 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium11) unstable; urgency=low
+
+ * Replace login check with UID check in install-get-partition.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 30 Jul 2014 00:29:58 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium10) unstable; urgency=low
+
+ * Replace login name check with effective UID check.
+ * Replace login name check with effective UID check in install-image.
+
+ -- Daniil Baturin <daniil@baturin.org> Tue, 29 Jul 2014 23:41:07 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium9) unstable; urgency=low
+
+ * Set vyos-intfwatchd to start at boot by default.
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 25 Jul 2014 20:28:44 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium8) unstable; urgency=low
+
+ [ UnicronNL ]
+ * Add Freescale i.MX serial device
+
+ [ Daniil Baturin ]
+ * Add vyod-intfwatchd for restoring IPv6 addresses after link flaps.
+ * Bug #259: do not try to remove addresses that don't exist.
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 25 Jul 2014 18:36:30 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium7) unstable; urgency=low
+
+ [ Paul Gear ]
+ * Fix ignore-hosts-file operation
+ * Fix dnsmasq.conf generation for ignore-hosts-file
+
+ [ tofoo ]
+ * Fix modprobe for l2tpv3 over ip
+
+ [ Kim Hagen ]
+ * Skip finding hypervisor vendor if cpu is other than x86_64.
+ * Only depend on grub if archtecture is i386 or amd64
+
+ [ Daniil Baturin ]
+ * Fix is_live_boot check to account for the overlayfs change.
+ * Bug #269: missed return in is_ec2_ami.
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 25 Jul 2014 12:23:03 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium6) unstable; urgency=low
+
+ [ Abdelouahed Haitoute ]
+ * Added feature to send log message to remote syslog server over UDP
+ or TCP.
+ * Added feature to add smuxpeer entries in file /etc/snmp/snmpd.conf.
+
+ [ Kim Hagen ]
+ * Add QinQ vlan to ethernet interface config
+ * Fix variables.
+ * Change priority in node.def
+ * Add QinQ vlan to Bonding and pseudo-ethernet interfaces.
+ * Set help to Nested vlan.
+ * Bug #21 - Add the ability to adjust system ARP settings via the CLI
+ on a per interface basis
+ * Fix build errors due to interface prio in perl script.
+ * Remove file vyatta-cfg-system.install.
+ * Set separate virtual interface for QinQ.
+
+ [ Daniil Baturin ]
+ * Bug #255: add an option to ignore hosts file in dnsmasq.
+
+ -- Daniil Baturin <daniil@baturin.org> Tue, 08 Jul 2014 17:07:35 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium5) unstable; urgency=low
+
+ [ James Davidson ]
+ * Support and switch to overlayfs
+
+ [ Kim Hagen ]
+ * Add fuse group for admin users so /dev/fuse is accessible and
+
+ [ hydrajump ]
+ * Remove trailing whitespace
+ * Add support for installing a new image on the Amazon AMI
+ * Fix AWS EC2 AMI support
+ * Revert to state before add-aws-ami-support
+ * Fix to enable ec2-fetch-ssh-public-key init script
+
+ [ neutralrockets ]
+ * Add support for ciphers and macs override in ssh
+
+ [ Kim Hagen ]
+ * Bug #239 - Getting the version number by using dpkg will not work
+ when upgrading to newer version of debian.
+
+ [ Daniil Baturin ]
+
+ -- Daniil Baturin <daniil@baturin.org> Mon, 16 Jun 2014 13:00:08 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium4) unstable; urgency=low
+
+ [ hydrajump ]
+ * Add system option for ctrl-alt-del-action to configuration
+ * Use elif conditional instead of if
+ * Add syntax check to validate value
+
+ [ Daniil Baturin ]
+ * Bug #170: Rename nodes for consistency with the rest of the system.
+ * Bug #170: Set default wait time to 0.
+ * Bug #170: Set link up at after creating tunnel.
+ * Bug #170: Add address, disable, and description options.
+ * Bug #170: Break iproute2 commands in multiple line for better
+ readability.
+ * Bug #170: Specify interface name in iproute2 command to override
+ default numering.
+ * Bug #170: Remove "wait" option.
+ * Bug #170: Improve help strings.
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 12 Apr 2014 22:24:22 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium3) unstable; urgency=low
+
+ * Bug #159: add dummy type to network interface type list.
+ * Remove extra space before pppoe in interface types for nicer
+ formatting.
+ * Bug #170: add L2TPv3 to the interface type list.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 06 Apr 2014 14:58:14 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium2) unstable; urgency=low
+
+ [ hydrajump ]
+ * Fixed parted command for root partition alignment.
+
+ [ higebu ]
+ * Add support for l2tpv3
+ * Fix support for l2tpv3 over ip
+
+ [ hydrajump ]
+ * Cleanup of unused parted root partitioning starting offset
+
+ [ higebu ]
+ * Remove endpoint, and add mtu support
+
+ [ tea2ka ]
+ * using a DNS server with an IPv6 address.
+ * collect dhcpv6-options
+
+ [ hydrajump ]
+ * Delete SSH blacklists as they are no longer needed
+
+ [ Daniil Baturin ]
+ * Bug #159: add conf mode templates for dummy interfaces.
+ * Bug #159: add delete action for dummy interfaces.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 06 Apr 2014 11:52:08 +0200
+
+vyatta-cfg-system (0.20.43+vyos1+helium1) unstable; urgency=low
+
+ * New branch
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 15 Feb 2014 16:53:19 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen12) unstable; urgency=low
+
+ * Merge changes to SNMPv3 templates and scripts from vRouter 5400
+ trial ISO.
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 31 Jan 2014 03:55:52 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen11) unstable; urgency=low
+
+ * Force release
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 18 Jan 2014 01:41:12 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen10) unstable; urgency=low
+
+ * Bug #98: add an option for redirect support to curl call.
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 18 Jan 2014 01:40:28 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen9) unstable; urgency=low
+
+ * Change image name for new installs to just numeric version.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 22 Dec 2013 11:16:14 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen8) unstable; urgency=low
+
+ * Bug #96: fix menu entry generation so image version is included.
+ * Fix curl command to fetch the signature file.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 22 Dec 2013 09:28:12 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen7) unstable; urgency=low
+
+ * Bug #92: change default timezone to UTC for the sake of scientific
+ * Bug #51: update /etc/timezone when timezone changes.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 18 Dec 2013 04:23:05 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen6) unstable; urgency=low
+
+ [ Stig Thormodsrud ]
+ * Fix bug 318 - Use SHA-512 hashing for user passwords instead of MD5
+
+ [ Daniil Baturin ]
+
+ -- Daniil Baturin <daniil@baturin.org> Tue, 17 Dec 2013 03:35:52 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen5) unstable; urgency=low
+
+ * Remove init-floppy script
+ * Replace s/Vyatta/VyOS/ in parition handling installer functions
+ * Remove init-floppy from automake rules
+ * Bug #55: fix user name in password reset script.
+
+ -- Daniil Baturin <daniil@baturin.org> Sun, 03 Nov 2013 14:15:26 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen4) unstable; urgency=low
+
+ * Fix some shell quoting weirdness (curl dumped the ISO on stdout)
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 02 Nov 2013 06:34:43 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen3) unstable; urgency=low
+
+ * Fix image name, according to new numeric-only vyatta-version naming
+ * Replace missed vyatta names in installer
+ * Set User-Agent: to VyOS/$version for statistics collection.
+
+ -- Daniil Baturin <daniil@baturin.org> Sat, 02 Nov 2013 02:34:57 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen2) unstable; urgency=low
+
+ * Test release
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 01 Nov 2013 23:55:00 +0100
+
+vyatta-cfg-system (0.20.43+hydrogen1) unstable; urgency=low
+
+ * Fix branch
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 01 Nov 2013 22:41:42 +0100
+
+vyatta-cfg-system (0.20.42+daisy25) unstable; urgency=low
+
+ * Replace s/Vyatta/VyOS/ in install-system script.
+
+ -- Daniil Baturin <daniil@baturin.org> Fri, 01 Nov 2013 21:41:42 +0100
+
+vyatta-cfg-system (0.20.42+daisy24) unstable; urgency=low
+
+ * Remote unused file test_bootfile
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 31 Oct 2013 13:34:48 +0100
+
+vyatta-cfg-system (0.20.42+daisy23) unstable; urgency=low
+
+ * Force release
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 31 Oct 2013 13:14:19 +0100
+
+vyatta-cfg-system (0.20.42+daisy22) unstable; urgency=low
+
+ * Dedicated alias for vyos maintainers as email.
+ * s/Vyatta/VyOS/ in default config.
+ * Update debian/control email too.
+ * ...and AUTHORS.
+
+ -- Daniil Baturin <daniil@baturin.org> Thu, 31 Oct 2013 13:12:19 +0100
+
+vyatta-cfg-system (0.20.42+daisy21) unstable; urgency=low
+
+ * Update names in grub config templates.
+ * Update default user in installer script.
+ * Update default hostname.
+ * Update maintainers addresses.
+
+ -- Daniil Baturin <daniil@baturin.org> Mon, 21 Oct 2013 21:49:05 -0700
+
+vyatta-cfg-system (0.20.42+daisy20) unstable; urgency=low
+
+ * SNMP: Group secLevel check. Fix 'delete priv on user'
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 05 Jun 2013 09:19:58 -0700
+
+vyatta-cfg-system (0.20.42+daisy19) unstable; urgency=low
+
+ * SNMP sync up
+
+ -- James Davidson <james.davidson@vyatta.com> Thu, 16 May 2013 10:20:53 -0700
+
+vyatta-cfg-system (0.20.42+daisy18) unstable; urgency=low
+
+ * Replace original config file handling behaviour
+
+ -- James Davidson <james.davidson@vyatta.com> Mon, 15 Apr 2013 14:26:25 -0700
+
+vyatta-cfg-system (0.20.42+daisy17) unstable; urgency=low
+
+ * Bugfix 8711: Switch to Bash syntax for conditionals
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 12 Apr 2013 14:16:11 -0700
+
+vyatta-cfg-system (0.20.42+daisy16) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * ethernet: deleting device should put in admin down
+
+ [ John Southworth ]
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 12 Apr 2013 09:28:34 -0700
+
+vyatta-cfg-system (0.20.42+daisy15) unstable; urgency=low
+
+ * Bugfix 8526: don't use REQUIRED on remote-ip
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 12 Apr 2013 09:26:47 -0700
+
+vyatta-cfg-system (0.20.42+daisy14) unstable; urgency=low
+
+ * Bugfix 8804
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 12 Apr 2013 09:13:36 -0700
+
+vyatta-cfg-system (0.20.42+daisy13) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * snmpv3: enable strict warnings and fix perlcritic
+ * fix device naming on boot
+
+ [ James Davidson ]
+
+ -- James Davidson <james.davidson@vyatta.com> Tue, 02 Apr 2013 08:52:37 -0700
+
+vyatta-cfg-system (0.20.42+daisy12) unstable; urgency=low
+
+ * Fix typo in domain-name delete action
+
+ -- James Davidson <james.davidson@vyatta.com> Mon, 01 Apr 2013 09:26:05 -0700
+
+vyatta-cfg-system (0.20.42+daisy11) unstable; urgency=low
+
+ * SNMP: Add multicast smux peers
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 20 Mar 2013 09:07:37 -0700
+
+vyatta-cfg-system (0.20.42+daisy10) unstable; urgency=low
+
+ * Sync up SNMPv3 support
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 06 Mar 2013 11:24:17 -0800
+
+vyatta-cfg-system (0.20.42+daisy9) unstable; urgency=low
+
+ * mGRE bug fixes local-ip address changes and v6 check.
+
+ -- Saurabh Mohan <saurabh@vyatta.com> Tue, 12 Feb 2013 16:11:05 -0800
+
+vyatta-cfg-system (0.20.42+daisy8) unstable; urgency=low
+
+ * Initial SNMPv3 support
+
+ -- James Davidson <james.davidson@vyatta.com> Tue, 12 Feb 2013 13:39:56 -0800
+
+vyatta-cfg-system (0.20.42+daisy7) unstable; urgency=low
+
+ * Skip biosdevname if running in Xen
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 06 Feb 2013 15:27:01 -0800
+
+vyatta-cfg-system (0.20.42+daisy6) unstable; urgency=low
+
+ * Add ability to restart services when hostname changes
+
+ -- James Davidson <james.davidson@vyatta.com> Tue, 29 Jan 2013 09:58:49 -0800
+
+vyatta-cfg-system (0.20.42+daisy5) unstable; urgency=low
+
+ * Dmvpn merge with mirantis jan22-2013
+
+ -- Saurabh Mohan <saurabh@vyatta.com> Tue, 22 Jan 2013 12:30:35 -0800
+
+vyatta-cfg-system (0.20.42+daisy4) unstable; urgency=low
+
+ * Bug 7856: Set default neighbour table size to 8192
+
+ -- James Davidson <james.davidson@vyatta.com> Tue, 08 Jan 2013 15:14:20 -0800
+
+vyatta-cfg-system (0.20.42+daisy3) unstable; urgency=low
+
+ * mgre support initial commit.
+
+ -- Saurabh Mohan <saurabh@vyatta.com> Wed, 26 Dec 2012 15:31:07 -0800
+
+vyatta-cfg-system (0.20.42+daisy2) unstable; urgency=low
+
+ * revert 918bd40d3e3f238a800b1486f70e2d5ee1d71a72
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 12 Dec 2012 14:40:34 -0800
+
+vyatta-cfg-system (0.20.42+daisy1) unstable; urgency=low
+
+ * create daisy branch
+
+ -- John Southworth <john.southworth@vyatta.com> Sat, 13 Oct 2012 13:30:43 -0700
+
+vyatta-cfg-system (0.20.42) unstable; urgency=low
+
+ * new branch
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 12 Oct 2012 19:46:58 -0700
+
+vyatta-cfg-system (0.20.41) unstable; urgency=low
+
+ * Bug 8423 move serial interfaces to vyatta-serial
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 08 Oct 2012 22:32:02 -0700
+
+vyatta-cfg-system (0.20.40) unstable; urgency=low
+
+ * Bugfix 8423 add interface types to netdevice
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 08 Oct 2012 21:27:40 -0700
+
+vyatta-cfg-system (0.20.39) unstable; urgency=low
+
+ * Bugfix 8410: give warning when config didn't load properly and
+ passwords have been changed
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 05 Oct 2012 17:38:42 -0700
+
+vyatta-cfg-system (0.20.38) unstable; urgency=low
+
+ * Commit and save password changes only once
+
+ -- James Davidson <james.davidson@vyatta.com> Tue, 02 Oct 2012 15:33:54 -0700
+
+vyatta-cfg-system (0.20.37) unstable; urgency=low
+
+ * Bugfix 8356: Fix ARP flux with VRRP addresses
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 01 Oct 2012 23:12:07 -0700
+
+vyatta-cfg-system (0.20.36) unstable; urgency=low
+
+ * Bugfix 8290: Detect original unsalted password
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 25 Sep 2012 10:17:09 -0700
+
+vyatta-cfg-system (0.20.35) unstable; urgency=low
+
+ * Do not check disabled accounts for default password
+
+ -- James Davidson <james.davidson@vyatta.com> Fri, 21 Sep 2012 14:17:25 -0700
+
+vyatta-cfg-system (0.20.34) unstable; urgency=low
+
+ * Set hostname after updating hosts file
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 19 Sep 2012 11:56:39 -0700
+
+vyatta-cfg-system (0.20.33) unstable; urgency=low
+
+ * fix for 8372 - Unclear which user ID the changed administrator
+ password applies to
+
+ -- Deepti Kulkarni <deepti@vyatta.com> Tue, 18 Sep 2012 16:58:30 -0700
+
+vyatta-cfg-system (0.20.32) unstable; urgency=low
+
+ * Bugfix 8359: When deleteing vti interface use tunnel interface mode
+ ipip
+
+ -- Saurabh Mohan <saurabh@vyatta.com> Tue, 18 Sep 2012 12:36:43 -0700
+
+vyatta-cfg-system (0.20.31) unstable; urgency=low
+
+ * Update /etc/hosts when host name and domain name changes
+
+ -- James Davidson <james.davidson@vyatta.com> Mon, 10 Sep 2012 09:16:18 -0700
+
+vyatta-cfg-system (0.20.30) unstable; urgency=low
+
+ * Set system password also when resetting admin password
+
+ -- James Davidson <james.davidson@vyatta.com> Thu, 06 Sep 2012 11:09:56 -0700
+
+vyatta-cfg-system (0.20.29) unstable; urgency=low
+
+ * Bugfix 8326
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 05 Sep 2012 14:13:13 -0700
+
+vyatta-cfg-system (0.20.28) unstable; urgency=low
+
+ * Configure logrotate to maintain log file ownership
+
+ -- James Davidson <james.davidson@vyatta.com> Tue, 04 Sep 2012 18:31:25 -0700
+
+vyatta-cfg-system (0.20.27) unstable; urgency=low
+
+ * Bugfix 6967: Test if an address is already applied to an interface
+ before attempting to apply it
+ * Bugfix 8290
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 04 Sep 2012 16:40:49 -0700
+
+vyatta-cfg-system (0.20.26) unstable; urgency=low
+
+ * Force Xen installs to use ext3 without write barriers
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 29 Aug 2012 11:04:41 -0700
+
+vyatta-cfg-system (0.20.25) unstable; urgency=low
+
+ * Revert "Write barriers don't work on all devices, disable them"
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 28 Aug 2012 15:46:25 -0700
+
+vyatta-cfg-system (0.20.24) unstable; urgency=low
+
+ * Write barriers don't work on all devices, disable them
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 28 Aug 2012 13:37:05 -0700
+
+vyatta-cfg-system (0.20.23) unstable; urgency=low
+
+ * Allow deleting unknown user
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 17 Aug 2012 13:11:58 -0700
+
+vyatta-cfg-system (0.20.22) unstable; urgency=low
+
+ * Allow any mtu for bonding vif
+ * Fix filecaps for xtables
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Thu, 16 Aug 2012 09:28:28 -0700
+
+vyatta-cfg-system (0.20.21) unstable; urgency=low
+
+ * Remove support for ssh protocol version
+ * fix iptables file attributes
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 15 Aug 2012 16:15:25 -0700
+
+vyatta-cfg-system (0.20.20) unstable; urgency=low
+
+ * Fix path to iptables
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 14 Aug 2012 11:15:55 -0700
+
+vyatta-cfg-system (0.20.19) unstable; urgency=low
+
+ * Add support for network device prefix table
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 14 Aug 2012 10:52:03 -0700
+
+vyatta-cfg-system (0.20.18) unstable; urgency=low
+
+ * Bugfix 8241: VTI Sync up the mtu range check with what the kernel
+ module accepts.
+
+ -- Saurabh Mohan <saurabh@vyatta.com> Thu, 09 Aug 2012 14:13:33 -0700
+
+vyatta-cfg-system (0.20.17) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Minor typo in bonding help
+
+ [ James Davidson ]
+ * Restart rsyslog when system time-zone changes
+
+ -- James Davidson <james.davidson@vyatta.com> Fri, 03 Aug 2012 09:22:35 -0700
+
+vyatta-cfg-system (0.20.16) unstable; urgency=low
+
+ * Use hash map of addresses to interfaces
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 22 Jun 2012 15:51:45 -0700
+
+vyatta-cfg-system (0.20.15) unstable; urgency=low
+
+ * Bugfix 8115: reset miimon on arp-montior deletion
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 19 Jun 2012 09:13:58 -0700
+
+vyatta-cfg-system (0.20.14) unstable; urgency=low
+
+ * Fix help on for USB serial console
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 13 Jun 2012 15:35:50 -0700
+
+vyatta-cfg-system (0.20.13) unstable; urgency=low
+
+ * Allow USB console in Grub setup
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 12 Jun 2012 15:06:20 -0700
+
+vyatta-cfg-system (0.20.12) unstable; urgency=low
+
+ * Allow USB serial console
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 12 Jun 2012 15:00:05 -0700
+
+vyatta-cfg-system (0.20.11) unstable; urgency=low
+
+ * VTI delete check for reference under vpn.
+
+ -- Saurabh Mohan <saurabh@vyatta.com> Mon, 11 Jun 2012 17:49:22 -0700
+
+vyatta-cfg-system (0.20.10) unstable; urgency=low
+
+ * Vti tunnel config support.
+
+ -- Saurabh Mohan <saurabh@vyatta.com> Wed, 16 May 2012 16:09:45 -0700
+
+vyatta-cfg-system (0.20.9) unstable; urgency=low
+
+ * Change default to No when not enough space to save config
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 16 May 2012 11:02:40 -0700
+
+vyatta-cfg-system (0.20.8) unstable; urgency=low
+
+ * Move VRRP to its own package
+ * Remove vrrp files from Makefile
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 15 May 2012 20:48:00 -0700
+
+vyatta-cfg-system (0.20.7) unstable; urgency=low
+
+ * Remove vrrp operational scripts from vyatta-cfg-system
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 15 May 2012 11:37:48 -0700
+
+vyatta-cfg-system (0.20.6) unstable; urgency=low
+
+ * Turn on vrrp snmp traps by default
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 07 May 2012 18:06:57 -0700
+
+vyatta-cfg-system (0.20.5) unstable; urgency=low
+
+ * vif: remove check for flags when creating VIF
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 24 Apr 2012 09:00:33 -0700
+
+vyatta-cfg-system (0.20.4) unstable; urgency=low
+
+ * Return success on stop if telnetd service is not running
+ * 0.20.3
+ * Use rsyslog to trigger log rotation
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 18 Apr 2012 11:06:01 -0700
+
+vyatta-cfg-system (0.20.3) unstable; urgency=low
+
+ * Return success on stop if telnetd service is not running
+
+ -- James Davidson <james.davidson@vyatta.com> Wed, 18 Apr 2012 11:02:22 -0700
+
+vyatta-cfg-system (0.20.2) unstable; urgency=low
+
+ * Fix minor perlcritc warning in vrrp-state
+ * Replace intf->carrier() check with intf->running()
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 10 Apr 2012 18:29:28 -0700
+
+vyatta-cfg-system (0.20.1) unstable; urgency=low
+
+ * Add dependency on dialog package
+ * Add network console support
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 04 Apr 2012 15:41:45 -0700
+
+vyatta-cfg-system (0.19.176) unstable; urgency=low
+
+ [ Jon Andersson ]
+ * Bugfix 7976: Move the test to update: to allow addresses to be
+ configured
+
+ [ John Southworth ]
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 27 Mar 2012 08:18:19 -0700
+
+vyatta-cfg-system (0.19.175) unstable; urgency=low
+
+ * new branch
+
+ -- Deepti Kulkarni <deepti@vyatta.com> Sat, 03 Mar 2012 02:25:38 -0800
+
+vyatta-cfg-system (0.19.174) unstable; urgency=low
+
+ * bug fix for 7489 - Added warning message on delete system console
+
+ -- Deepti Kulkarni <deepti@vyatta.com> Thu, 01 Mar 2012 06:29:12 -0800
+
+vyatta-cfg-system (0.19.173) unstable; urgency=low
+
+ * Bugfix 7555: Allow users to import keys when using loadkey
+ * forgot to use io::prompt
+
+ -- John Southworth <john.southworth@vyatta.com> Thu, 01 Mar 2012 00:52:22 +0000
+
+vyatta-cfg-system (0.19.172) unstable; urgency=low
+
+ * Bugfix 7555: allow users to import ssh keys when running add system
+ image
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 29 Feb 2012 22:55:45 +0000
+
+vyatta-cfg-system (0.19.171) unstable; urgency=low
+
+ * Cleanup interface statistic clear files on reboot
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 21 Feb 2012 21:22:56 -0800
+
+vyatta-cfg-system (0.19.170) unstable; urgency=low
+
+ * Fix server property option
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 21 Feb 2012 13:20:52 -0800
+
+vyatta-cfg-system (0.19.169) unstable; urgency=low
+
+ * Disable reboot on ctrl-alt-del
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 21 Feb 2012 12:23:28 -0800
+
+vyatta-cfg-system (0.19.168) unstable; urgency=low
+
+ * Remove reference to init-floppy
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 21 Feb 2012 11:09:38 -0800
+
+vyatta-cfg-system (0.19.167) unstable; urgency=low
+
+ * Fix spelling errors in install image
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 21 Feb 2012 10:56:55 -0800
+
+vyatta-cfg-system (0.19.166) unstable; urgency=low
+
+ * Bug #7787: Allow using custom command line arguments in transition
+ * Bug #7787: Modify VRRP templates to allow custom script arguments,
+ * Fix VRRP templates error string capitalization.
+
+ -- Daniil Baturin <daniil.baturin@vyatta.com> Sat, 18 Feb 2012 04:48:42 +0700
+
+vyatta-cfg-system (0.19.165) unstable; urgency=low
+
+ * snmp: add missing newline to config file
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 17 Feb 2012 11:48:53 -0800
+
+vyatta-cfg-system (0.19.164) unstable; urgency=low
+
+ * Fix typo in last SNMP change.
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 10 Feb 2012 11:57:32 -0800
+
+vyatta-cfg-system (0.19.163) unstable; urgency=low
+
+ * snmp: enable agentx
+ * fix path to ethtool
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Thu, 09 Feb 2012 11:15:43 -0800
+
+vyatta-cfg-system (0.19.162) unstable; urgency=low
+
+ * Fix missing space on postinst script
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 03 Feb 2012 16:29:28 -0800
+
+vyatta-cfg-system (0.19.161) unstable; urgency=low
+
+ * Bugfix 7770
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 03 Feb 2012 14:00:03 -0800
+
+vyatta-cfg-system (0.19.160) unstable; urgency=low
+
+ * Allow operator users to run dmidecode so show version works for them
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 30 Jan 2012 22:43:51 +0000
+
+vyatta-cfg-system (0.19.159) unstable; urgency=low
+
+ * Fix missing error (missing lecho) in install-system
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 24 Jan 2012 16:51:45 -0800
+
+vyatta-cfg-system (0.19.158) unstable; urgency=low
+
+ * Make disk label if necessary
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 20 Jan 2012 15:37:31 -0800
+
+vyatta-cfg-system (0.19.157) unstable; urgency=low
+
+ * Enforce length restriction on interface description
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Thu, 19 Jan 2012 19:05:36 -0800
+
+vyatta-cfg-system (0.19.156) unstable; urgency=low
+
+ * Fix check for pseudo-ethernet overlap
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Mon, 16 Jan 2012 10:26:21 -0800
+
+vyatta-cfg-system (0.19.155) unstable; urgency=low
+
+ * Check for conflict between pseudo-ethernet and bonding,bridging
+ * install: use sfdisk to get disk size
+ * install-system: use sfdisk to find drive size
+ * Check for existance of postconfig boot up script
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 11 Jan 2012 16:00:06 -0800
+
+vyatta-cfg-system (0.19.154) unstable; urgency=low
+
+ [ Jon Andersson ]
+ * Update to local_ip
+
+ [ Stephen Hemminger ]
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 09 Jan 2012 14:24:50 -0800
+
+vyatta-cfg-system (0.19.153) unstable; urgency=low
+
+ * Bugfix 7689: change vrrp auth_type detection 'simple' to 'plaintext-
+ password'
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 03 Jan 2012 16:46:02 -0800
+
+vyatta-cfg-system (0.19.152) unstable; urgency=low
+
+ * bonding: do not allow interface with VRRP to be enslaved
+ * bridge: check for VRRP
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 30 Dec 2011 11:09:11 -0800
+
+vyatta-cfg-system (0.19.151) unstable; urgency=low
+
+ * Move vrrp input filter creation to keepalived for faster transitions
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 28 Dec 2011 11:48:52 -0800
+
+vyatta-cfg-system (0.19.150) unstable; urgency=low
+
+ * Move vrrp vmac sysctls to interface initialization in keepalived
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 27 Dec 2011 10:34:23 -0800
+
+vyatta-cfg-system (0.19.149) unstable; urgency=low
+
+ * interfaces: don't add config for missing devices
+ * install: fix warning message when package is updated
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 21 Dec 2011 17:53:56 -0800
+
+vyatta-cfg-system (0.19.148) unstable; urgency=low
+
+ * Extra grat. arps are not needed for vmac interfaces
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 20 Dec 2011 16:17:58 -0800
+
+vyatta-cfg-system (0.19.147) unstable; urgency=low
+
+ * Verify user defined mac addresses are not VRRP mac addresses
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 14 Dec 2011 15:35:04 -0800
+
+vyatta-cfg-system (0.19.146) unstable; urgency=low
+
+ * Add filtering to transition scripts for vmac interfaces; Make
+ transition script able to detect if the interface is a vmac
+ interface before applying the vmac specific changes
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 12 Dec 2011 16:32:34 -0800
+
+vyatta-cfg-system (0.19.145) unstable; urgency=low
+
+ * Bug 7672: Don't execute check-params-on-reboot.d if config file
+
+ -- Daniil Baturin <daniil.baturin@vyatta.com> Tue, 13 Dec 2011 03:13:00 +0700
+
+vyatta-cfg-system (0.19.144) unstable; urgency=low
+
+ * sysctl: increase maximum allowed socket buffer
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 09 Dec 2011 11:06:08 -0800
+
+vyatta-cfg-system (0.19.143) unstable; urgency=low
+
+ * md: don't start unless needed
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 09 Dec 2011 09:16:25 -0800
+
+vyatta-cfg-system (0.19.142) unstable; urgency=low
+
+ * Fix sysctl application for vlan interfaes
+
+ -- John Southworth <john.southworth@vyatta.com> Thu, 08 Dec 2011 11:22:36 -0800
+
+vyatta-cfg-system (0.19.141) unstable; urgency=low
+
+ * Bugfix 7497: Include auth credentials when fetching the signature
+ file
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 06 Dec 2011 16:16:02 -0800
+
+vyatta-cfg-system (0.19.140) unstable; urgency=low
+
+ * Fix up formating of Vyatta specific HTTP options.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 06 Dec 2011 14:05:59 -0800
+
+vyatta-cfg-system (0.19.139) unstable; urgency=low
+
+ * Add parsing of vrrp interfaces so that 'show vrrp interfaces <vmac-
+ interface>' will do what the user intended.
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 06 Dec 2011 11:50:17 -0800
+
+vyatta-cfg-system (0.19.138) unstable; urgency=low
+
+ * make vyatta-interfaces.pl aware of vrrp interfaces
+ * Adjust the output of 'show vrrp' and 'show vrrp summary' for vmac
+ and address owner
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 06 Dec 2011 09:14:43 -0800
+
+vyatta-cfg-system (0.19.137) unstable; urgency=low
+
+ * Add HTTP headers to identify client and version.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 05 Dec 2011 17:45:10 -0800
+
+vyatta-cfg-system (0.19.136) unstable; urgency=low
+
+ * Set accept_local on vrrp interfaces so that transition from 'current
+ master that is not address owner' to 'address owner that is
+ requesting master' can occur
+ * 0.19.135
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 02 Dec 2011 14:49:40 -0800
+
+vyatta-cfg-system (0.19.135) unstable; urgency=low
+
+ * Set accept_local on vrrp interfaces so that transition from 'current
+ master that is not address owner' to 'address owner that is
+ requesting master' can occur
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 02 Dec 2011 14:49:22 -0800
+
+vyatta-cfg-system (0.19.134) unstable; urgency=low
+
+ * Add vrrp interface description for bonding vif
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 02 Dec 2011 11:20:32 -0800
+
+vyatta-cfg-system (0.19.133) unstable; urgency=low
+
+ * Change arp_filter for all to 0 to allow vrrp interfaces to override
+ the default of 1
+ * Adjust the sysctl values of vrrp interfaces on master/backup
+ transitions
+ * Add handling for address ownership (priority 255) in RFC complient
+ mode
+ * Add vrrp interface description
+
+ -- John Southworth <john.southworth@vyatta.com> Thu, 01 Dec 2011 16:52:00 -0800
+
+vyatta-cfg-system (0.19.132) unstable; urgency=low
+
+ * Move vyatta changes to sudoers to separate file
+ * change mode of /etc/sudoers.d/vyatta
+ * sudoers: expand ${bindir}
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 29 Nov 2011 13:57:50 -0800
+
+vyatta-cfg-system (0.19.131) unstable; urgency=low
+
+ * Display vmac interface name in "show vrrp interfaces ..." command
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 28 Nov 2011 18:06:04 -0800
+
+vyatta-cfg-system (0.19.130) unstable; urgency=low
+
+ * Support VRRP virtual MAC interfaces above bond and bond vif
+ interfaces
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 28 Nov 2011 15:41:39 -0800
+
+vyatta-cfg-system (0.19.129) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove unnecessary sudo on ethtool
+ * Fix perl deprecated warning with 5.14
+
+ [ Bob Gilligan ]
+ * Use new naming convention for VRRP virtual mac interfaces.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 28 Nov 2011 15:15:13 -0800
+
+vyatta-cfg-system (0.19.128) unstable; urgency=low
+
+ * Fix dyndns failure caused by commit:
+ 5d27f2ef302dc600ea737e9af4151041aa11a2e0
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 21 Nov 2011 08:19:57 -0800
+
+vyatta-cfg-system (0.19.127) unstable; urgency=low
+
+ * Adding CLI option for domain overrides for DNS forwarding, bug id
+ 4086
+
+ -- Gaurav Sinha <gaurav.sinha@vyatta.com> Wed, 09 Nov 2011 16:42:41 -0800
+
+vyatta-cfg-system (0.19.126) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Cleanup dynamic DNS script
+
+ [ Bob Gilligan ]
+ * First pass implementation of support for virtual MAC address
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 08 Nov 2011 16:04:53 -0800
+
+vyatta-cfg-system (0.19.125) unstable; urgency=low
+
+ * pseudo-ethernet remove incorrect template
+ * pseudo-ethernet: add support for proxy arp
+ * pseudo-ethernet: add VIF support
+ * Add support for macvlan mode
+ * Fix priority of vif for pseudo-ethernet
+ * Remove unnecessary sudo on bonding vif link detect script
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Thu, 03 Nov 2011 14:28:36 -0700
+
+vyatta-cfg-system (0.19.124) unstable; urgency=low
+
+ * Bugfix 7575 allow tshark to run as unprivileged user, tshark uses
+ dumpcap as the packet interface so dumpcap needs cap_net_raw and
+ cap_net_admin
+
+ -- John Southworth <john.southworth@vyatta.com> Thu, 20 Oct 2011 16:35:18 -0500
+
+vyatta-cfg-system (0.19.123) unstable; urgency=low
+
+ * allow rmmod without being root (with capability)
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Mon, 17 Oct 2011 10:36:57 -0700
+
+vyatta-cfg-system (0.19.122) unstable; urgency=low
+
+ * Bugfix 7551: Fix vlan address completion text
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 10 Oct 2011 19:06:30 -0500
+
+vyatta-cfg-system (0.19.121) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * snmp: remove unused enterprise-mib hook
+
+ [ Jon Andersson ]
+ * Bugfix 7553: Move the logic for delete from and end tag to a delete
+ tag
+
+ [ John Southworth ]
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 10 Oct 2011 16:16:33 -0500
+
+vyatta-cfg-system (0.19.120) unstable; urgency=low
+
+ * Bugfix 7492: Reset mac address to hw-id when the mac is deleted
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 27 Sep 2011 13:59:13 -0500
+
+vyatta-cfg-system (0.19.119) unstable; urgency=low
+
+ * Bugfix 7502: Get "add system image" to work on Xen
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 12 Oct 2011 17:20:38 -0700
+
+vyatta-cfg-system (0.19.118) unstable; urgency=low
+
+ * Bugfix 7488: Configure Xen PV console hvc0 in Vyatta config file.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 01 Sep 2011 18:11:32 -0700
+
+vyatta-cfg-system (0.19.117) unstable; urgency=low
+
+ * Bugfix 7469: Add support for installing onto Xen
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 31 Aug 2011 15:07:44 -0700
+
+vyatta-cfg-system (0.19.116) unstable; urgency=low
+
+ * Fix ipv6 tunnel template error
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 24 Aug 2011 10:17:49 -0700
+
+vyatta-cfg-system (0.19.115) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Cleanup vyatta-config-reboot-params
+ * Fix deprecated use of chown
+
+ [ John Southworth ]
+ * Bugfix 7461: Fix syntax problem when setting a mac address
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 23 Aug 2011 16:01:32 -0500
+
+vyatta-cfg-system (0.19.114) unstable; urgency=low
+
+ * Migration for bug 6900
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 15 Aug 2011 13:30:23 -0500
+
+vyatta-cfg-system (0.19.113) unstable; urgency=low
+
+ * Don't bring ethernet device up if it is disabled
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Thu, 11 Aug 2011 15:00:44 -0700
+
+vyatta-cfg-system (0.19.112) unstable; urgency=low
+
+ * Add encapsulation to IPv6 parameters deletion so that ipip6 tunnels
+ will work properly after a deletion.
+
+ -- John Southworth <john.southworth@vyatta.com> Thu, 11 Aug 2011 16:34:41 -0500
+
+vyatta-cfg-system (0.19.111) unstable; urgency=low
+
+ [ John Southworth ]
+ * Fix permission problems on /config during initial install
+
+ [ Jon Andersson ]
+ * Initial checkin of ipv6 tunnel support
+
+ [ John Southworth ]
+
+ -- John Southworth <john.southworth@vyatta.com> Thu, 11 Aug 2011 12:51:51 -0500
+
+vyatta-cfg-system (0.19.110) unstable; urgency=low
+
+ * bridge: allow setting mac address
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Mon, 08 Aug 2011 16:43:34 -0700
+
+vyatta-cfg-system (0.19.109) unstable; urgency=low
+
+ * 0.19.108
+ * fix missing command in debian/control
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Sun, 07 Aug 2011 20:46:26 -0700
+
+vyatta-cfg-system (0.19.108) unstable; urgency=low
+
+ * Force dependency on later vyatta-cfg package
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Sun, 07 Aug 2011 20:45:23 -0700
+
+vyatta-cfg-system (0.19.107) unstable; urgency=low
+
+ * ethernet: avoid needlessly setting mac address
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 05 Aug 2011 20:55:41 -0700
+
+vyatta-cfg-system (0.19.106) unstable; urgency=low
+
+ * Added to make "force" op-mode command accessible to user type
+
+ -- Deepti Kulkarni <deepti@vyatta.com> Wed, 27 Jul 2011 08:00:09 -0700
+
+vyatta-cfg-system (0.19.105) unstable; urgency=low
+
+ * Bugfix 7350: Allow default config.boot to be selected as config
+ file.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 17 Aug 2011 15:08:32 -0700
+
+vyatta-cfg-system (0.19.104) unstable; urgency=low
+
+ * Fix permission problems on /config during initial install
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 15 Jul 2011 20:49:15 -0700
+
+vyatta-cfg-system (0.19.103) unstable; urgency=low
+
+ * Bugfix 7070: Need to provide full path for irq-affinity.pl in
+ system()
+
+ -- Bob Gilligan <gilligan@vyatta.com> Sun, 14 Aug 2011 16:37:47 -0700
+
+vyatta-cfg-system (0.19.102) unstable; urgency=low
+
+ * Add hook to call a config migration script when upgrading from VSE
+ Demo.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 12 Aug 2011 17:30:00 -0700
+
+vyatta-cfg-system (0.19.101) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix duplicate detection of hypervisor
+
+ [ John Southworth ]
+ * Bugfix 7326: add /config/support directory by default
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 13 Jul 2011 15:56:08 -0500
+
+vyatta-cfg-system (0.19.100) unstable; urgency=low
+
+ * new branch
+
+ -- Deepti Kulkarni <deepti@vyatta.com> Thu, 07 Jul 2011 20:55:59 -0700
+
+vyatta-cfg-system (0.19.99) unstable; urgency=low
+
+ * Add more hypervisor detection logic
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 06 Jul 2011 10:20:24 -0700
+
+vyatta-cfg-system (0.19.98) unstable; urgency=low
+
+ * Move the is_uniq_address function to Interface.pm
+
+ -- John Southworth <john.southworth@vyatta.com> Tue, 05 Jul 2011 16:21:46 -0500
+
+vyatta-cfg-system (0.19.97) unstable; urgency=low
+
+ * bugfix 6801: check to see if the same address is configured on
+ another interface in the working config before allowing an address
+ to be set on an interface, allows for swapping addresses in the same
+ commit
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 01 Jul 2011 17:32:25 -0700
+
+vyatta-cfg-system (0.19.96) unstable; urgency=low
+
+ * Make add system image use the new config directory for copying files
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 24 Jun 2011 17:56:26 -0500
+
+vyatta-cfg-system (0.19.95) unstable; urgency=low
+
+ * Add better hypervisor detect logic
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 23 Jun 2011 16:26:27 -0700
+
+vyatta-cfg-system (0.19.94) unstable; urgency=low
+
+ * Revert "bonding: remove requirement of slaves existing before vif"
+ * Ignore new hypervisor_vendor binary
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 16 Jun 2011 18:28:11 -0400
+
+vyatta-cfg-system (0.19.93) unstable; urgency=low
+
+ * bonding: remove requirement of slaves existing before vif
+ * Add utility to find hypervisor vendor
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 16 Jun 2011 17:53:43 -0400
+
+vyatta-cfg-system (0.19.92) unstable; urgency=low
+
+ * Bugfix 5856: Add username and password options.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 14 Jul 2011 09:51:17 -0700
+
+vyatta-cfg-system (0.19.91) unstable; urgency=low
+
+ * Move the mtu settings out of the main inteface priority subtree as a
+ failure boundry
+
+ -- John Southworth <john.southworth@vyatta.com> Wed, 08 Jun 2011 17:26:52 -0500
+
+vyatta-cfg-system (0.19.90) unstable; urgency=low
+
+ * Always log authorization messages
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 01 Jun 2011 13:46:49 +0900
+
+vyatta-cfg-system (0.19.89) unstable; urgency=low
+
+ * alternative fix for bug 6958
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Wed, 25 May 2011 13:44:44 -0700
+
+vyatta-cfg-system (0.19.88) unstable; urgency=low
+
+ * don't assume hw-id exists since it can be deleted
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 23 May 2011 08:41:52 -0700
+
+vyatta-cfg-system (0.19.87) unstable; urgency=low
+
+ * irq-affinity: more fixup
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 20 May 2011 11:14:21 -0700
+
+vyatta-cfg-system (0.19.86) unstable; urgency=low
+
+ * irq-affinity: use sysfs to read cpu topology
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 20 May 2011 08:40:33 -0700
+
+vyatta-cfg-system (0.19.85) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * 0.19.82
+
+ [ Stig Thormodsrud ]
+ * Partial fix for 6393: keepalived shutdown too late - can cause lost
+ traffic
+ * 0.19.83
+
+ [ Stephen Hemminger ]
+ * Use syslog perror for debug option
+ * irq-affinity: fix handling of UP system
+
+ [ Stig Thormodsrud ]
+ * 0.19.84
+
+ [ Stephen Hemminger ]
+ * irq-affinity: initialize sockets to 1
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 20 May 2011 07:30:32 -0700
+
+vyatta-cfg-system (0.19.84) unstable; urgency=low
+
+ * Partial fix for 6393: keepalived shutdown too late - can cause lost
+ traffic
+ * 0.19.83
+
+ -- Stig Thormodsrud <stig@vyatta.com> Thu, 19 May 2011 17:16:01 -0700
+
+vyatta-cfg-system (0.19.83) unstable; urgency=low
+
+ * Partial fix for 6393: keepalived shutdown too late - can cause lost
+ traffic
+
+ -- Stig Thormodsrud <dev@vyatta.com> Mon, 16 May 2011 23:52:05 -0700
+
+vyatta-cfg-system (0.19.82) unstable; urgency=low
+
+ * Use syslog perror for debug option
+ * irq-affinity: fix handling of UP system
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 19 May 2011 08:10:13 -0700
+
+vyatta-cfg-system (0.19.81) unstable; urgency=low
+
+ * Fix calculation of number of cores on systems with more than one
+ socket.
+ * Bugfix: 6773 (again). Fix handling of single-queue NICs on MPs.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 17 May 2011 12:10:55 -0700
+
+vyatta-cfg-system (0.19.80) unstable; urgency=low
+
+ * Support more than 10 CPUs.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 17 May 2011 08:46:37 -0700
+
+vyatta-cfg-system (0.19.79) unstable; urgency=low
+
+ * Fix 5912: "show vrrp" doesn't list sync-group
+
+ -- Stig Thormodsrud <stig@vyatta.com> Wed, 18 May 2011 12:25:33 -0700
+
+vyatta-cfg-system (0.19.78) unstable; urgency=low
+
+ * irq-affinity: add workaround to avoid some cpu's
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 17 May 2011 16:16:57 -0700
+
+vyatta-cfg-system (0.19.77) unstable; urgency=low
+
+ * Fix grub syntax error
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 17 May 2011 08:51:43 -0700
+
+vyatta-cfg-system (0.19.76) unstable; urgency=low
+
+ * eliminate hard-coded commit hook directory
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 16 May 2011 20:11:38 -0700
+
+vyatta-cfg-system (0.19.75) unstable; urgency=low
+
+ * smp-affinity: fix typo for assign_multiqueue
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 16 May 2011 16:24:57 -0700
+
+vyatta-cfg-system (0.19.74) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove unused parts of rl-system.init
+
+ [ John Southworth ]
+ * Bugfix 7076: make add system image copy to /config instead of
+ /opt/vyatta/etc/config
+
+ -- John Southworth <john.southworth@vyatta.com> Fri, 13 May 2011 11:55:40 -0500
+
+vyatta-cfg-system (0.19.73) unstable; urgency=low
+
+ * Fix Bug 7012 make /config available with init-floppy
+
+ -- Mohit Mehta <mohit@vyatta.com> Wed, 11 May 2011 11:33:15 -0700
+
+vyatta-cfg-system (0.19.72) unstable; urgency=low
+
+ * support interactive mode for rest api for install image op mode
+ commands.
+
+ -- Michael Larson <mike@vyatta.com> Tue, 10 May 2011 14:22:05 -0700
+
+vyatta-cfg-system (0.19.71) unstable; urgency=low
+
+ * changes for new commit
+ * more changes for new commit
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Tue, 10 May 2011 09:33:55 +0800
+
+vyatta-cfg-system (0.19.70) unstable; urgency=low
+
+ * Support netxen NIC irq naming convention
+ * Convert mac octets from hex
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 09 May 2011 09:40:24 -0700
+
+vyatta-cfg-system (0.19.69) unstable; urgency=low
+
+ * Update help for console speed
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 06 May 2011 12:10:08 -0700
+
+vyatta-cfg-system (0.19.68) unstable; urgency=low
+
+ * Update grub config to new syntax
+ * Make ext4 the default file system type
+ * Using ext4 for filesystem depends on newer version of grub
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 05 May 2011 08:26:20 -0700
+
+vyatta-cfg-system (0.19.67) unstable; urgency=low
+
+ * Align install-image partition correctly
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 04 May 2011 17:26:37 -0700
+
+vyatta-cfg-system (0.19.66) unstable; urgency=low
+
+ * Adjust root partition offset based on disk size
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 03 May 2011 19:54:12 -0700
+
+vyatta-cfg-system (0.19.65) unstable; urgency=low
+
+ * Make irq affinity handle any irq naming convention
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 03 May 2011 16:38:40 -0700
+
+vyatta-cfg-system (0.19.64) unstable; urgency=low
+
+ * Fix irq-affinity mapping for multiqueue NIC's
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 02 May 2011 16:45:04 -0700
+
+vyatta-cfg-system (0.19.63) unstable; urgency=low
+
+ * Yet another better alignment start
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Sat, 30 Apr 2011 10:32:50 -0700
+
+vyatta-cfg-system (0.19.62) unstable; urgency=low
+
+ * Fix alignment of root partition
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Sat, 30 Apr 2011 09:49:31 -0700
+
+vyatta-cfg-system (0.19.61) unstable; urgency=low
+
+ * Tell parted to align disk partition
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 28 Apr 2011 17:00:08 -0700
+
+vyatta-cfg-system (0.19.60) unstable; urgency=low
+
+ * Remove unsuccessful attempt to blacklist PC speaker
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 Apr 2011 14:37:10 -0700
+
+vyatta-cfg-system (0.19.59) unstable; urgency=low
+
+ * Fix Bug 6811 ENH: add a proper post-configuration boot script
+
+ -- Mohit Mehta <mohit@vyatta.com> Wed, 20 Apr 2011 14:25:26 -0700
+
+vyatta-cfg-system (0.19.58) unstable; urgency=low
+
+ * * run start-up script vyatta-config-reboot-params very early in boot
+ process
+
+ -- Mohit Mehta <mohit@vyatta.com> Mon, 18 Apr 2011 18:14:09 -0700
+
+vyatta-cfg-system (0.19.57) unstable; urgency=low
+
+ * * Add help and checks for VRRP transition-script nodes
+
+ -- Mohit Mehta <mohit@vyatta.com> Wed, 13 Apr 2011 18:02:09 -0700
+
+vyatta-cfg-system (0.19.56) unstable; urgency=low
+
+ * fix typo in irq-affinity
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 13 Apr 2011 11:41:52 -0700
+
+vyatta-cfg-system (0.19.55) unstable; urgency=low
+
+ * Bonding script typo
+ * Fix irq naming convention mapping code
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 13 Apr 2011 09:09:46 -0700
+
+vyatta-cfg-system (0.19.54) unstable; urgency=low
+
+ * Fix wrong name in get_irq_affinity
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 12 Apr 2011 09:30:15 -0700
+
+vyatta-cfg-system (0.19.53) unstable; urgency=low
+
+ * Reset irq affinity when adding interface to bond group
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 30 Mar 2011 15:08:39 -0700
+
+vyatta-cfg-system (0.19.52) unstable; urgency=low
+
+ * Remove these priorities as they are not needed. They are from an
+ earlier community submitted patch see bug 5491
+ * Bugfix 6958: only call cleanup script for tunnel modules on the last
+ sibling deletion
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 28 Mar 2011 18:19:32 -0500
+
+vyatta-cfg-system (0.19.51) unstable; urgency=low
+
+ * Update copybreak module param list
+ * Fix use of uninitialized ospeed
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 25 Mar 2011 15:40:06 -0700
+
+vyatta-cfg-system (0.19.50) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove rsyslog logrotate file
+
+ [ Robert Bays ]
+ * fix for bug 6919: Console settings don't support hvc0 for xen
+ * updated fix for bug 6919: Console settings don't support hvc0 for
+ xen
+ * match console type only once.
+
+ [ Stephen Hemminger ]
+ * Handle irq assignment on multiqueue NIC
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 16 Mar 2011 12:22:23 -0700
+
+vyatta-cfg-system (0.19.49) unstable; urgency=low
+
+ * Don't set speed duplex twice
+ * Remove flag file at end of transaction
+ * Speed/duplex setup improvements
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 11 Mar 2011 14:56:40 -0800
+
+vyatta-cfg-system (0.19.48) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix typo in domain name regex
+
+ [ Michael Larson ]
+ * fix for bug 6081. Warning, but allow commit to proceed if duplicate
+ address is found.
+
+ -- Michael Larson <mike@vyatta.com> Thu, 10 Mar 2011 10:53:58 -0800
+
+vyatta-cfg-system (0.19.47) unstable; urgency=low
+
+ * Test for ipv6 blacklist when configuring SNMP
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 08 Mar 2011 09:49:14 -0800
+
+vyatta-cfg-system (0.19.46) unstable; urgency=low
+
+ * Fix SNMP ifAlias for more than 10 devices
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 07 Mar 2011 16:13:26 -0800
+
+vyatta-cfg-system (0.19.45) unstable; urgency=low
+
+ * Fix network name scan for wireless
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 03 Mar 2011 15:33:17 -0800
+
+vyatta-cfg-system (0.19.44) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix script to handle more than 10 interfaces
+
+ [ John Southworth ]
+ * Bugfix 5491: Allow tunnel parameters to be changed on a
+ preconfigured tunnel
+
+ -- John Southworth <john.southworth@vyatta.com> Thu, 03 Mar 2011 11:38:19 -0600
+
+vyatta-cfg-system (0.19.43) unstable; urgency=low
+
+ * Warn if attempting to force mask on multiqueue NIC
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 01 Mar 2011 11:25:55 -0800
+
+vyatta-cfg-system (0.19.42) unstable; urgency=low
+
+ * Workaround Xen NIC address
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 25 Feb 2011 11:23:30 -0800
+
+vyatta-cfg-system (0.19.41) unstable; urgency=low
+
+ * Increase upper limit of IPV6 route table
+ * Handle Vmware mulitqueue naming convention
+ * Don't set irq affinity if device is disabled
+ * Validate domain and host name
+ * Change where ipv6 route table size is increased
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 25 Feb 2011 10:38:17 -0800
+
+vyatta-cfg-system (0.19.40) unstable; urgency=low
+
+ * Use standard mechanism to start/stop snmp
+ * Handle case of device with no active IRQ
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 22 Feb 2011 10:07:39 -0800
+
+vyatta-cfg-system (0.19.39) unstable; urgency=low
+
+ * Fix syslog not reloading properly after changing the log level
+
+ -- John Southworth <john.southworth@vyatta.com> Mon, 07 Feb 2011 14:24:31 -0600
+
+vyatta-cfg-system (0.19.38) unstable; urgency=low
+
+ * Bugfix 6773: Spread load of single-queue NICs across all CPUs.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 03 Feb 2011 00:30:03 -0800
+
+vyatta-cfg-system (0.19.37) unstable; urgency=low
+
+ [ Mohit Mehta ]
+ * Fix Bug 6696 Internal error for release/renew dhcp interface under
+ op mode
+
+ [ Robert Bays ]
+ * Fix grammar error in help string.
+
+ [ Bob Gilligan ]
+ * Bugfix 6156: Allow time for renaming to complete before running
+ biosdevname
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 01 Feb 2011 10:52:49 -0800
+
+vyatta-cfg-system (0.19.36) unstable; urgency=low
+
+ [ Robert Bays ]
+ * Fix grammar error in help string.
+
+ [ Mohit Mehta ]
+ * use val_help to present valid info for node
+
+ -- Mohit Mehta <mohit@vyatta.com> Mon, 31 Jan 2011 12:56:34 -0800
+
+vyatta-cfg-system (0.19.35) unstable; urgency=low
+
+ * Fix Bug 6696 Internal error for release/renew dhcp interface under
+ op mode
+
+ -- Mohit Mehta <mohit@vyatta.com> Thu, 27 Jan 2011 13:54:04 -0800
+
+vyatta-cfg-system (0.19.34) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Pass interface name correctly when deleting dhcpv6
+
+ [ Stig Thormodsrud ]
+ * Fix 6501: "clear vrrp master interface <interface> group <group>"
+ doesnt work with sync groups.
+
+ [ Stephen Hemminger ]
+ * Rearrange priority for pseudo-ethernet
+ * Rearrange priority for pseudo-ethernet
+
+ [ Stig Thormodsrud ]
+ * Fix vrrp duplicate generation of last sync-group entry.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Wed, 26 Jan 2011 15:43:08 -0800
+
+vyatta-cfg-system (0.19.33) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Revert "Add debug logging."
+ * Add logging to coldplug
+ * Add more debug output
+ * Don't fail if config.boot does not exist
+ * Pass interface name correctly when deleting dhcpv6
+
+ [ Stig Thormodsrud ]
+ * Fix 6501: "clear vrrp master interface <interface> group <group>"
+ doesnt work with sync groups.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Tue, 25 Jan 2011 11:14:33 -0800
+
+vyatta-cfg-system (0.19.32) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Change for rsyslog reload
+
+ [ Bob Gilligan ]
+ * Add debug logging.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 20 Jan 2011 22:25:40 -0800
+
+vyatta-cfg-system (0.19.31) unstable; urgency=low
+
+ * Remove call to tshark during vrrp state transition.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Thu, 20 Jan 2011 18:18:26 -0800
+
+vyatta-cfg-system (0.19.30) unstable; urgency=low
+
+ [ Bob Gilligan ]
+ * Bugfix 6684: Don't delete wanpipe config files.
+ * Bugfix 6156: Policy must be given on command line.
+ * Bugfix 6668: Check to see if log files need rotation hourly.
+ * Bugfix 6687: Need to explicitly specify the RAID metadata version
+ number.
+ * Bugfix 6684: Don't delete wanpipe config files.
+
+ [ Stephen Hemminger ]
+ * Cleanup old net-rules on upgrade
+
+ [ Bob Gilligan ]
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 19 Jan 2011 20:10:16 -0800
+
+vyatta-cfg-system (0.19.29) unstable; urgency=low
+
+ * Bugfix 6687: Need to explicitly specify the RAID metadata version
+ number.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 17 Jan 2011 23:05:43 -0800
+
+vyatta-cfg-system (0.19.28) unstable; urgency=low
+
+ * Bugfix 6668: Check to see if log files need rotation hourly.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 17 Jan 2011 19:47:35 -0800
+
+vyatta-cfg-system (0.19.27) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Change priority of bonding device address
+
+ [ Bob Gilligan ]
+ * Bugfix 6156: Policy must be given on command line.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Sun, 16 Jan 2011 23:06:37 -0800
+
+vyatta-cfg-system (0.19.26) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix check for broadcast address
+
+ [ Mohit Mehta ]
+ * Fix Bug 6599 ha_logd starting up by default
+ * skip 'new branch' commit from mendocino when using merge-branch
+
+ -- Mohit Mehta <mohit@vyatta.com> Tue, 04 Jan 2011 17:50:17 -0800
+
+vyatta-cfg-system (0.19.25) unstable; urgency=low
+
+ * new branch
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Tue, 28 Dec 2010 13:47:51 -0800
+
+vyatta-cfg-system (0.19.24) unstable; urgency=low
+
+ * Add more error recovery and disk space checking.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 22 Dec 2010 02:34:19 -0800
+
+vyatta-cfg-system (0.19.23) unstable; urgency=low
+
+ * Affinity script was failing to configure some queues of multi-queue
+ NICs.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 22 Dec 2010 01:23:08 -0800
+
+vyatta-cfg-system (0.19.22) unstable; urgency=low
+
+ * Add path to SSH V1 host key to config
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 17 Dec 2010 11:23:31 -0800
+
+vyatta-cfg-system (0.19.21) unstable; urgency=low
+
+ * Don't regenerate ssh v1 key
+ * Add checking of protocol-version value
+ * Fix help for name-server
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 16 Dec 2010 13:20:55 -0800
+
+vyatta-cfg-system (0.19.20) unstable; urgency=low
+
+ * Fix 6554: clear vrrp master tab completion results in cli api error
+
+ -- Stig Thormodsrud <stig@vyatta.com> Fri, 10 Dec 2010 18:51:36 -0800
+
+vyatta-cfg-system (0.19.19) unstable; urgency=low
+
+ * Fix 6453: After configuring VRRP on interface, VRRP is not active
+ until VRRP is manually restared with "restart vrrp" command.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Fri, 10 Dec 2010 17:27:03 -0800
+
+vyatta-cfg-system (0.19.18) unstable; urgency=low
+
+ * Fix update of serial speed on all grub lines
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 10 Dec 2010 14:54:00 -0800
+
+vyatta-cfg-system (0.19.17) unstable; urgency=low
+
+ * Allow telnet and ssh to start before routing protocols
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 06 Dec 2010 17:13:11 -0800
+
+vyatta-cfg-system (0.19.16) unstable; urgency=low
+
+ * Fix check for unspecified IPv6 address
+ * Move is_local_address to common code
+ * Allow Ipv6 addresses in resolv.conf
+ * Move touch() perl to Vyatta::File
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 06 Dec 2010 16:39:57 -0800
+
+vyatta-cfg-system (0.19.15) unstable; urgency=low
+
+ * Set up commit-revisions if configured after init-floppy.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sat, 04 Dec 2010 13:39:09 -0800
+
+vyatta-cfg-system (0.19.14) unstable; urgency=low
+
+ * Allow configuring console speed etc
+ * Allow more serial console lines
+ * Block accidental use of virtual consoles
+ * Mark the Vyatta specific section of inittab
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 02 Dec 2010 17:17:26 -0800
+
+vyatta-cfg-system (0.19.13) unstable; urgency=low
+
+ * Cleanup leftover ipv6_no_fwd files
+ * Set group ownership and permissions on /var/run/vyatta
+ * Fix delete of mac address on bonding interface
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 02 Dec 2010 13:30:48 -0800
+
+vyatta-cfg-system (0.19.12) unstable; urgency=low
+
+ * Speed up install-system progress bar
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 01 Dec 2010 15:26:53 -0800
+
+vyatta-cfg-system (0.19.11) unstable; urgency=low
+
+ * Fix dhcpv6 client script
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 30 Nov 2010 14:21:39 -0800
+
+vyatta-cfg-system (0.19.10) unstable; urgency=low
+
+ * Add dhcpv6 options for all interfaces that support DHCP
+ * Add duplicate address check on commit
+ * Remove old code for address insertion/deletion/validation
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 30 Nov 2010 14:09:42 -0800
+
+vyatta-cfg-system (0.19.9) unstable; urgency=low
+
+ * Fix interface scanning on boot - allow more mac addresses
+ * Automatically configure physical device for wireless interfaces
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 29 Nov 2010 17:16:45 -0800
+
+vyatta-cfg-system (0.19.8) unstable; urgency=low
+
+ * Fix use of undefined in comparison
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 29 Nov 2010 16:06:03 -0800
+
+vyatta-cfg-system (0.19.7) unstable; urgency=low
+
+ * Remove module rather than deleting link device
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 29 Nov 2010 12:23:53 -0800
+
+vyatta-cfg-system (0.19.6) unstable; urgency=low
+
+ * Don't let biosdevname look at wireless devices
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 24 Nov 2010 16:50:26 -0800
+
+vyatta-cfg-system (0.19.5) unstable; urgency=low
+
+ * Fix tunnel cleanup script
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 24 Nov 2010 12:24:52 -0800
+
+vyatta-cfg-system (0.19.4) unstable; urgency=low
+
+ * Add cpufrequtils default config file
+ * Fix range checking on bridge port priority is limited to 0-63
+ * Revert "Don't need to rename vlan devices"
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 24 Nov 2010 09:38:45 -0800
+
+vyatta-cfg-system (0.19.3) unstable; urgency=low
+
+ [ Bob Gilligan ]
+ * Bugfix 6457: Don't ask the question if you're not going to like the
+ answer.
+ * 0.19.2
+
+ [ Stephen Hemminger ]
+ * Don't allow zero for VRRP priority or VRID
+ * Bonding should have same VRRP rules as Ethernet
+ * typo in tunnel cleanup
+ * Don't need to rename vlan devices
+ * Make scripts executable
+ * Improve performance of syntax checks for vrrp address
+ * Use sockets to check if IP address is local
+ * Use unlink rather than system() to remove files in keepalive script
+ * Remove check function from keepalived perl script
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 23 Nov 2010 19:03:23 -0800
+
+vyatta-cfg-system (0.19.2) unstable; urgency=low
+
+ [ Bob Gilligan ]
+ * Bugfix 6457: Don't ask the question if you're not going to like the
+ answer.
+
+ [ Stephen Hemminger ]
+ * Don't allow zero for VRRP priority or VRID
+ * Bonding should have same VRRP rules as Ethernet
+ * typo in tunnel cleanup
+
+ [ Bob Gilligan ]
+
+ -- Bob Gilligan <gilligan@vyatta.com> Sun, 21 Nov 2010 08:00:56 -0800
+
+vyatta-cfg-system (0.19.1) unstable; urgency=low
+
+ * Cleanup tunnel slave device on last delete
+ * Add utilities checking addresses
+ * Replace perl address validation with utility
+ * Use script vyatta-address to set interface
+ * Optimize lookup of local ip on tunnels
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 22 Nov 2010 12:57:15 -0800
+
+vyatta-cfg-system (0.18.21) unstable; urgency=low
+
+ * Bugfix 6101: Make a syslog record when a new image is added.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Sun, 21 Nov 2010 03:08:06 -0800
+
+vyatta-cfg-system (0.18.20) unstable; urgency=low
+
+ * Bring tunnel down before deleting
+ * When removing tunnel, remove encapsulation device
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 18 Nov 2010 16:45:22 -0800
+
+vyatta-cfg-system (0.18.19) unstable; urgency=low
+
+ * Add more checks for bridge/bond conflicts
+ * Add syntax check for bridge interface name
+ * Fix help for syslog
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 18 Nov 2010 13:14:48 -0800
+
+vyatta-cfg-system (0.18.18) unstable; urgency=low
+
+ * Add check for adding bridge-group and bond-group when setting
+ address
+ * Add check for interface address before putting it in bonded device
+ * Cleanup bridge port management
+ * Cleanup bond-group syntax and commit checks
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 17 Nov 2010 20:46:53 -0800
+
+vyatta-cfg-system (0.18.17) unstable; urgency=low
+
+ * Allow longer domain-name values
+ * Remove useless comment
+ * Add address checks to bonding
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 17 Nov 2010 15:58:01 -0800
+
+vyatta-cfg-system (0.18.16) unstable; urgency=low
+
+ * Add option to disable host validation (DNS) for SSH
+ * Add ability to configure SSH listen address
+ * Add ability to configure telnet listen-addres
+ * Need to restart telnet if port or listen-address changes
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 16 Nov 2010 16:25:44 -0800
+
+vyatta-cfg-system (0.18.15) unstable; urgency=low
+
+ * update call to error location api.
+
+ -- Michael Larson <mike@vyatta.com> Tue, 16 Nov 2010 09:34:32 -0800
+
+vyatta-cfg-system (0.18.14) unstable; urgency=low
+
+ * Restore IRQ affinity when device is renabled
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 15 Nov 2010 13:56:33 -0800
+
+vyatta-cfg-system (0.18.13) unstable; urgency=low
+
+ * Add hw-id for existing interfaces to config
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 15 Nov 2010 13:14:04 -0800
+
+vyatta-cfg-system (0.18.12) unstable; urgency=low
+
+ * Move cleanup of serial interface into rl-system.init
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 15 Nov 2010 10:43:27 -0800
+
+vyatta-cfg-system (0.18.11) unstable; urgency=low
+
+ * Add more checks on VLAN
+ * Change mode on all executable scripts
+ * remove deprecated linda override
+ * New IRQ affinity script and RPS support
+ * Fix irq-affinity for special cases
+ * Fix is_supported_speed matching
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 12 Nov 2010 14:51:08 -0800
+
+vyatta-cfg-system (0.18.10) unstable; urgency=low
+
+ * Fix path to ethtool
+ * Check speed and duplex settings on Ethernet interfaces
+ * Don't produce warnings for drivers that don't support ethtool
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 08 Nov 2010 15:13:17 -0800
+
+vyatta-cfg-system (0.18.9) unstable; urgency=low
+
+ * Add special case for single-queue NICs using multi-queue naming
+ format.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 04 Nov 2010 12:26:39 -0700
+
+vyatta-cfg-system (0.18.8) unstable; urgency=low
+
+ * Fix to show ifAlias of loopback
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 03 Nov 2010 13:39:06 -0700
+
+vyatta-cfg-system (0.18.7) unstable; urgency=low
+
+ * Remove non-functional commit test on mtu of vif
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 02 Nov 2010 13:06:34 -0700
+
+vyatta-cfg-system (0.18.6) unstable; urgency=low
+
+ * Allow setting MTU of VIF
+ * Priority change for bridging a bonded vif
+ * Priority change for bridging a bonded vif
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Tue, 02 Nov 2010 08:41:59 -0700
+
+vyatta-cfg-system (0.18.5) unstable; urgency=low
+
+ * Fix goto in vyatta-net.rules
+ * Add net-snmp ifAlias hook
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 29 Oct 2010 11:33:08 -0700
+
+vyatta-cfg-system (0.18.4) unstable; urgency=low
+
+ * fix for bug 6388
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 28 Oct 2010 18:14:26 -0700
+
+vyatta-cfg-system (0.18.3) unstable; urgency=low
+
+ * Don't rename vif and other non-driver interfaces
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 Oct 2010 11:08:12 -0700
+
+vyatta-cfg-system (0.18.2) unstable; urgency=low
+
+ * Fix set on uniproc machine
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 Oct 2010 10:53:42 -0700
+
+vyatta-cfg-system (0.18.1) unstable; urgency=low
+
+ * IRQ affinity update
+ * Update dependency on vyatta-cfg
+ * Add irqaffin to Makefile
+ * Fix overwrite of irq commands
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 Oct 2010 10:47:46 -0700
+
+vyatta-cfg-system (0.17.128) unstable; urgency=low
+
+ * Use pgrep to check if ntp running
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 26 Oct 2010 20:37:46 -0700
+
+vyatta-cfg-system (0.17.127) unstable; urgency=low
+
+ * Move config-mgmt to it's own package.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Tue, 26 Oct 2010 14:48:23 -0700
+
+vyatta-cfg-system (0.17.126) unstable; urgency=low
+
+ * Change vyatta_net_name into a perl script
+ * Sort the interface names when adding
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 26 Oct 2010 14:35:45 -0700
+
+vyatta-cfg-system (0.17.125) unstable; urgency=low
+
+ * Fix bond hash policy
+ * Fix typo in hash_policy
+ * Wait to bring up bond interface until end
+ * Add bonding ARP monitor parmeters
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 25 Oct 2010 10:20:08 -0700
+
+vyatta-cfg-system (0.17.124) unstable; urgency=low
+
+ * Fix commit-uri bug.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sat, 23 Oct 2010 12:14:47 -0700
+
+vyatta-cfg-system (0.17.123) unstable; urgency=low
+
+ * Fist pass at adding archive to uri on commit.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Fri, 22 Oct 2010 17:38:43 -0700
+
+vyatta-cfg-system (0.17.122) unstable; urgency=low
+
+ * Make empty config files readable
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 20 Oct 2010 17:34:06 -0700
+
+vyatta-cfg-system (0.17.121) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * keep serial console until configuration is working
+
+ [ An-Cheng Huang ]
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Tue, 19 Oct 2010 18:24:47 -0700
+
+vyatta-cfg-system (0.17.120) unstable; urgency=low
+
+ * Neuter the serial console config until it works
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 18 Oct 2010 12:00:29 -0700
+
+vyatta-cfg-system (0.17.119) unstable; urgency=low
+
+ * Fix syntax error in vyatta_update_console.pl.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sat, 16 Oct 2010 10:04:44 -0700
+
+vyatta-cfg-system (0.17.118) unstable; urgency=low
+
+ * Add ability to set transmit hash policy
+ * Handle error cases on console update
+ * 0.17.117
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 15 Oct 2010 15:56:56 -0700
+
+vyatta-cfg-system (0.17.117) unstable; urgency=low
+
+ [ root ]
+ * change to accessor for outputerror
+
+ [ Stephen Hemminger ]
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 15 Oct 2010 15:55:50 -0700
+
+vyatta-cfg-system (0.17.116) unstable; urgency=low
+
+ * Add ability to run modem getty
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 15 Oct 2010 10:35:46 -0700
+
+vyatta-cfg-system (0.17.115) unstable; urgency=low
+
+ * Change speed in grub config as well
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 14 Oct 2010 17:23:31 -0700
+
+vyatta-cfg-system (0.17.114) unstable; urgency=low
+
+ * Add better control over console screen blanker
+ * Need sudo to change console settings
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 14 Oct 2010 16:58:42 -0700
+
+vyatta-cfg-system (0.17.113) unstable; urgency=low
+
+ * Turn off screen blanking on console
+ * Need to be root to write /etc/inittab
+ * Restore old motd and login banner
+ * Remove serial console before config
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 14 Oct 2010 16:18:35 -0700
+
+vyatta-cfg-system (0.17.112) unstable; urgency=low
+
+ * Add support for setting up serial console ports
+ * Fix email address in changelog
+ * Fix regexp used for disabling up serial with Xen
+ * Fix serial console setup functions
+ * Change syntax for console config
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 14 Oct 2010 15:08:42 -0700
+
+vyatta-cfg-system (0.17.111) unstable; urgency=low
+
+ * Revise new ntp server config
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 13 Oct 2010 18:12:44 -0700
+
+vyatta-cfg-system (0.17.110) unstable; urgency=low
+
+ * Migrate NTP server to services ntp
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 13 Oct 2010 18:04:09 -0700
+
+vyatta-cfg-system (0.17.109) unstable; urgency=low
+
+ * Add default vyatta rsyslog config rules
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 11 Oct 2010 12:22:30 -0700
+
+vyatta-cfg-system (0.17.108) unstable; urgency=low
+
+ * Add LSB support information to telnetd.init
+ * Add ubuntu changes to rsyslog
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Sun, 10 Oct 2010 11:42:35 -0700
+
+vyatta-cfg-system (0.17.107) unstable; urgency=low
+
+ [ root ]
+ * modified reference error location.
+
+ [ Stephen Hemminger ]
+ * Check if SNMP is running before starting
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Sat, 09 Oct 2010 15:51:50 -0700
+
+vyatta-cfg-system (0.17.106) unstable; urgency=low
+
+ * use new error reference location method
+
+ -- root <root@vyatta.com> Fri, 08 Oct 2010 12:13:11 -0700
+
+vyatta-cfg-system (0.17.105) unstable; urgency=low
+
+ * Convert from syslog to rsyslog
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 08 Oct 2010 17:12:41 -0700
+
+vyatta-cfg-system (0.17.104) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Add dependency on Squeeze version of udev
+ * Change udev network naming to be more cooperative
+ * Put udev rules in /lib/udev
+
+ [ Mohit Mehta ]
+ * moved code for zones to vyatta-zone package
+
+ -- Mohit Mehta <mohit@vyatta.com> Thu, 07 Oct 2010 19:16:02 -0700
+
+vyatta-cfg-system (0.17.103) unstable; urgency=low
+
+ * Update hwclockfirst fixup for Squeeze
+ * Fix sysklog dependency
+ * List rsyslog package dependency
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 07 Oct 2010 11:40:06 -0700
+
+vyatta-cfg-system (0.17.102) unstable; urgency=low
+
+ * * update count_iptables module usage
+
+ -- Mohit Mehta <mohit@vyatta.com> Tue, 21 Sep 2010 21:15:28 -0700
+
+vyatta-cfg-system (0.17.101) unstable; urgency=low
+
+ * * use count_iptables_rule from MISC module
+
+ -- Mohit Mehta <mohit@vyatta.com> Tue, 21 Sep 2010 17:37:14 -0700
+
+vyatta-cfg-system (0.17.100) unstable; urgency=low
+
+ * Bugfix 6210: Fix up case where login section is missing from config
+ file.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Sat, 18 Sep 2010 01:56:15 -0700
+
+vyatta-cfg-system (0.17.99) unstable; urgency=low
+
+ * fix init-floppy for squeeze
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 20 Sep 2010 15:23:36 -0700
+
+vyatta-cfg-system (0.17.98) unstable; urgency=low
+
+ * Bugfix 6210: Fix parsing of config file
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 17 Sep 2010 22:38:07 -0700
+
+vyatta-cfg-system (0.17.97) unstable; urgency=low
+
+ * partial fix for bug 6152
+ * more fixes for bug 6152
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 13 Sep 2010 18:53:48 -0700
+
+vyatta-cfg-system (0.17.96) unstable; urgency=low
+
+ * rename pre-mendocino ipv6 modprobe files to add .conf suffix
+
+ -- Mohit Mehta <mohit@vyatta.com> Mon, 13 Sep 2010 15:49:40 -0700
+
+vyatta-cfg-system (0.17.95) unstable; urgency=low
+
+ * Enforce username length restriction
+ * Fix quoting issues with conversion to lower case
+ * Fix quoting of shell -z
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 08 Sep 2010 09:41:40 -0700
+
+vyatta-cfg-system (0.17.94) unstable; urgency=low
+
+ * Change modprobe.d files to .conf
+ * Update to current udev
+ * Update sound blacklist fix
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 07 Sep 2010 09:55:34 -0700
+
+vyatta-cfg-system (0.17.93) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove ifDescr override
+
+ [ An-Cheng Huang ]
+ * fix squeeze paths
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Fri, 03 Sep 2010 14:44:40 -0700
+
+vyatta-cfg-system (0.17.92) unstable; urgency=low
+
+ * Bugfix 5499: Fix restrictions on IPv6 addresses.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 31 Aug 2010 02:58:11 -0700
+
+vyatta-cfg-system (0.17.91) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Add dependency on libcap2-bin
+
+ [ Bob Gilligan ]
+ * Bugfix 6085: Use "-x" flag instead of "-r" to kill the old dhclient
+ process
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 30 Aug 2010 02:33:54 -0700
+
+vyatta-cfg-system (0.17.90) unstable; urgency=low
+
+ * Add checking of port range
+ * Add check for port range on SNMP listen port value
+ * Generate interface description
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 23 Aug 2010 15:03:23 -0700
+
+vyatta-cfg-system (0.17.89) unstable; urgency=low
+
+ * update help text to use val_help
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Tue, 17 Aug 2010 15:31:11 -0700
+
+vyatta-cfg-system (0.17.88) unstable; urgency=low
+
+ * Don't delete existing root password
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 17 Aug 2010 15:22:55 -0700
+
+vyatta-cfg-system (0.17.87) unstable; urgency=low
+
+ * Add vrrp parameters to transition script.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Tue, 17 Aug 2010 11:59:45 -0700
+
+vyatta-cfg-system (0.17.86) unstable; urgency=low
+
+ * remove more low-level config dir usages
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 16 Aug 2010 18:52:07 -0700
+
+vyatta-cfg-system (0.17.85) unstable; urgency=low
+
+ * remove low-level config dir usage
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 16 Aug 2010 18:15:01 -0700
+
+vyatta-cfg-system (0.17.84) unstable; urgency=low
+
+ * remove low-level config dir usage
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 16 Aug 2010 15:47:03 -0700
+
+vyatta-cfg-system (0.17.83) unstable; urgency=low
+
+ * remove "node.val" usages
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 12 Aug 2010 14:13:07 -0700
+
+vyatta-cfg-system (0.17.82) unstable; urgency=low
+
+ * use listEffectiveNodes() from new API
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 02 Aug 2010 17:17:30 -0700
+
+vyatta-cfg-system (0.17.81) unstable; urgency=low
+
+ * Bugfix 5964: Eliminate unnecessary version check.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 02 Aug 2010 16:38:53 -0700
+
+vyatta-cfg-system (0.17.80) unstable; urgency=low
+
+ * new API change
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 02 Aug 2010 15:45:23 -0700
+
+vyatta-cfg-system (0.17.79) unstable; urgency=low
+
+ * add comments and missing function
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Fri, 30 Jul 2010 18:13:00 -0700
+
+vyatta-cfg-system (0.17.78) unstable; urgency=low
+
+ * Bugfix 5711: Don't allow special characters in image names.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 28 Jul 2010 02:47:32 -0700
+
+vyatta-cfg-system (0.17.77) unstable; urgency=low
+
+ * new API changes
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Fri, 30 Jul 2010 17:26:20 -0700
+
+vyatta-cfg-system (0.17.76) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Change ranges for bridge parameters
+ * Fix typo in last change
+
+ [ Bob Gilligan ]
+ * Bugfix 5929: Preserve SSH host keys during image installation.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 27 Jul 2010 19:47:45 -0700
+
+vyatta-cfg-system (0.17.75) unstable; urgency=low
+
+ * UNRELEASED
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 22 Jul 2010 17:23:36 -0700
+
+vyatta-cfg-system (0.17.74) unstable; urgency=low
+
+ * More fixes to standalone password reset
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 22 Jul 2010 15:09:01 -0700
+
+vyatta-cfg-system (0.17.73) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Make standalone password recovery more robust
+
+ [ An-Cheng Huang ]
+ * remove unused options
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 22 Jul 2010 12:13:05 -0700
+
+vyatta-cfg-system (0.17.72) unstable; urgency=low
+
+ * Move input interface over to Qos package
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 21 Jul 2010 17:46:50 -0700
+
+vyatta-cfg-system (0.17.71) unstable; urgency=low
+
+ * Use pgrep to count number of matching processes
+ * Use val_help: for interface name help
+ * Use expression to validate VRRP password
+ * Add proxy-arp over bonding
+ * Fix help completion text
+ * Fix formatting of static-host mapping val help
+ * Add completion for text fields with limited values
+ * Fix completion on multi-type node
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 21 Jul 2010 15:45:39 -0700
+
+vyatta-cfg-system (0.17.70) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix language in help text for loadkey
+ * Use val_help: for Ethernet interface parameters
+ * bonding vif val_help
+ * Loopback address node cleanup
+ * Convert tunnel parameters to new help format
+ * Convert public-keys help to new format
+ * Revise static-host-mapping
+ * Use val_help: features to format better
+ * Convert syslog commands to new CLI help style
+
+ [ An-Cheng Huang ]
+ * fix typo, val_help, etc.
+
+ [ Stephen Hemminger ]
+ * Convert VRRP preempt to bool
+ * Convert VRRP to new CLI help style
+
+ [ Bob Gilligan ]
+ * Bugfix 5512: Have grub.cfg use the vmlinuz and initrd.img symlinks
+ if available
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 19 Jul 2010 17:45:16 -0700
+
+vyatta-cfg-system (0.17.69) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove verbs from all help messages
+ * Covert bonding mode to val_help
+ * Use val_help: for interface MTU nodes
+ * Bridge parameter node update
+ * Use val_help in zone-policy
+ * Fix old invalid email addresses in changelog
+
+ [ An-Cheng Huang ]
+ * fix typo
+
+ [ Stephen Hemminger ]
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 19 Jul 2010 11:08:12 -0700
+
+vyatta-cfg-system (0.17.68) unstable; urgency=low
+
+ * Add syntax validation for bridge STP parameters
+ * Use val_help: for address nodes
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 16 Jul 2010 17:30:20 -0700
+
+vyatta-cfg-system (0.17.67) unstable; urgency=low
+
+ * Bugfix 5557: Properly update initrd symlink.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 14 Jul 2010 15:01:20 -0700
+
+vyatta-cfg-system (0.17.66) unstable; urgency=low
+
+ * Enable putting core files /var/core
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 14 Jul 2010 16:25:22 -0700
+
+vyatta-cfg-system (0.17.65) unstable; urgency=low
+
+ * Bugfix 5845, 5557: Install vyatta-update-grub.pl in
+ /opt/vyatta/sbin.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 14 Jul 2010 15:45:28 -0700
+
+vyatta-cfg-system (0.17.64) unstable; urgency=low
+
+ * Bugfix 5557: Add script to help update grub after full upgrade.
+ * Move vyatta-update-grub.pl to the vyatta-base package.
+ * Revert "Move vyatta-update-grub.pl to the vyatta-base package."
+ * Select kernel to boot based on current running kernel type.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 14 Jul 2010 11:12:37 -0700
+
+vyatta-cfg-system (0.17.63) unstable; urgency=low
+
+ * Fix install-system if not saving old image config
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Thu, 08 Jul 2010 09:44:16 -0700
+
+vyatta-cfg-system (0.17.62) unstable; urgency=low
+
+ * Don't need explict sync in init-floppy
+ * Change user name validation
+ * Allow incorrect user to be deleted
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 06 Jul 2010 19:14:50 -0700
+
+vyatta-cfg-system (0.17.61) unstable; urgency=low
+
+ * Corrected the fix for bug 5408.
+
+ -- Deepti Kulkarni <deepti@vyatta.com> Tue, 06 Jul 2010 16:40:24 +0000
+
+vyatta-cfg-system (0.17.60) unstable; urgency=low
+
+ * Update failover-mechanism sync-group CLI path and add
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Thu, 01 Jul 2010 17:40:10 -0700
+
+vyatta-cfg-system (0.17.59) unstable; urgency=low
+
+ * Fix 5675: clearing vrrp master for an interface group removes sync-
+ group config
+
+ -- Stig Thormodsrud <stig@vyatta.com> Thu, 01 Jul 2010 14:11:18 -0700
+
+vyatta-cfg-system (0.17.58) unstable; urgency=low
+
+ * Touch file before setting capability
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 01 Jul 2010 13:37:07 -0700
+
+vyatta-cfg-system (0.17.57) unstable; urgency=low
+
+ [ root ]
+ * fix for bug 5408.
+
+ [ Deepti Kulkarni ]
+ * Revert "fix for bug 5408."
+ * fix for bug 5408.
+
+ -- Deepti Kulkarni <deepti@vyatta.com> Thu, 01 Jul 2010 16:53:34 +0000
+
+vyatta-cfg-system (0.17.56) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove sudo from tunnel command
+ * Fix path to ipset
+
+ [ Michael Larson ]
+ * fix for bug 5663
+
+ -- Michael Larson <slioch@slioch.vyatta.com> Mon, 21 Jun 2010 11:09:56 -0700
+
+vyatta-cfg-system (0.17.55) unstable; urgency=low
+
+ * initial support for gre-bridge tunnels.
+
+ -- Robert Bays <rbays@vyatta.com> Thu, 17 Jun 2010 23:33:45 -0700
+
+vyatta-cfg-system (0.17.54) unstable; urgency=low
+
+ * Remove sudo from ip command
+ * Remove unnecessary :expression: syntax
+ * Remove sudo from brctl
+ * Remove capability from ping
+ * Don't need audit write on vbash
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 17 Jun 2010 14:46:35 -0700
+
+vyatta-cfg-system (0.17.53) unstable; urgency=low
+
+ * * make vrrp work with conntrack-sync
+ * * perltidy vyatta-keepalived.pl
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Wed, 09 Jun 2010 15:01:47 -0700
+
+vyatta-cfg-system (0.17.52) unstable; urgency=low
+
+ * Add skip option to vyatta-interfaces
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 07 Jun 2010 16:28:13 -0700
+
+vyatta-cfg-system (0.17.51) unstable; urgency=low
+
+ * Using "send dhcp6.oro" is no longer required in config file.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Sun, 30 May 2010 07:14:32 -0700
+
+vyatta-cfg-system (0.17.50) unstable; urgency=low
+
+ * Fix use of bareword file handles
+ * Set file capability attributes
+ * Add pam_cap capability configuration
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 04 Jun 2010 14:10:09 -0700
+
+vyatta-cfg-system (0.17.49) unstable; urgency=low
+
+ * move list functions to vrrp perl module so other scripts can use it
+ as well
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Thu, 03 Jun 2010 16:32:05 -0700
+
+vyatta-cfg-system (0.17.48) unstable; urgency=low
+
+ * fix for bug 5656
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 03 Jun 2010 14:55:46 -0700
+
+vyatta-cfg-system (0.17.47) unstable; urgency=low
+
+ * Fix 5521: Cannot Delete vif with vrrp configured.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Tue, 01 Jun 2010 15:24:45 -0700
+
+vyatta-cfg-system (0.17.46) unstable; urgency=low
+
+ * Move DHCPv6 client configuration to this package and restructre
+ parameters.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 26 May 2010 16:12:45 -0700
+
+vyatta-cfg-system (0.17.45) unstable; urgency=low
+
+ * Don't enable PAM Radius by default
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 24 May 2010 10:46:08 -0700
+
+vyatta-cfg-system (0.17.44) unstable; urgency=low
+
+ * don't start conntrackd itself
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Thu, 20 May 2010 19:29:10 -0700
+
+vyatta-cfg-system (0.17.43) unstable; urgency=low
+
+ * Add enable-proxy-arp to vif interface.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Wed, 19 May 2010 20:16:12 -0700
+
+vyatta-cfg-system (0.17.42) unstable; urgency=low
+
+ * Change SNMP community handling
+ * Fix syntax of default listen address
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 14 May 2010 11:01:48 -0700
+
+vyatta-cfg-system (0.17.41) unstable; urgency=low
+
+ * Revert "Snmp Ipv6 support"
+ * Better version of SNMP IPv6 support
+ * Allow configuring/restricting SNMP listen address
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 12 May 2010 21:02:35 -0700
+
+vyatta-cfg-system (0.17.40) unstable; urgency=low
+
+ * Snmp Ipv6 support
+ * Show progress bar when copying filesystem
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 12 May 2010 14:34:54 -0700
+
+vyatta-cfg-system (0.17.39) unstable; urgency=low
+
+ * Preserve file capablities and attributes during install-system
+ * Preserve file attributes of root files
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 07 May 2010 15:25:22 -0700
+
+vyatta-cfg-system (0.17.38) unstable; urgency=low
+
+ * Add code to check digital signature of image files.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 03 May 2010 17:21:10 -0700
+
+vyatta-cfg-system (0.17.37) unstable; urgency=low
+
+ * Allow user to name system images when installing them.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 30 Apr 2010 15:48:57 -0700
+
+vyatta-cfg-system (0.17.36) unstable; urgency=low
+
+ * Ignore comments in level file
+ * Set capabilities on standard utilities
+ * Make interface help completion strings consistent
+ * Revert "Set capabilities on standard utilities"
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 27 Apr 2010 15:27:49 -0700
+
+vyatta-cfg-system (0.17.35) unstable; urgency=low
+
+ * Configure IFB devices earlier in boot
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 16 Apr 2010 11:35:23 -0700
+
+vyatta-cfg-system (0.17.34) unstable; urgency=low
+
+ * Rename in0 to ifb0
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 15 Apr 2010 13:16:38 -0700
+
+vyatta-cfg-system (0.17.33) unstable; urgency=low
+
+ * For Bug 5625 Not ready for DNSSEC implementation
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Wed, 14 Apr 2010 16:22:44 -0700
+
+vyatta-cfg-system (0.17.32) unstable; urgency=low
+
+ * increase xen hypervisor heap size
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Fri, 09 Apr 2010 18:35:29 -0700
+
+vyatta-cfg-system (0.17.31) unstable; urgency=low
+
+ * Add input pseudo-interface configuration
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 06 Apr 2010 09:27:17 -0700
+
+vyatta-cfg-system (0.17.30) unstable; urgency=low
+
+ * Use 3 arg open
+ * Use 3 arg open to create pipe
+ * Ignore errors from ethtool when setting speed/duplex
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 05 Apr 2010 22:20:49 -0700
+
+vyatta-cfg-system (0.17.29) unstable; urgency=low
+
+ * Fail gracefully if path is unknown
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 05 Apr 2010 16:17:35 -0700
+
+vyatta-cfg-system (0.17.28) unstable; urgency=low
+
+ * Improve wording of config info save dialog.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 30 Mar 2010 12:02:35 -0700
+
+vyatta-cfg-system (0.17.27) unstable; urgency=low
+
+ * Ignore setting CPU affinity on UP systems
+ * Fix test for UP
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 29 Mar 2010 16:34:57 -0700
+
+vyatta-cfg-system (0.17.26) unstable; urgency=low
+
+ * run snmpd as user snmp
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Wed, 24 Mar 2010 19:08:22 -0700
+
+vyatta-cfg-system (0.17.25) unstable; urgency=low
+
+ * Fix Bug 5487 http redirect url address placed on the router gets
+ blocked by
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Wed, 24 Mar 2010 15:31:16 -0700
+
+vyatta-cfg-system (0.17.24) unstable; urgency=low
+
+ * Fix Bug 5386 L2TP will work only the first time Vyatta is booted
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Sat, 20 Mar 2010 22:43:27 -0700
+
+vyatta-cfg-system (0.17.23) unstable; urgency=low
+
+ [ Michael Larson ]
+ * fixes commit warning when run invoked via the api--getlogin() may
+ return an undefined value as the process is a child process
+
+ [ Bob Gilligan ]
+ * Bugfix 5449: Maintain "console affinity" when adding a new image.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 18 Mar 2010 18:03:55 -0700
+
+vyatta-cfg-system (0.17.22) unstable; urgency=low
+
+ * Remove Radius Server config file on reboot
+ * Handle devices that do not report ethtool
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Wed, 17 Mar 2010 11:29:44 -0700
+
+vyatta-cfg-system (0.17.21) unstable; urgency=low
+
+ * Make /var/run/vyatta and /var/log/vyatta
+ * Use userdel -f to force removal of user
+ * Better version of forcing user logout
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 15 Mar 2010 10:45:04 -0700
+
+vyatta-cfg-system (0.17.20) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Disable SELinux during password reset
+ * Fix case of VGA_LOGO option
+
+ [ Mohit Mehta ]
+ * * Fix BZ 5334 services start automatically on boot up after upgrade
+ to kenwood
+
+ [ Stephen Hemminger ]
+ * Run partition editor with script flag to avoid prompting user
+ * Force user process to die
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 12 Mar 2010 10:01:06 -0800
+
+vyatta-cfg-system (0.17.19) unstable; urgency=low
+
+ * Bugfix 5021: Make smp_affinity configuration tolerant of failures.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 09 Mar 2010 15:49:56 -0800
+
+vyatta-cfg-system (0.17.18) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Set primary interface after bond-group is initialized
+
+ [ Bob Gilligan ]
+ * Bugfix 5424: Allow image with same version to be added to disk-based
+ install
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 09 Mar 2010 11:08:49 -0800
+
+vyatta-cfg-system (0.17.17) unstable; urgency=low
+
+ * Use more reliable method for determining system version.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 08 Mar 2010 17:37:20 -0800
+
+vyatta-cfg-system (0.17.16) unstable; urgency=low
+
+ * Bugfix 5416: determine system version from version of vyatta-version
+ package
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 08 Mar 2010 16:19:08 -0800
+
+vyatta-cfg-system (0.17.15) unstable; urgency=low
+
+ * Bugfix 5360: Get name of image from correct source.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 08 Mar 2010 14:51:58 -0800
+
+vyatta-cfg-system (0.17.14) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fixup xl2tpd init during install
+
+ [ Bob Gilligan ]
+ * Bugfix 5414: Use correct install root reference when copying back
+ SSH keys.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 08 Mar 2010 14:17:56 -0800
+
+vyatta-cfg-system (0.17.13) unstable; urgency=low
+
+ * Bugfix 5413: Determine system version from vyatta-version package.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 05 Mar 2010 13:07:33 -0800
+
+vyatta-cfg-system (0.17.12) unstable; urgency=low
+
+ * Bugfix 5404: Handle RAID re-sync on image-installed systems.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 03 Mar 2010 18:09:55 -0800
+
+vyatta-cfg-system (0.17.11) unstable; urgency=low
+
+ * Bugfix 5377: strict-dad must be applied before interfaces are
+ configured
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 01 Mar 2010 14:19:23 -0800
+
+vyatta-cfg-system (0.17.10) unstable; urgency=low
+
+ * Bugfix 5217: Don't use the "-#" option to curl. It runs slow on
+ serial ports.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 25 Feb 2010 11:50:19 -0800
+
+vyatta-cfg-system (0.17.9) unstable; urgency=low
+
+ * Bugfix 5377: Add parameter to control behavior when DAD fails.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 23 Feb 2010 15:53:53 -0800
+
+vyatta-cfg-system (0.17.8) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Handle empty set of public keys
+
+ [ Stig Thormodsrud ]
+ * Fix 5157: dhcpclient doesn't work when alternative mac address
+ specified on bootup
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sun, 21 Feb 2010 20:21:32 -0800
+
+vyatta-cfg-system (0.17.7) unstable; urgency=low
+
+ * Fix Bug 5064 can't delete bridge group and membership in one commit
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Thu, 18 Feb 2010 17:28:54 -0800
+
+vyatta-cfg-system (0.17.6) unstable; urgency=low
+
+ * UNRELEASED
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Wed, 17 Feb 2010 16:13:35 -0800
+
+vyatta-cfg-system (0.17.5) unstable; urgency=low
+
+ * Handle DSA keys
+ * Add support for options in keyfile
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 17 Feb 2010 12:52:02 -0800
+
+vyatta-cfg-system (0.17.4) unstable; urgency=low
+
+ * Speed up VIF creation
+ * Check current status (not configured value) when enabling vlan
+ device
+ * Use template to do syntax checks on ethernet device name
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 16 Feb 2010 17:37:10 -0800
+
+vyatta-cfg-system (0.17.3) unstable; urgency=low
+
+ * Don't allow format strings in snmp-community
+ * Add syntax check for vif name where non-vif expected
+ * Use die function for failures
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 16 Feb 2010 13:58:55 -0800
+
+vyatta-cfg-system (0.17.2) unstable; urgency=low
+
+ * Bugfix 5327: Don't try to save config from images with none.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 16 Feb 2010 11:57:24 -0800
+
+vyatta-cfg-system (0.17.1) unstable; urgency=low
+
+ * use more specific version before which modprobe files in vyatta-cfg
+ r2b replaced
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 12 Feb 2010 13:53:27 -0800
+
+vyatta-cfg-system (0.16.43) unstable; urgency=low
+
+ * fix bug 5334 services start automatically on boot up post upgrade to
+ kenwood
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 12 Feb 2010 11:29:49 -0800
+
+vyatta-cfg-system (0.16.42) unstable; urgency=low
+
+ * Bugfix 5117: Preserve config files from previous image
+ installation.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 11 Feb 2010 16:06:16 -0800
+
+vyatta-cfg-system (0.16.41) unstable; urgency=low
+
+ * Fix bug 5325 vyatta-cfg-system fails to upgrade during full-upgrade
+ VC5 to VC6
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Wed, 10 Feb 2010 12:21:52 -0800
+
+vyatta-cfg-system (0.16.40) unstable; urgency=low
+
+ * Remove vyatta-ofr on upgrade
+ * Remove IPv6 address_flush sysctl
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 09 Feb 2010 15:17:46 -0800
+
+vyatta-cfg-system (0.16.39) unstable; urgency=low
+
+ * add dependency on vyatta-biosdevname
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 08 Feb 2010 12:53:02 -0800
+
+vyatta-cfg-system (0.16.38) unstable; urgency=low
+
+ * Bugfix 5225: Include the OS version number in the grub menu entry.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 08 Feb 2010 12:04:44 -0800
+
+vyatta-cfg-system (0.16.37) unstable; urgency=low
+
+ * Bugfix 5120: Use biosdevname to generate the canonical name for an
+ interface.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 05 Feb 2010 16:49:36 -0800
+
+vyatta-cfg-system (0.16.36) unstable; urgency=low
+
+ * Force vyatta-cfg/vyatta-cfg-system version synchronization
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 05 Feb 2010 12:31:10 -0800
+
+vyatta-cfg-system (0.16.35) unstable; urgency=low
+
+ * Set system host-name and time-zone first
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 03 Feb 2010 14:39:44 -0800
+
+vyatta-cfg-system (0.16.34) unstable; urgency=low
+
+ * Change owner of created authorized key file
+ * Move modprobe.d/no-copybreak from vyatta-cfg
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 03 Feb 2010 13:37:20 -0800
+
+vyatta-cfg-system (0.16.33) unstable; urgency=low
+
+ * Fix password-authentication setup in sshd
+ * Bug in handling local key file
+ * Run login update as root
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 02 Feb 2010 15:12:07 -0800
+
+vyatta-cfg-system (0.16.32) unstable; urgency=low
+
+ * Add help for system ip arp
+ * Add help string for system ip neighbor
+ * Static host-name mapping changes
+ * Don't remove users home directory
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 02 Feb 2010 10:52:39 -0800
+
+vyatta-cfg-system (0.16.31) unstable; urgency=low
+
+ * Allow local user (non vbash) accounts
+ * Make message clearer
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 Jan 2010 18:21:04 -0800
+
+vyatta-cfg-system (0.16.30) unstable; urgency=low
+
+ * Don't delete non-user accounts
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 Jan 2010 09:39:33 -0800
+
+vyatta-cfg-system (0.16.29) unstable; urgency=low
+
+ * Don't allow vyatta configured accounts to overlap internal accounts
+ * Reindent user account module
+ * Change function names in User.pm
+ * Refactor user update
+ * Add additional check that new user doesn't exist in NSS
+ * Get rid of protected-users file
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 26 Jan 2010 18:30:04 -0800
+
+vyatta-cfg-system (0.16.28) unstable; urgency=low
+
+ * Bugfix 5229: Save old config info when installing on pre-existing
+ RAID group.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 26 Jan 2010 16:25:04 -0800
+
+vyatta-cfg-system (0.16.27) unstable; urgency=low
+
+ * Bugfix 5220: Use correct path to config directory on installed
+ image.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 26 Jan 2010 14:19:59 -0800
+
+vyatta-cfg-system (0.16.26) unstable; urgency=low
+
+ * Bugfix 5232: Correctly handle case where user doesn't want to save
+ SSH keys
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 26 Jan 2010 12:03:23 -0800
+
+vyatta-cfg-system (0.16.25) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix typo in PermitRoot setup.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Mon, 25 Jan 2010 21:24:55 -0800
+
+vyatta-cfg-system (0.16.24) unstable; urgency=low
+
+ * Bugfix 5240: Prevent re-installation of same version on running
+ systems
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 25 Jan 2010 17:23:21 -0800
+
+vyatta-cfg-system (0.16.23) unstable; urgency=low
+
+ * Remove duplicate crontab and stop munging /etc/crontab.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Mon, 25 Jan 2010 15:13:09 -0800
+
+vyatta-cfg-system (0.16.22) unstable; urgency=low
+
+ * Fix allow-root for telnet/ssh
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Sun, 24 Jan 2010 22:27:33 -0800
+
+vyatta-cfg-system (0.16.21) unstable; urgency=low
+
+ * Set IPV6 parameters in rl-system.init
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 21 Jan 2010 11:24:44 -0800
+
+vyatta-cfg-system (0.16.20) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix typo in install-image
+
+ [ Bob Gilligan ]
+ * Bugfix 5162: Make disabling flow control work at boot time.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 19 Jan 2010 17:37:10 -0800
+
+vyatta-cfg-system (0.16.19) unstable; urgency=low
+
+ [ Jon Andersson ]
+ * Restiction on filtering of udev rules
+
+ -- Stig Thormodsrud <stig@vyatta.com> Tue, 19 Jan 2010 17:01:50 -0800
+
+vyatta-cfg-system (0.16.18) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Restrict radius-server timeout value
+
+ [ Robert Bays ]
+ * fix bug 5226: Hostname does not allow number as first char
+
+ [ Stephen Hemminger ]
+ * Change how IPV4/IPV6 configuration values are done
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 19 Jan 2010 17:00:39 -0800
+
+vyatta-cfg-system (0.16.17) unstable; urgency=low
+
+ * Fix snmp trap-source
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 18 Jan 2010 19:01:44 -0800
+
+vyatta-cfg-system (0.16.16) unstable; urgency=low
+
+ * Fix typo in community for trap-target
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 18 Jan 2010 18:35:59 -0800
+
+vyatta-cfg-system (0.16.15) unstable; urgency=low
+
+ * Bugfix 5220: Save config information from previous image-based
+ install.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 18 Jan 2010 18:03:59 -0800
+
+vyatta-cfg-system (0.16.14) unstable; urgency=low
+
+ * Add sysctl to control IPV6 address flush
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 14 Jan 2010 14:35:01 -0800
+
+vyatta-cfg-system (0.16.13) unstable; urgency=low
+
+ * Add support for trap community and port
+ * Add support trap source address
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 13 Jan 2010 19:54:16 -0800
+
+vyatta-cfg-system (0.16.12) unstable; urgency=low
+
+ * Don't allow installation to proceed if MD5 checksum errors are
+ found.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 13 Jan 2010 16:55:41 -0800
+
+vyatta-cfg-system (0.16.11) unstable; urgency=low
+
+ * Switch from wget to curl since the latter supports more URL methods.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 08 Jan 2010 17:15:36 -0800
+
+vyatta-cfg-system (0.16.10) unstable; urgency=low
+
+ * Updates to SNMP link state trap
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 06 Jan 2010 14:37:20 -0800
+
+vyatta-cfg-system (0.16.9) unstable; urgency=low
+
+ * Validate MD5 checksums on ISO file before proceeding with
+ installation.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 06 Jan 2010 14:32:18 -0800
+
+vyatta-cfg-system (0.16.8) unstable; urgency=low
+
+ * Do loopback before other interfaces
+ * Remove snmpd.conf on deletion
+ * Cleanup SNMP config file generation
+ * SNMP: Merge common code for rand hex number
+ * Change 'protocols snmp' to 'service snmp'
+ * update version
+ * Need to be root to remove snmpd.conf
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 05 Jan 2010 18:39:32 -0800
+
+vyatta-cfg-system (0.16.7) unstable; urgency=low
+
+ * Add support for fetching ISO file based on URL.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 23 Dec 2009 16:17:40 -0800
+
+vyatta-cfg-system (0.16.6) unstable; urgency=low
+
+ * Set default to only ARP if IP address matches received interface
+ * Handle default of auto
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 23 Dec 2009 10:49:38 -0800
+
+vyatta-cfg-system (0.16.5) unstable; urgency=low
+
+ * Update snmp template
+ * Remove old init code
+ * Read Vyatta version from file
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 22 Dec 2009 20:59:10 -0800
+
+vyatta-cfg-system (0.16.4) unstable; urgency=low
+
+ * Bring device to up state when removed from bond
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 22 Dec 2009 14:53:03 -0800
+
+vyatta-cfg-system (0.16.3) unstable; urgency=low
+
+ * Don't allow setting speed/duplex if hardware doesn't support it
+ * Fix return of dhcp start client.
+ * Mark banner script executable
+ * Ignore more debian build files
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 22 Dec 2009 14:02:55 -0800
+
+vyatta-cfg-system (0.16.2) unstable; urgency=low
+
+ * allow vyatta-cfg-system to replace interface files in older versions
+ of
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Tue, 22 Dec 2009 11:45:39 -0800
+
+vyatta-cfg-system (0.16.1) unstable; urgency=low
+
+ * UNRELEASED
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 21 Dec 2009 13:15:00 -0800
+
+vyatta-cfg-system (0.16) unstable; urgency=low
+
+ * Sync versions with vyatta-cfg
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 21 Dec 2009 13:14:45 -0800
+
+vyatta-cfg-system (0.15.127) unstable; urgency=low
+
+ * Move interface support from vyatta-cfg to vyatta-cfg-system
+ * Fix command-with-path-in-maintainer-script postinst:158
+ /usr/sbin/dpkg-reconfigure
+ * Add vyatta-interfaces.pl to build
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 21 Dec 2009 12:38:05 -0800
+
+vyatta-cfg-system (0.15.126) unstable; urgency=low
+
+ * User deletion update
+ * Block passwd command for non-root user
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 18 Dec 2009 14:56:43 -0800
+
+vyatta-cfg-system (0.15.125) unstable; urgency=low
+
+ * Re-enable frame-buffer on console
+ * Fix install-image to save config/keys
+ * Ignore errors from chmod/chown if ssh keys don't exist
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 14 Dec 2009 16:57:26 -0800
+
+vyatta-cfg-system (0.15.124) unstable; urgency=low
+
+ * The protected-users file does not need to be made during install
+ * Redefine meaning of protected-user
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 09 Dec 2009 14:53:06 -0800
+
+vyatta-cfg-system (0.15.123) unstable; urgency=low
+
+ * Keep udev from borking wireless device names
+ * Allow root account to not exist
+ * Force root account to have disabled password
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 08 Dec 2009 15:03:25 -0800
+
+vyatta-cfg-system (0.15.122) unstable; urgency=low
+
+ * don't block passwd with pam
+ * Fix configure of user
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 07 Dec 2009 11:41:33 -0800
+
+vyatta-cfg-system (0.15.121) unstable; urgency=low
+
+ * Fix load user key script
+ * Add back public-key templates
+ * Fix code that generates authorized keys
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 04 Dec 2009 20:25:12 -0800
+
+vyatta-cfg-system (0.15.120) unstable; urgency=low
+
+ * Oops forgot to update installed version
+ * Rearrange the public-key configuration schema
+ * Block user from changing name or password
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 04 Dec 2009 15:47:22 -0800
+
+vyatta-cfg-system (0.15.119) unstable; urgency=low
+
+ * Change telnet allow-root to existance (instead of boolean)
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 04 Dec 2009 09:54:03 -0800
+
+vyatta-cfg-system (0.15.118) unstable; urgency=low
+
+ * Fix some file headers that cause build warnings
+ * Add dependency on adduser
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 03 Dec 2009 16:29:30 -0800
+
+vyatta-cfg-system (0.15.117) unstable; urgency=low
+
+ * SSH enhancements
+ * Require key-type to be set.
+ * Update .ssh/authorized_keys as part of the login update
+ * Set modes of created authorization key (and directory)
+ * Add script for loading public key
+ * Add script for loading public key
+ * Preserve ssh host keys in install-image
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 03 Dec 2009 16:20:51 -0800
+
+vyatta-cfg-system (0.15.116) unstable; urgency=low
+
+ * Use ext3 all the time
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 02 Dec 2009 18:18:31 -0800
+
+vyatta-cfg-system (0.15.115) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Pass more info to login scripts
+ * Don't lose user customization to pam-auth
+ * Simply Radius server update
+
+ [ Bob Gilligan ]
+ * Changes related to co-ordination between kernel parameters and
+ radvd.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 02 Dec 2009 16:48:52 -0800
+
+vyatta-cfg-system (0.15.114) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Add ability to disable password authentication
+
+ [ Bob Gilligan ]
+ * Co-ordinate global and per-interface IPv6 forwarding control.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 02 Dec 2009 11:50:31 -0800
+
+vyatta-cfg-system (0.15.113) unstable; urgency=low
+
+ * Avoid updating files on boot
+ * Get rid of warning on package update
+ * Save SSH keys on re-install
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 01 Dec 2009 14:14:00 -0800
+
+vyatta-cfg-system (0.15.112) unstable; urgency=low
+
+ * Add sync after config save
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 01 Dec 2009 09:53:35 -0800
+
+vyatta-cfg-system (0.15.111) unstable; urgency=low
+
+ * added required keyword to help text.
+
+ -- Michael Larson <slioch@slioch.vyatta.com> Mon, 30 Nov 2009 16:40:47 -0800
+
+vyatta-cfg-system (0.15.110) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove Radius server on reboot
+
+ [ Michael Larson ]
+ * added required keyword to help text.
+
+ -- Michael Larson <slioch@slioch.vyatta.com> Mon, 30 Nov 2009 16:33:59 -0800
+
+vyatta-cfg-system (0.15.109) unstable; urgency=low
+
+ * added required keyword to help text.
+
+ -- Michael Larson <slioch@slioch.vyatta.com> Mon, 30 Nov 2009 15:55:21 -0800
+
+vyatta-cfg-system (0.15.108) unstable; urgency=low
+
+ * added required keyword to help text.
+
+ -- Michael Larson <slioch@slioch.vyatta.com> Mon, 30 Nov 2009 15:36:33 -0800
+
+vyatta-cfg-system (0.15.107) unstable; urgency=low
+
+ * Add user tss for udev
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 19 Nov 2009 16:41:35 -0800
+
+vyatta-cfg-system (0.15.106) unstable; urgency=low
+
+ * Mount floppy with dirsync
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 18 Nov 2009 21:25:57 -0800
+
+vyatta-cfg-system (0.15.105) unstable; urgency=low
+
+ * Don't start hostapd at boot
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 17 Nov 2009 16:26:26 -0800
+
+vyatta-cfg-system (0.15.104) unstable; urgency=low
+
+ * Add start_offset value to log message when partion attempt fails.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 13 Nov 2009 17:46:42 -0800
+
+vyatta-cfg-system (0.15.103) unstable; urgency=low
+
+ * Add start_offset value to log message when partion attempt fails.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 13 Nov 2009 16:39:04 -0800
+
+vyatta-cfg-system (0.15.102) unstable; urgency=low
+
+ * dependency update
+
+ -- Michael Larson <slioch@slioch.vyatta.com> Fri, 13 Nov 2009 13:45:26 -0800
+
+vyatta-cfg-system (0.15.101) unstable; urgency=low
+
+ * Remove blank line
+ * Show dependency on pam version
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 11 Nov 2009 17:09:29 -0800
+
+vyatta-cfg-system (0.15.100) unstable; urgency=low
+
+ * copy the whole config directory during install
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Tue, 10 Nov 2009 14:08:59 -0800
+
+vyatta-cfg-system (0.15.99) unstable; urgency=low
+
+ [ An-Cheng Huang ]
+ * use new vyatta-union arg to reduce kernel cmdline length.
+
+ [ Robert Bays ]
+ * Fix library include
+
+ -- Robert Bays <rbays@vyatta.com> Fri, 06 Nov 2009 05:53:10 -0800
+
+vyatta-cfg-system (0.15.98) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Remove blank line
+ * Fix pam-auth-update errors from radius
+ * Move user configuration information to files
+ * radius: only try first password if first module
+
+ [ An-Cheng Huang ]
+ * move custom script to custom repo
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 05 Nov 2009 15:01:40 -0800
+
+vyatta-cfg-system (0.15.97) unstable; urgency=low
+
+ * Fix 5063: committing "set interfaces ethernet <> bridge-group bridge
+ <>" got "invalid variable reference (invalid format)"
+
+ -- Stig Thormodsrud <stig@vyatta.com> Mon, 02 Nov 2009 18:31:22 -0800
+
+vyatta-cfg-system (0.15.96) unstable; urgency=low
+
+ [ An-Cheng Huang ]
+ * use top-level pid for progress indicator
+
+ [ Stephen Hemminger ]
+ * Don't want/need --package option to pam-auth-update
+ * Reset PAM configuration on boot
+ * rename pam-radius to pam_radius.cfg
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 02 Nov 2009 17:28:17 -0800
+
+vyatta-cfg-system (0.15.95) unstable; urgency=low
+
+ [ David S. Madole ]
+ * Add VRRP capability to bonding interfaces and vifs of bonding
+ interfaces.
+
+ [ Stig Thormodsrud ]
+ * Convert keepalived to use Interface infrastructure.
+ * Add priority for bonding vrrp nodes.
+ * Fix interface carrier status.
+ * Fix 'show vrrp summary' showing last vip 1st
+ * Using Interface.pm infrastructure to detect vif on eth|bond
+ interface.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sun, 01 Nov 2009 14:59:29 -0800
+
+vyatta-cfg-system (0.15.94) unstable; urgency=low
+
+ [ An-Cheng Huang ]
+ * add unified install-image
+
+ [ slioch ]
+ * added missed vrrp priorities.
+
+ -- slioch <slioch@eng-140.vyatta.com> Sat, 31 Oct 2009 14:02:41 -0700
+
+vyatta-cfg-system (0.15.93) unstable; urgency=low
+
+ * radius client: try first password only if not first
+ * Shut up debconf when installing pam radius
+ * radius-server: shutup debconf dialog
+ * radius: add missing space
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 30 Oct 2009 13:37:15 -0700
+
+vyatta-cfg-system (0.15.92) unstable; urgency=low
+
+ * Dont start radvd on boot
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 29 Oct 2009 11:16:33 -0700
+
+vyatta-cfg-system (0.15.91) unstable; urgency=low
+
+ * Fix description of vif bonding
+ * Use pam-auth-update to configure radius
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 27 Oct 2009 18:52:45 -0700
+
+vyatta-cfg-system (0.15.90) unstable; urgency=low
+
+ * move priority after tag nodes.
+
+ -- slioch <slioch@eng-140.vyatta.com> Wed, 21 Oct 2009 09:12:23 -0700
+
+vyatta-cfg-system (0.15.89) unstable; urgency=low
+
+ * move priority after multi tags
+
+ -- slioch <slioch@eng-140.vyatta.com> Tue, 20 Oct 2009 21:22:35 -0700
+
+vyatta-cfg-system (0.15.88) unstable; urgency=low
+
+ * partial fix for bug 4903.
+
+ -- slioch <slioch@eng-140.vyatta.com> Tue, 20 Oct 2009 16:11:07 -0700
+
+vyatta-cfg-system (0.15.87) unstable; urgency=low
+
+ * add .merge-branch-exclude
+ * update .merge-branch-exclude
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Wed, 14 Oct 2009 13:16:18 -0700
+
+vyatta-cfg-system (0.15.86) unstable; urgency=low
+
+ [ Robert Bays ]
+ * limit xen dom0 memory to 512meg
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 13 Oct 2009 16:42:00 -0700
+
+vyatta-cfg-system (0.15.85) unstable; urgency=low
+
+ * add override mechanism for protected users
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 05 Oct 2009 19:20:44 -0700
+
+vyatta-cfg-system (0.15.84) unstable; urgency=low
+
+ * use pattern instead of exec
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 02 Oct 2009 18:31:15 -0700
+
+vyatta-cfg-system (0.15.83) unstable; urgency=low
+
+ * Mount floppy with safer options
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Thu, 01 Oct 2009 12:05:29 -0700
+
+vyatta-cfg-system (0.15.82) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Cleanup all vbash users
+
+ [ Bob Gilligan ]
+ * Bugfix 4951: Add configuration parameter to blacklist the IPv6
+ module.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 24 Sep 2009 16:05:25 -0700
+
+vyatta-cfg-system (0.15.81) unstable; urgency=low
+
+ * Bugfix 4892: Add a config parameter to disable IPv6
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 23 Sep 2009 16:27:00 -0700
+
+vyatta-cfg-system (0.15.80) unstable; urgency=low
+
+ * Bugfix 4951: Don't fail if IPv6 kernel module is not loaded.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 22 Sep 2009 15:56:58 -0700
+
+vyatta-cfg-system (0.15.79) unstable; urgency=low
+
+ * allow install on old compaq smart-array
+
+ -- Robert Bays <rbays@vyatta.com> Mon, 14 Sep 2009 09:10:18 -0700
+
+vyatta-cfg-system (0.15.78) unstable; urgency=low
+
+ * Fix Bug 4919 "service dns" branch of configuration file missing ...
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 11 Sep 2009 18:11:30 -0700
+
+vyatta-cfg-system (0.15.77) unstable; urgency=low
+
+ * User group fixes
+ * Add operators to vyattaop group
+ * If configuration is wrong just skip user don't die
+ * Delete vyatta users not in configuration
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 11 Sep 2009 16:31:43 -0700
+
+vyatta-cfg-system (0.15.76) unstable; urgency=low
+
+ * Invert test for livecd
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 11 Sep 2009 08:31:19 -0700
+
+vyatta-cfg-system (0.15.75) unstable; urgency=low
+
+ * Move check for livecd install to before filesystem intialization
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 10 Sep 2009 15:44:25 -0700
+
+vyatta-cfg-system (0.15.74) unstable; urgency=low
+
+ * Allow null description on device
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 09 Sep 2009 14:39:39 -0700
+
+vyatta-cfg-system (0.15.73) unstable; urgency=low
+
+ [ Bob Gilligan ]
+ * Bugfix 4916, 4917: Exit correctly when vyatta user doesn't exist.
+ Add timeout.
+
+ [ Stephen Hemminger ]
+ * Enforce syntax checking on password
+
+ [ Bob Gilligan ]
+
+ -- Bob Gilligan <gilligan@vyatta.com> Fri, 04 Sep 2009 02:56:14 -0700
+
+vyatta-cfg-system (0.15.72) unstable; urgency=low
+
+ * Revert "Validate encrypted password field"
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 04 Sep 2009 09:35:58 -0700
+
+vyatta-cfg-system (0.15.71) unstable; urgency=low
+
+ * Don't change name of non-ethernet devices
+ * Validate encrypted password field
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 03 Sep 2009 11:18:24 -0700
+
+vyatta-cfg-system (0.15.70) unstable; urgency=low
+
+ * Bonding: load module with MII monitor enabled
+ * bonding: remove primary slave last
+ * BONDING: handle change of bond-group
+ * BONDING: handle change of bond-group
+ * BONDING: fix error messages
+ * Fix bonding group setup
+ * Remove slaves before changing mode
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 04 Aug 2009 16:27:17 -0700
+
+vyatta-cfg-system (0.15.69) unstable; urgency=low
+
+ * Fix uninitialized variable.
+ * Fix 4766: can't set login banners "Can't locate
+ Vyatta/Login/Banner.pm"
+
+ -- Stig Thormodsrud <stig@vyatta.com> Thu, 30 Jul 2009 16:27:16 -0700
+
+vyatta-cfg-system (0.15.68) unstable; urgency=low
+
+ * Bugfix 4700: Move processing to "end" field so that param
+ modifications are handled.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 30 Jul 2009 14:09:49 -0700
+
+vyatta-cfg-system (0.15.67) unstable; urgency=low
+
+ [ Stig Thormodsrud ]
+ * Fix 4748: Pre-login message files (/etc/issue,/etc/issue.net) are
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 30 Jul 2009 13:59:35 -0700
+
+vyatta-cfg-system (0.15.66) unstable; urgency=low
+
+ * fix undefined array ref
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 27 Jul 2009 18:06:59 -0700
+
+vyatta-cfg-system (0.15.65) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix User Login configurator
+ * Make Radius server work
+ * Change API for login modules
+ * Handle deletion of radius (or other) server
+ * Avoid rewriting radius config unless needed
+ * Fix multi-nodes for address using update tag
+ * Fix some more update tag
+ * Fix generation of syslog host targets
+ * Change version of system config
+
+ [ An-Cheng Huang ]
+ * Use sysfs for bonding device control
+
+ [ Stephen Hemminger ]
+ * Fix help/completion for xor-hash
+ * Remove invalid buried templates
+
+ [ An-Cheng Huang ]
+ * Revert earlier change -- keep debian net.agent
+
+ [ Stephen Hemminger ]
+ * Remove ability to add vif to macvlan
+ * Convert bonding to use sysfs instead of ifenslave
+ * Add ifupdown package
+ * move acpid and ifupdown from Suggest to Depends
+ * Make telnet management smarter
+
+ [ Bob Gilligan ]
+ * Bugfix 4592: Generate NTP config file from Vyatta configuration
+ parameters.
+
+ [ Mark O'Brien ]
+ * Change interface state to down, add to bond group, change state to
+ up.
+ * Added link detect to ethernet bonded vlan interfaces.
+ * Fix 'sh: line 1:' error ing bug 4655.
+ * Allow user to select round-robin mode.
+
+ [ Stephen Hemminger ]
+ * Block creating vif until after slaves present
+ * Allow disable of bonding interface with VIF
+ * Revert "Allow user to select round-robin mode."
+ * Allow round-robin to be selected
+ * Fix descriptions with meta-characters
+
+ [ An-Cheng Huang ]
+ * initial implementation of image install
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Fri, 17 Jul 2009 15:09:47 -0700
+
+vyatta-cfg-system (0.15.64) unstable; urgency=low
+
+ * Bugfix 4708: Re-structure to avoid using "update" in non-leaf
+ valueless nodes.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 14 Jul 2009 17:19:12 -0700
+
+vyatta-cfg-system (0.15.63) unstable; urgency=low
+
+ * Bugfix 4708: Eliminate use of "update" in non-leaf valueless nodes.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Tue, 14 Jul 2009 12:12:55 -0700
+
+vyatta-cfg-system (0.15.62) unstable; urgency=low
+
+ [ Mark O'Brien ]
+ * Fix 'sh:1 error' in bug 4655.
+
+ [ Mohit Mehta ]
+ * Fix Bug 4554 check for existing firewall ruleset fails when applying
+ it to a zone during boot
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Thu, 02 Jul 2009 12:23:33 -0700
+
+vyatta-cfg-system (0.15.61) unstable; urgency=low
+
+ * Fix Bug 4593 zone-policy can't be deleted if zone interfaces are
+ bridges
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Tue, 30 Jun 2009 18:28:55 -0700
+
+vyatta-cfg-system (0.15.60) unstable; urgency=low
+
+ * make changes to work with dhcp 4.1.0
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Mon, 29 Jun 2009 10:05:35 -0700
+
+vyatta-cfg-system (0.15.59) unstable; urgency=low
+
+ * Update hooks to setup config files for installing to a Xen VM.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 25 Jun 2009 17:41:38 -0700
+
+vyatta-cfg-system (0.15.58) unstable; urgency=low
+
+ * Add optional hooks to setup config files for installing to a Xen VM.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 24 Jun 2009 16:19:12 -0700
+
+vyatta-cfg-system (0.15.57) unstable; urgency=low
+
+ * temporarily undo check for firewall ruleset until bug 4554 is
+ resolved
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Wed, 17 Jun 2009 20:35:37 -0700
+
+vyatta-cfg-system (0.15.56) unstable; urgency=low
+
+ * Merged from Jenner.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 17 Jun 2009 16:24:28 -0700
+
+vyatta-cfg-system (0.15.55) unstable; urgency=low
+
+ * Bugfix 4490: Wait for stability after marking partition bootable.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 17 Jun 2009 16:22:47 -0700
+
+vyatta-cfg-system (0.15.54) unstable; urgency=low
+
+ * Bugfix 4490: Mark root partition as "bootable" in the master boot
+ record (MBR).
+
+ -- Bob Gilligan <gilligan@vyatta.com> Wed, 17 Jun 2009 10:49:56 -0700
+
+vyatta-cfg-system (0.15.53) unstable; urgency=low
+
+ * Fix 4579: There is no validation for vrrp virtual-address like the
+ one for interfaces address.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sun, 14 Jun 2009 14:30:17 -0700
+
+vyatta-cfg-system (0.15.52) unstable; urgency=low
+
+ * change default-policy to default-action for zones
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Wed, 03 Jun 2009 16:42:45 -0700
+
+vyatta-cfg-system (0.15.51) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Tacplus no longer part of jenner
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Tue, 02 Jun 2009 11:25:45 -0700
+
+vyatta-cfg-system (0.15.50) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Print error message on failure to create group/user
+
+ [ Mohit Mehta ]
+ * move server,protocol to the same line in config file
+
+ [ Stig Thormodsrud ]
+ * Change tunnel multicast from on/off to enable/disable.
+ * Fix bug preventing 'vyatta' user login.
+
+ [ Stephen Hemminger ]
+ * Fix deletion of pseudo-ethernet
+ * Ignore patch and editor temporary files
+ * Change how system login update works
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 01 Jun 2009 17:43:59 -0700
+
+vyatta-cfg-system (0.15.48) unstable; urgency=low
+
+ * Restore default facility for 'syslog console'
+ * Revert "Restore default facility for 'syslog console'"
+ * NTP management version 3
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 27 May 2009 10:12:45 -0700
+
+vyatta-cfg-system (0.15.47) unstable; urgency=low
+
+ [ Jon Andersson ]
+ * Fix 4430: Not possible to create tunnel on fluctating interfaces
+ * Allow multicast to be enabled on tunnel interfaces.
+
+ [ Stig Thormodsrud ]
+
+ -- Stig Thormodsrud <stig@vyatta.com> Mon, 25 May 2009 14:19:19 -0700
+
+vyatta-cfg-system (0.15.46) unstable; urgency=low
+
+ * Fix install rules
+ * Simplify ntp.conf
+ * Fix post install script to adjust ntp.conf and net.agent
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Sun, 24 May 2009 10:15:03 -0700
+
+vyatta-cfg-system (0.15.45) unstable; urgency=low
+
+ * Put server at end of file
+ * add iburst
+ * Fix ntp.conf management
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 22 May 2009 14:38:52 -0700
+
+vyatta-cfg-system (0.15.44) unstable; urgency=low
+
+ * UNRELEASED
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 22 May 2009 14:36:24 -0700
+
+vyatta-cfg-system (0.15.43) unstable; urgency=low
+
+ * Run ntp during boot
+ * Don't run net.agent
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 22 May 2009 10:22:30 -0700
+
+vyatta-cfg-system (0.15.42) unstable; urgency=low
+
+ * Change default NTP server
+ * Don't flush out ntp.conf on boot
+ * Revert "Change default NTP server"
+ * Add NTP configuration file
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 22 May 2009 08:13:33 -0700
+
+vyatta-cfg-system (0.15.41) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Avoid restarting NTP server if not needed
+
+ [ Mohit Mehta ]
+ * Fix Bug 4416 Add the ability to configure a specific server for
+ DynDNS
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Tue, 19 May 2009 21:24:59 -0700
+
+vyatta-cfg-system (0.15.40) unstable; urgency=low
+
+ * Don't advertise loopback interface as an allowed value for zone
+ interfaces
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 15 May 2009 12:20:42 -0700
+
+vyatta-cfg-system (0.15.39) unstable; urgency=low
+
+ * Fix Bug 4395 After local-zone is set, traffic from localhost is
+ dropped
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 15 May 2009 11:02:14 -0700
+
+vyatta-cfg-system (0.15.38) unstable; urgency=low
+
+ * Allow specifying 'protocols' for syslog facility
+ * Reindent syslog script
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 06 May 2009 17:21:16 -0700
+
+vyatta-cfg-system (0.15.37) unstable; urgency=low
+
+ * * do silent validity check when creating zone chains and adding from
+ zone rules
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Wed, 06 May 2009 16:52:59 -0700
+
+vyatta-cfg-system (0.15.36) unstable; urgency=low
+
+ * Split up system login scripts
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 05 May 2009 13:51:14 -0700
+
+vyatta-cfg-system (0.15.35) unstable; urgency=low
+
+ * * restrict zone name to 20 characters
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Tue, 05 May 2009 11:50:15 -0700
+
+vyatta-cfg-system (0.15.34) unstable; urgency=low
+
+ * Move virtual-ethernet to pseudo-ethernet
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 29 Apr 2009 12:32:41 -0700
+
+vyatta-cfg-system (0.15.33) unstable; urgency=low
+
+ [ Stig Thormodsrud ]
+ * Replace md5 compare with a (hopefully) lighter-weight file compare.
+
+ [ Stephen Hemminger ]
+ * ntp: fix message
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 28 Apr 2009 14:09:30 -0700
+
+vyatta-cfg-system (0.15.32) unstable; urgency=low
+
+ * Using perl module for move() rather than system call.
+ * Avoid unnecessary writing of file if it's the same contents.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Mon, 27 Apr 2009 14:42:17 -0700
+
+vyatta-cfg-system (0.15.31) unstable; urgency=low
+
+ * Add configurable login banners.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sun, 26 Apr 2009 18:53:02 -0700
+
+vyatta-cfg-system (0.15.30) unstable; urgency=low
+
+ * * add jump to local-zone-out chain in OUTPUT chain for both [ip and
+ ip6] tables
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 24 Apr 2009 18:31:57 -0700
+
+vyatta-cfg-system (0.15.29) unstable; urgency=low
+
+ * Add support for virtual-ethernet
+ * New tacacs+ configuration templates
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Fri, 24 Apr 2009 13:01:24 -0700
+
+vyatta-cfg-system (0.15.28) unstable; urgency=low
+
+ [ Justin Fletcher ]
+ * Allow for enterprise MIB
+
+ [ Mohit Mehta ]
+ * Fix Bug 4207 dns forwarding has hardcoded ethernet assumptions
+
+ [ Stig Thormodsrud ]
+
+ -- Stig Thormodsrud <stig@vyatta.com> Thu, 23 Apr 2009 13:26:49 -0700
+
+vyatta-cfg-system (0.15.27) unstable; urgency=low
+
+ * Move disable-link-detect out of vyatta-cfg-quagga to interfaces
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 20 Apr 2009 09:22:39 -0700
+
+vyatta-cfg-system (0.15.26) unstable; urgency=low
+
+ * add default-policy node for zones. can be set to drop or reject
+ * add default-policy node for zones. can be set to drop or reject
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Thu, 16 Apr 2009 17:46:19 -0700
+
+vyatta-cfg-system (0.15.25) unstable; urgency=low
+
+ * add read-write union install mechanism
+ * handle default xen kernel
+ * post-install changes
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Tue, 14 Apr 2009 16:27:15 -0700
+
+vyatta-cfg-system (0.15.24) unstable; urgency=low
+
+ * add local-zone in|out firewall and clean-up code
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 10 Apr 2009 18:41:11 -0700
+
+vyatta-cfg-system (0.15.23) unstable; urgency=low
+
+ * Fix file syslog target
+
+ -- Stephen Hemminger <shemminger@vyatta.com> Fri, 10 Apr 2009 10:13:35 -0700
+
+vyatta-cfg-system (0.15.22) unstable; urgency=low
+
+ * fix xen kernel handling for union install
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 09 Apr 2009 13:49:59 -0700
+
+vyatta-cfg-system (0.15.21) unstable; urgency=low
+
+ * Resolve problems with syslog.conf
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 09 Apr 2009 13:25:42 -0700
+
+vyatta-cfg-system (0.15.20) unstable; urgency=low
+
+ * Rewrite syslog management
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 08 Apr 2009 15:35:47 -0700
+
+vyatta-cfg-system (0.15.19) unstable; urgency=low
+
+ * change xen kernel detection
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 06 Apr 2009 11:41:23 -0700
+
+vyatta-cfg-system (0.15.18) unstable; urgency=low
+
+ * Fix "clear vrrp process". Use new perl lib hierarchy.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Sun, 05 Apr 2009 13:14:14 -0700
+
+vyatta-cfg-system (0.15.17) unstable; urgency=low
+
+ [ Stig Thormodsrud ]
+ * Change "syntax" check to "commit" check for virtual interfaces.
+ * 0.15.16
+
+ [ Stephen Hemminger ]
+ * Update template to handle change in default syslog.conf
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 01 Apr 2009 16:52:02 -0700
+
+vyatta-cfg-system (0.15.16) unstable; urgency=low
+
+ * Change "syntax" check to "commit" check for virtual interfaces.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Wed, 01 Apr 2009 16:27:35 -0700
+
+vyatta-cfg-system (0.15.15) unstable; urgency=low
+
+ * Don't double log quagga messages
+ * Help text spelling fix
+ * Update help text to show which facility is quagga
+ * Use interface check program
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 01 Apr 2009 08:46:51 -0700
+
+vyatta-cfg-system (0.15.14) unstable; urgency=low
+
+ * Turn off forwarding delay if STP is off
+ * Set forwarding-delay when STP is enabled
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 31 Mar 2009 14:12:24 -0700
+
+vyatta-cfg-system (0.15.13) unstable; urgency=low
+
+ * UNRELEASED
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 26 Mar 2009 14:53:20 -0700
+
+vyatta-cfg-system (0.15.12) unstable; urgency=low
+
+ * Bugfix 4139: Increase minimum root filesystem size to 1 GB.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Thu, 26 Mar 2009 14:11:38 -0700
+
+vyatta-cfg-system (0.15.11) unstable; urgency=low
+
+ * Revert "Split login authentication configuration into three scripts"
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Thu, 26 Mar 2009 10:17:39 -0700
+
+vyatta-cfg-system (0.15.10) unstable; urgency=low
+
+ * Add "interface ethernet <> bridge-group bridge" update tag in
+ addition to create tag.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Wed, 25 Mar 2009 18:22:28 -0700
+
+vyatta-cfg-system (0.15.9) unstable; urgency=low
+
+ * Change bridge check from "syntax" to "create".
+
+ -- Stig Thormodsrud <stig@vyatta.com> Wed, 25 Mar 2009 17:45:33 -0700
+
+vyatta-cfg-system (0.15.8) unstable; urgency=low
+
+ * move keepalived.pm to vyatta-cfg
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 25 Mar 2009 16:43:25 -0700
+
+vyatta-cfg-system (0.15.7) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix bare file handle warning
+ * Split login authentication configuration into three scripts
+
+ [ Stig Thormodsrud ]
+ * Change "syntax" check to "commit" check for "bridge-group bridge".
+
+ [ Stephen Hemminger ]
+ * Fix update of description
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 25 Mar 2009 14:19:22 -0700
+
+vyatta-cfg-system (0.15.6) unstable; urgency=low
+
+ * Change "syntax" check to a "commit" check.
+
+ -- Stig Thormodsrud <stig@vyatta.com> Tue, 24 Mar 2009 17:53:17 -0700
+
+vyatta-cfg-system (0.15.5) unstable; urgency=low
+
+ * Save interface description in kernel
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 23 Mar 2009 12:27:42 -0700
+
+vyatta-cfg-system (0.15.4) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Change update to create on multi-nodes
+
+ [ Mohit Mehta ]
+ * will help debug bug 4181 if and when it happens
+
+ [ An-Cheng Huang ]
+ * use renamed tacplus package
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Mon, 23 Mar 2009 11:11:38 -0700
+
+vyatta-cfg-system (0.15.3-14) unstable; urgency=low
+
+ * Fix 4190: vrrp may fail to start daemon if previous commit of vrrp
+ partially failed
+
+ -- Stig Thormodsrud <stig@vyatta.com> Thu, 12 Mar 2009 10:58:43 -0700
+
+vyatta-cfg-system (0.15.3-13) unstable; urgency=low
+
+ [ Mohit Mehta ]
+ * use code from Vyatta::Misc where is_dhcp_enabled() is already
+ defined
+
+ [ Stephen Hemminger ]
+ * Fix perlcritic warning about bare file handle
+ * Fix delete of bonding vif
+ * Don't allow vif on disabled bonding interface
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Wed, 11 Mar 2009 21:36:16 -0700
+
+vyatta-cfg-system (0.15.3-12) unstable; urgency=low
+
+ [ Stig Thormodsrud ]
+ * Fix 4183: No auto completion for group number when running 'clear
+ vrrp
+
+ [ Bob Gilligan ]
+ * Remove per-interface firewall templates. They are generated now.
+
+ -- Bob Gilligan <gilligan@vyatta.com> Mon, 09 Mar 2009 11:16:47 -0700
+
+vyatta-cfg-system (0.15.3-11) unstable; urgency=low
+
+ [ Stig Thormodsrud ]
+ * Remove prefix mask on vip if present since it can't be using in
+ arping.
+
+ [ Stephen Hemminger ]
+ * Fix path to lsof
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Sat, 07 Mar 2009 23:25:55 -0800
+
+vyatta-cfg-system (0.15.3-10) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Fix perlcritic warnings
+ * Change sudo ability of some operator related commands
+ * More checking for open() of log
+
+ [ Stig Thormodsrud ]
+ * Move changes file to /var/run/vrrpd and make sure the directory
+ exists.
+ * Remove unused directory.
+ * Specify source address with arping since we no longer require an IP
+
+ -- Stig Thormodsrud <stig@io.vyatta.com> Fri, 06 Mar 2009 18:59:46 -0800
+
+vyatta-cfg-system (0.15.3-9) unstable; urgency=low
+
+ * Fix path on hwclock cleanout
+ * Run through tidy for indent
+ * Use vyatta-interfaces.pl to show available bonding devices
+ * Use vyatta-interfaces.pl to check bridge validity
+ * Fix slave device startup
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 03 Mar 2009 10:56:22 -0800
+
+vyatta-cfg-system (0.15.3-8) unstable; urgency=low
+
+ * Convert to bonding vif to use netlink.
+ * Change install-system to handle CF better
+ * Remove out of date quick-install
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 02 Mar 2009 16:11:10 -0800
+
+vyatta-cfg-system (0.15.3-7) unstable; urgency=low
+
+ [ Mohit Mehta ]
+ * let admin user set arp paramters
+
+ [ Stig Thormodsrud ]
+ * Fix 3778: vrrp should allow prefix to be included with the virtual-
+ address
+ * Fix breakage from previous cleanup commit.
+ * Fix 4068: 'show vrrp' last transition times are not updated when a
+ transition occurs on boot.
+ * Fix 4152: Add support for VRRP operation on unnumbered interfaces
+
+ -- Stig Thormodsrud <stig@io.vyatta.com> Sun, 01 Mar 2009 12:15:45 -0800
+
+vyatta-cfg-system (0.15.3-6) unstable; urgency=low
+
+ [ An-Cheng Huang ]
+ * fix logic and shell syntax
+ * up the bridge interface when it's created
+
+ [ Mohit Mehta ]
+ * Fix Bug 2463 Allow the neighbor table threshold values to be
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 27 Feb 2009 19:08:52 -0800
+
+vyatta-cfg-system (0.15.3-5) unstable; urgency=low
+
+ * set default values for ipv6 accept_redirects and accept_source_route
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Tue, 24 Feb 2009 18:56:48 -0800
+
+vyatta-cfg-system (0.15.3-4) unstable; urgency=low
+
+ * Allow installation on virtio disk
+ * Don't depend on /proc/ide
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Tue, 24 Feb 2009 15:41:57 -0800
+
+vyatta-cfg-system (0.15.3-3) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * Take out ipt_rlsnmpstats module
+
+ [ Mohit Mehta ]
+ * Fix Bug 3951 default values for kernel tunable security parameters
+ under firewall
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Thu, 19 Feb 2009 19:12:45 -0800
+
+vyatta-cfg-system (0.15.3-2) unstable; urgency=low
+
+ * fix spelling mistake
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Tue, 10 Feb 2009 10:10:03 -0800
+
+vyatta-cfg-system (0.15.3-1) unstable; urgency=low
+
+ [ Stephen Hemminger ]
+ * bridge: handle non ethernet devices in bridge
+
+ [ Mohit Mehta ]
+ * permit operator-level user to issue show and clear commands for
+ firewall
+
+ -- Mohit Mehta <mohit.mehta@vyatta.com> Fri, 06 Feb 2009 17:45:06 -0800
+
+vyatta-cfg-system (0.15.3) unstable; urgency=low
+
+ * Fix delete of bonding interface
+ * Replace bare word file handle
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 26 Jan 2009 16:25:33 -0800
+
+vyatta-cfg-system (0.15.2) unstable; urgency=low
+
+ * disable bridge node should be same as disable ethernet
+ * Bridge/bonding update to new syntax
+
+ -- Stephen Hemminger <stephen.hemminger@vyatta.com> Mon, 12 Jan 2009 16:51:36 -0800
+
+vyatta-cfg-system (0.15.1) unstable; urgency=low
+
+ [ Rick Balocca ]
+ * Fix for bug http://bugzilla.vyatta.com/show_bug.cgi?id=3731
+
+ [ Stephen Hemminger ]
+ * Fix password changer to deal with update config format
+ * Make standalone passwd reset change vyatta not root
+ * Leave root account disabled
+ * Standalone tool now changes vyatta not root password
+
+ [ Rick Balocca ]
+ * Fix typo
+
+ [ rbalocca ]
+ * Fix for bug http://bugzilla.vyatta.com/show_bug.cgi?id=2426
+
+ [ Stephen Hemminger ]
+ * Mount root filesystem with noatime
+ * Add completion for allowed values
+ * Don't force rebuild of ssh_host_key on each boot
+ * Remove OFR from grub lines
+ * fix grammar of previous patch
+ * Don't restart sshd if not needed
+ * Always restart ssh
+
+ [ Robert Bays ]
+ * add basic tacacs+ support
+
+ [ Stephen Hemminger ]
+ * Avoid sleep in ntp restart
+ * Speed up boot
+ * Remove extra call to set hwclock on startup
+ * typo in last commit
+ * Speed up addition of users to system
+
+ [ Mohit Mehta ]
+ * dhcp action scripts for linkup/down
+
+ [ Stephen Hemminger ]
+ * Fix sysctl key values
+
+ [ An-Cheng Huang ]
+ * add support for development build
+
+ [ Mohit Mehta ]
+ * Fix Bug 3917 dhcp brings interface up for lease acquire/renew even
+ though interface has been disabled in CLI
+
+ [ Stephen Hemminger ]
+ * Rename VyattaKeepalived to Vyatta::Keepalived
+ * Convert to Vyatta::Config hierarchy
+
+ [ Bob Gilligan ]
+ * Bugfix 3747: Allow user to break previously existing RAID group.
+
+ [ Stephen Hemminger ]
+ * VyattaConfig -> Vyatta::Config
+ * Add correct help for bonding modes
+
+ [ Rick Balocca ]
+ * Fix for bug http://bugzilla.vyatta.com/show_bug.cgi?id=3963
+
+ [ Stephen Hemminger ]
+ * use vyatta-link-detect
+ * Remove OFR from grub lines
+ * fix grammar of previous patch
+ * need full path to linkdetect
+
+ [ An-Cheng Huang ]
+ * update maintainer information
+ * "files" file should be removed before package build
+
+ [ Stephen Hemminger ]
+ * Add acpid
+
+ [ slioch ]
+ * removed unprintable form-feed characters. This was causing xml
+ validation to fail within the webgui.
+
+ [ Mohit Mehta ]
+ * Fix Bug 4022 dynamic dns config fails during system boot if
+ interface does not exist
+
+ [ An-Cheng Huang ]
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 08 Jan 2009 09:25:28 -0800
+
+vyatta-cfg-system (0.15) unstable; urgency=low
+
+ 3.2.0
+ [ Mark O'Brien ]
+
+
+ [ Bob Gilligan ]
+ * Bugfix 3738: Improve safety in installing onto RAID sets.
+ * Bugfix 3932
+
+ [ Stig Thormodsrud ]
+ * Fix 3929: Operator level user now need sudo password to run "clear
+ arp
+
+ [ Bob Gilligan ]
+ * Bugfix 3928: Need to install vyatta-raid-event script.
+
+ [ Stig Thormodsrud ]
+ * Fix 3920: Operator level users require sudo permission for nat
+ * Fix 3918: Operator level users require sudo permission for ipv6
+ clear
+
+ [ Stephen Hemminger ]
+ * Make sure install-system only run with root privledges
+
+ [ Mohit Mehta ]
+ * make 'show interfaces wirelessmodem <wlm(num)> stats' work from
+ operator mode
+
+ [ Stephen Hemminger ]
+ * Handle older format config files in password reset
+
+ [ An-Cheng Huang ]
+ * fix for bug 2313: add support for "Region/City" timezone
+ specification.
+
+ [ Mohit Mehta ]
+ * rmeove ddclient script from ppp ip-up directory as we configure
+
+ [ Stig Thormodsrud ]
+ * Add config to disable ip/ipv6 forwarding.
+
+ [ Mohit Mehta ]
+ * change input parameter name from dhclient_script to outside_cli to
+
+ [ Robert Bays ]
+ * bug 3791: set sysObjectID and sysDescr
+ * bug 1587: add error message when user tries native install from non-
+ union media
+
+ [ Bob Gilligan ]
+ * Bugfix: 3841
+
+ [ Stephen Hemminger ]
+ * Fix standalone password reset
+ * Allow more ethtool commands
+ * Make stanalone passwd reset work
+
+ [ Mohit Mehta ]
+ * Fix Bug 3840 System error reported on initial SNMP commit with trap
+ target
+
+ [ Stephen Hemminger ]
+ * Handle config file format change in standalone reset
+ * Fix password changer to deal with update config format
+
+ [ An-Cheng Huang ]
+ * add firewall configuration to bridge interface
+
+ [ Stephen Hemminger ]
+ * Fix bad tab completion on interfaces/bonding
+
+ [ Mohit Mehta ]
+ * Fix Bug 3567 Debug messages are not logged by default on upgraded
+ system
+
+ [ Bob Gilligan ]
+ * Bugfix: 3687: Only start mdadm if we have a RAID group as root
+ filesystem.
+ * Bugfix: 3775: Allow RAID-1 to be configured on disks with different
+ sizes
+
+ [ Stig Thormodsrud ]
+ * Change telnet allow-root type from txt to bool.
+
+ [ Stephen Hemminger ]
+ * Need sudo when editing ssh config file
+ * Fix parsing of allow-root field
+ * Revert "Block remote access to rpc-bind port"
+ * Block remote access to rpc-bind port
+
+ [ Bob Gilligan ]
+ * Bugfix: 3744
+
+ [ An-Cheng Huang ]
+ * remove unused files
+ * use epoch in package version number
+ * add ssh key blacklists
+
+ [ Stephen Hemminger ]
+ * Allow non-livecd union install
+ * install-system can only run from livecd
+
+ [ Bob Gilligan ]
+ * Bugfix: 3226
+
+ [ Robert Bays ]
+ * fix ssh keygen on startup
+
+ [ Mohit Mehta ]
+ * - redo internal snmpv3 user creation for linkUpDownNotifications
+ * Fix Bug 3751 configuring multiple global syslog facilities
+ overwrites previous ones in /etc/syslog.conf
+
+ [ Stephen Hemminger ]
+ * Go back to simpler syslog config
+ * Don't allow operator to reboot system
+
+ [ Bob Gilligan ]
+ * Bugfix: 3226
+
+ [ Stephen Hemminger ]
+ * Revert "Set correct mode on configuration mode"
+ * Set correct mode on configuration mode
+
+ [ An-Cheng Huang ]
+ * fix xen grub setup
+
+ [ slioch ]
+ * Revert "Change allow-root nodes to boolean"
+
+ [ Stephen Hemminger ]
+ * Change allow-root nodes to boolean
+
+ [ Mohit Mehta ]
+ * don't poll resolv files for nameserver changes - it messes up
+ statistics
+
+ [ rbalocca ]
+ * Fix for bug http://bugzilla.vyatta.com/show_bug.cgi?id=3735
+
+ [ Bob Gilligan ]
+ * Bugfix: 3743
+
+ [ Mohit Mehta ]
+ * Fix Bug 3609 - "show tech-support" does not display open file
+ information for operator level user
+
+ [ Bob Gilligan ]
+ * Bugfix: 3727
+ * Bugfix: 3572
+
+ [ Stephen Hemminger ]
+ * Standalone passwd reset prompt for password
+ * Workaround problems with mkpasswd
+
+ [ rbalocca ]
+ * Add vyatta-grub-setup
+ * Fix for bug http://bugzilla.vyatta.com/show_bug.cgi?id=3712
+
+ [ Bob Gilligan ]
+ * Bugfix: 3492
+ * Bugfix: 3515
+ * Bugfix: 3703
+
+ [ Stephen Hemminger ]
+ * No longer need to turn off SACK
+ * Allow any number of bridge devices
+ * Allow any number of tunnel devices
+
+ [ Rick Balocca ]
+ * Fix for bug http://bugzilla.vyatta.com/show_bug.cgi?id=3694
+
+ [ Mohit Mehta ]
+ * Fix Bug 3607 Error setting DNS forwarding to use DHCP
+
+ [ Stephen Hemminger ]
+ * Don't need to list ifenslave twice
+ * Add support for bonding
+
+ [ Robert Bays ]
+ * expose the union option in install-system
+ * fix bug 3863
+ * Don't kill An-Cheng's commits.
+ * change to native install from a USB stick
+ * remove complex options from union install
+ * changed union install to support multiple directories
+
+ [ An-Cheng Huang ]
+ * add postinst hook for install-system
+
+ [ Mohit Mehta ]
+ * use script for setting/deleting system nameservers
+ * preserve system name-servers order in /etc/resolv.conf as configured
+ in CLI
+ * - change forced update wait time from 2 weeks to 4 weeks if no
+ change in IP as per the free service provided by dyndns
+ * - remove ddclient cache before restarting
+
+ [ Robert Bays ]
+ * fixes to install-system and grub-setup for xen hypervisor and
+ device.map
+
+ [ Mohit Mehta ]
+ * - use apt per interface ddclient files
+
+ [ Bob Gilligan ]
+ * Account for size of diag partition when calculating disk size, which
+ is needed
+
+ [ Mohit Mehta ]
+ * first attempt at implementing CLI support for Dynamic DNS
+ * better worded warning when no name-servers set under 'system name-
+ server'
+ * released interface should be flagged as a warning rather than a
+ commit failed
+
+ [ Robert Bays ]
+ * add functioanlity for binary images to install system
+
+ [ Mohit Mehta ]
+ * prompt warning for no nameservers if no nameservers set and no
+ interface set to use dhcp
+
+ [ Stephen Hemminger ]
+ * Add support for aufs
+
+ [ Mohit Mehta ]
+ * polish up DNS forwarding error messages
+ * show bridge interfaces in allowed values as well if configured to
+ use dhcp
+ * move from a 'ignore-interface' model to a 'listen-on' model for DNS
+ forwarding
+ * - get ddclient package for Dynamic DNS
+
+ [ An-Cheng Huang ]
+ * remove 2nd timeout to avoid 64-bit boot problem
+
+ [ Bob Gilligan ]
+ * Update install-system and grub-setup to handle RAID-1 configuration.
+
+ [ Rick Balocca ]
+ * Merge from "hollywood"
+
+ [ rbalocca ]
+ * Merge from "hollywood"
+
+ [ Bob Gilligan ]
+ * Add mdadm package to support RAID-1 configurations.
+
+ [ Mohit Mehta ]
+ * - servers being used for dns forwarding written to dnsmasq.conf with
+ more info in comments
+ * log dnsmasq output to /var/log/dnsmasq.log on start-up and whilst
+ running (i.e. when sent a signal to log)
+ * tighten the checks for checking the existence or removal or
+ nameservers
+ * tighten regex pattern to get dhclient resolv files
+
+ [ Stig Thormodsrud ]
+ * Change udevtrigger to udevadm trigger.
+
+ [ Mohit Mehta ]
+ * remove earlier added dnsmasq options
+ * update dns forwarding nameservers on dhcp lease updates
+ * any change in system name-servers should be communicated to dnsmasq
+ * configure dnsmasq to use dns-servers as specified in CLI
+ * use config rather than /etc/resolv.conf to get system set
+ nameservers
+ * code to specify DNS forwarding nameservers (system, dhcp, explicitly
+ specified) using CLI
+ * tighten syntax check
+ * change 'service dns forward' to 'service dns forwarding'
+ * this better detects the interfaces in /proc/net/dev
+
+ [ Rick Balocca ]
+ * Script cleanup
+
+ [ Mohit Mehta ]
+ * change DNS forwarding CLI from 'service dns-forwarding' to 'service
+ dns forward'
+ * add missing comma
+
+ [ Mark O'Brien ]
+ * control: added ifenslave-2.6 to debian control file
+
+ [ rbalocca ]
+ * Fix for http://bugzilla.vyatta.com/show_bug.cgi?id=3542
+
+ [ Mohit Mehta ]
+ * add command for user to enter interfaces on which not to listen for
+ DNS queries
+ * - add ability to set cache-size for DNS forwarding from CLI
+
+ [ Rick Balocca ]
+ * Cleanup
+ * Additional fixes for http://bugzilla.vyatta.com/show_bug.cgi?id=3520
+
+ [ rbalocca ]
+ * Fixes for: http://bugzilla.vyatta.com/show_bug.cgi?id=3520
+ http://bugzilla.vyatta.com/show_bug.cgi?id=3519
+ http://bugzilla.vyatta.com/show_bug.cgi?d for:
+ http://bugzilla.vyatta.com/show_bug.cgi?id=3520
+ http://bugzilla.vyatta.com/show_bug.cgi?id=3519
+ http://bugzilla.vyatta.com/show_bug.cgi?id=3518 and perhaps others
+
+ [ Mohit Mehta ]
+ * First parts of DNS forwarding stuff
+
+ [ Stig Thormodsrud ]
+ * Add IPv6 address to comp_help for bridge/tunnel
+ * Enable IPv6 forwarding.
+
+ [ Stephen Hemminger ]
+ * Get rid of debian build warning
+
+ [ Rick Balocca ]
+ * Fix for http://bugzilla.vyatta.com/show_bug.cgi?id=3225
+ * Partial fix for http://bugzilla.vyatta.com/show_bug.cgi?id=3225
+
+ [ Bob Gilligan ]
+ * Bugfix: 3519
+
+ [ rbalocca ]
+ * Since this packages changes the bash-completion conf file, it must
+ be installed after bash-completion
+
+ [ Mohit Mehta ]
+ * add dnsmasq package to be included in the build
+
+ [ rbalocca ]
+ * The postinst was printing a '?'
+
+ [ An-Cheng Huang ]
+ * fix for bug 3459: make bash-completion use "builtin set".
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@firebolt.vyatta.com> Tue, 25 Nov 2008 19:09:21 -0800
+
+vyatta-cfg-system (0.14) unstable; urgency=low
+
+ 3.1.4
+ [ Mark O'Brien ]
+
+
+ [ Robert Bays ]
+ * fix ssh keygen on startup
+
+ [ An-Cheng Huang ]
+ * remove unused files
+ * use epoch in package version number
+ * add ssh key blacklists
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@firebolt.vyatta.com> Tue, 14 Oct 2008 17:30:18 -0700
+
+vyatta-cfg-system (0.13) unstable; urgency=low
+
+ 3.1.3
+ [ Mark O'Brien ]
+
+
+ [ Bob Gilligan ]
+ * Bugfix: 1292
+ * Bugfix: 1292
+
+ [ rbalocca ]
+ * More spaces (bugs http://bugzilla.vyatta.com/show_bug.cgi?id=3549
+ and http://bugzilla.vyatta.com/show_bug.cgi?id=3552)
+ * Fixes for bugs: http://bugzilla.vyatta.com/show_bug.cgi?id=3549 and
+ http://bugzilla.vyatta.com/show_bug.cgi?id=3552
+
+ [ Rick Balocca ]
+ * Merge from islavista
+ * Fix for http://bugzilla.vyatta.com/show_bug.cgi?id=3520
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@firebolt.vyatta.com> Tue, 19 Aug 2008 17:48:26 -0700
+
+vyatta-cfg-system (0.12) unstable; urgency=low
+
+ 3.1.2
+ [ Mark O'Brien ]
+
+
+ [ Mohit Mehta ]
+ * => Modified vyatta_update_resolv.pl to update (i.e. add and remove)
+ 'name-server' and 'domain-name-server' options
+
+ [ root ]
+ * Fix 3359: changing telnet setting drops other telnet sessions.
+
+ [ Stig Thormodsrud ]
+ * Fix 3460: vrrp authentication error msg is wrong
+
+ [ Stephen Hemminger ]
+ * purge any old entries from sudoers
+ * Don't add ide=nodma twice
+
+ [ rbalocca ]
+ * Remove debugging
+ * Fix for bug http://bugzilla.vyatta.com/show_bug.cgi?id=2807
+
+ [ Robert Bays ]
+ * fix for bug 3095
+
+ [ Stephen Hemminger ]
+ * Modify upgrade procedure for /etc/sudoers
+
+ [ An-Cheng Huang ]
+ * fix for bug 3417: use UUID in grub config file
+
+ [ Stephen Hemminger ]
+ * Fix problem if install-system run twice
+
+ [ Bob Gilligan ]
+ * Bugfix: 1592
+
+ [ Stephen Hemminger ]
+ * Missing -e causes sudoers problem
+ * Can't use logger in standalone
+ * get rid of extra fi from last commit
+ * Change syslogging of authorization related commands
+ * Use logger to write system log
+ * Make standalone password reset work
+ * Handle multiple slashes in passwd
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@firebolt.vyatta.com> Wed, 23 Jul 2008 21:35:54 -0700
+
+vyatta-cfg-system (0.11) unstable; urgency=low
+
+ 3.1.1
+ [ Mark O'Brien ]
+
+
+ [ Stig Thormodsrud ]
+ * Fix 3379: tunnel interfaces are artificially limited to tun0-tun9
+ * Add cli to enable proxy arp on a interface.
+
+ [ Bob Gilligan ]
+ * Bugfix: 1292
+
+ [ Stephen Hemminger ]
+ * translate slash in password
+ * Spellin fixes
+
+ [ Auto Build ]
+ * Remove dependency on grub-pc
+
+ [ rbalocca ]
+ * Insist on vyatta-keepalived
+ * Additional dependencies
+
+ [ Bob Gilligan ]
+ * Bugfix: 3259
+
+ [ Stig Thormodsrud ]
+ * Add module version for vrrp.
+ * Fix 2030: Enhancement: VRRP preemption hold down timer
+
+ [ Stephen Hemminger ]
+ * Prompt for vyatta and root password
+ * Use tr command rather than awk
+ * Use UUID to find root filesystem
+ * Surpress messages by default
+ * Add passwd sync script
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@firebolt.vyatta.com> Sat, 28 Jun 2008 11:22:12 -0700
+
+vyatta-cfg-system (0.10) unstable; urgency=low
+
+ 3.1.0
+ [ Mark O'Brien ]
+
+
+ [ An-Cheng Huang ]
+ * fix for bug 3032: rename pre-glendale config files during install-
+ system.
+
+ [ Robert Bays ]
+ * fix bug 3039
+
+ [ Stephen Hemminger ]
+ * Turn off framebuffer (by default)
+
+ [ Stig Thormodsrud ]
+ * Fix 1818: Add disable option to vrrp.
+
+ [ Stephen Hemminger ]
+ * Enable vga framebuffer on console
+ * Allow operator to run wanpipemon
+
+ [ Bob Gilligan ]
+ * Bugfix: 3305
+
+ [ Stig Thormodsrud ]
+ * Fix 3328: operator can't issue "show vrrp".
+
+ [ Stephen Hemminger ]
+ * wrong option to useradd
+ * Put vyatta users in the users group
+
+ [ Stig Thormodsrud ]
+ * Fix 787: Add a command to force vrrp state transition to backup
+
+ [ Stephen Hemminger ]
+ * Switch back to snmpd
+ * Remove shell template (not ready yet).
+
+ [ Robert Bays ]
+ * fix for bugs 3294 and 3296
+
+ [ Stephen Hemminger ]
+ * Turn off TCP SACK
+ * Pull in vyatta version of snmpd
+
+ [ Mohit Mehta ]
+ * Fix Bug 3094 SMUX port is open to outside connections
+
+ [ Stephen Hemminger ]
+ * Allow any user to be in config file
+ * Rework how user accounts are managed
+ * re-indent login script
+ * Add GPL license
+
+ [ Tom Grennan ]
+ * add libnetaddr-ip-perl dependency
+
+ [ Stig Thormodsrud ]
+ * Fix 2705: Add "clear vrrp process" command.
+ * Fix vrrp snoop_for_master() to also work with AH authentication.
+ * Make vrrp pcap filter more specific.
+ * Fix 3273: "show vrrp summary" output doesn't line-up when using
+ vlans
+ * Fix 3155: setting the third vrrp member with the highest priority
+ doesn't change (update) the backup
+
+ [ rbalocca ]
+ * Add vyatta-busybox to dependencies
+ * Ignore derived files
+
+ [ rbays ]
+ * update install-system to work with xen setup
+
+ [ Stig Thormodsrud ]
+ * Fix 3251: vrrp should also send a gratuitous arp reply on master
+ transition
+ * Fix 3144: VRRP backup obtains VIP resulting in a duplicate IP
+ situation.
+ * Change dependancy from keepalived to vyatta-keepalived.
+
+ [ rbays ]
+ * fix install system to use the correct kernels in grub.cfg
+
+ [ An-Cheng Huang ]
+ * fix typo in rl-system.init
+
+ [ Stephen Hemminger ]
+ * Move sysctl configuration to /etc/vyatta-sysctl.conf
+
+ [ Stig Thormodsrud ]
+ * Set initial vrrp state based on existing state if available.
+
+ [ rbalocca ]
+ * Convert to our method of changelog creation
+
+ [ Mohit Mehta ]
+ * Modifications to send link up/down traps to configured trap-target
+ * Modifications for enabling net-snmp's interaction with quagga for
+ bgp, ospf and rip mib traversals
+
+ [ Stephen Hemminger ]
+ * watchlink is no longer used
+
+ [ rbalocca ]
+ * Pretty print the grub.cfg file
+ * Partitions in grub-pc now start at 1 (instead of 0)
+ * Update install-system to use grub-pc
+ * Revert "remove deprecated install scripts"
+ * config.boot.default is not moved to the top level repo (build-
+ iso.git)
+
+ [ Mohit Mehta ]
+ * Fix Bug 3172 set interfaces tunnel <> key <> allowed after tunnel
+ creation
+
+ [ Stig Thormodsrud ]
+ * Fix 3148: can't delete bridge interface
+
+ [ Mohit Mehta ]
+ * Fix Bug 3164 set interfaces tunnel tun0 remote-ip <> doesn't take
+ effect after committing
+
+ [ rbalocca ]
+ * Merge from glendale
+
+ [ Mohit Mehta ]
+ * Bug 3069 Help strings should be standardized
+ * Bug 3069 Help strings should be standardized
+ * Fix Bug 3069 Help strings should be standardized
+ * Fix Bug 1059 Feature Request: integrate 'tcpdump' and 'tethereal'
+ into Vyatta CLI
+
+ [ An-Cheng Huang ]
+ * fix dependencies
+
+ [ Stephen Hemminger ]
+ * Allow operator to run ntpdate
+
+ [ Mohit Mehta ]
+ * Fix Bug 2778 VRRP: add ability to run scripts on state transition
+
+ [ Tom Grennan ]
+ * consolidate proc/sys flag settings to livecd/install hook
+ * remove deprecated install scripts
+
+ [ Mohit Mehta ]
+ * Fix Bug 802 VRRP - add "show vrrp summary" command (TC 3.2.5.7.2)
+
+ [ Stig Thormodsrud ]
+ * Add tshark dependency on vyatta-cfg-system.
+
+ [ Stephen Hemminger ]
+ * Fix format of date from rl-system.init
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@firebolt.vyatta.com> Tue, 17 Jun 2008 09:26:27 -0700
+
+vyatta-cfg-system (0.9) unstable; urgency=low
+
+ 3.0.5
+
+
+ -- Mark O'Brien <mobrien@vyatta.com> Tue, 06 May 2008 12:43:15 -0700
+
+vyatta-cfg-system (0.8) unstable; urgency=low
+
+ 3.0.4
+ [ Mark O'Brien ]
+
+
+ [ An-Cheng Huang ]
+ * fix for bug 3225: only insert sudoers if not present.
+
+ [ Stig Thormodsrud ]
+ * Mimic the transaction mechanism to only restart the vrrp daemon
+ once/commit.
+
+ [ rbalocca ]
+ * config.boot.default is not moved to the top level repo (build-
+ iso.git)
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@vyatta.com> Mon, 05 May 2008 16:40:35 -0700
+
+vyatta-cfg-system (0.7) unstable; urgency=low
+
+ 3.0.3
+ [ Mark O'Brien ]
+
+
+ [ Stephen Hemminger ]
+ * watchlink is no longer used
+
+ [ rbalocca ]
+ * Indicate the VC4.0.2 release candidate in the changelog
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@vyatta.com> Tue, 29 Apr 2008 16:42:17 -0700
+
+vyatta-cfg-system (0.6) unstable; urgency=low
+
+ VC4.0.2
+
+
+ -- Mark O'Brien <mobrien@vyatta.com> Sat, 19 Apr 2008 11:56:03 -0700
+
+vyatta-cfg-system (0.5) unstable; urgency=low
+
+ VC4.0.2 release candidate
+ [ Mark O'Brien ]
+
+
+ [ Stig Thormodsrud ]
+ * Fix 3148: can't delete bridge interface
+
+ [ rbalocca ]
+ * Remove vestigal version file from vyatta-cfg-system
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@vyatta.com> Wed, 16 Apr 2008 09:50:05 -0700
+
+vyatta-cfg-system (0.4) unstable; urgency=low
+
+ 3.0.2
+ [ Mark O'Brien ]
+
+
+ [ An-Cheng Huang ]
+ * fix for bug 3032: rename pre-glendale config files during install-
+ system.
+ * fix for bug 3087: add proper dependency to ensure install order.
+
+ [ Bob Gilligan ]
+ * Bugfix: 3021
+
+ [ Mark O'Brien ]
+ * Update version file to 3.0.1
+ * 3.0.1
+
+ [ Michael Larson ]
+ * up proc limit for rmem_max to support zebra netlink buffer size
+ increase.
+
+ [ Mohit Mehta ]
+ * Fix Bug 3027 Unable to configure SNMP community client address
+
+ [ Robert Bays ]
+ * fix bug 3039
+
+ [ Stephen Hemminger ]
+ * Allow operator to run ntpdate
+
+ [ Stig Thormodsrud ]
+ * Add vrrp vip addresses to watchlink exclude file.
+ * Fix 3086: VRRP only allows up to 20 virtual IPs
+
+ [ rbalocca ]
+ * Fix debian dependencies
+ * Line up the colons with the one from the copyright notice (in show
+ version)
+ * Set dependencies on either bash or vyatta-bash
+ * Move the copyright dates over (bug 3028)
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@vyatta.com> Fri, 04 Apr 2008 18:00:34 -0700
+
+vyatta-cfg-system (0.3) unstable; urgency=low
+
+ VC4.0.1
+ [ Mark O'Brien ]
+
+
+ [ An-Cheng Huang ]
+ * fix for bug 2083: add radius authentication support.
+
+ [ Mark O'Brien ]
+ * Update version file to VC4.0.1
+
+ [ Mohit Mehta ]
+ * Fix Bug 2707 Missing from Glendale
+ * CLI tab enhancement at "set interfaces ethernet <> address"
+
+ [ Robert Bays ]
+ * fixes for bugs 2499, 2967
+
+ [ Stephen Hemminger ]
+ * add operator and admin to linux group adm
+ * add option to disable root login over ssh
+ * fix ssh allow-root template
+ * put operator in operator group
+ * add explicit list of commands in sudoers
+ * don't allow illegal hostnames
+ * allow numbers in hostname
+ * allow non-root to clear nat counters
+ * Replace VPL with GPLv2
+ * Changes for license/copyright
+ * Update to GPLv2
+ * Move init-floppy to /opt/vyatta/sbin
+ * Allow operator to set date.
+
+ [ Stig Thormodsrud ]
+ * Fix 2877: Bridge group can not be assiged to vif sub interfaceZ
+ * Fix parse error in /etc/sudoers
+ * Fix 2880 SNMP configuration file issues
+ * Fix 2695 GRE tunnel doesn't work with "key"
+
+ [ rbalocca ]
+ * Fix for bug #2934
+ * Fix for bug #2542 ( http://bugzilla.vyatta.com/show_bug.cgi?id=2542
+ )
+ * Fix for bug #2921 ( http://bugzilla.vyatta.com/show_bug.cgi?id=2921
+ )
+ * Revert "Fix for bug #2921 (
+ http://bugzilla.vyatta.com/show_bug.cgi?id=2921 )"
+ * Improve the package repository template
+ * Fix for bug #2969 ( http://bugzilla.vyatta.com/show_bug.cgi?id=2969
+ )
+ * Update copyright for "show version"
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@vyatta.com> Tue, 18 Mar 2008 19:03:58 -0700
+
+vyatta-cfg-system (0.2) unstable; urgency=low
+
+ vc4.0.0
+ [ Mark O'Brien ]
+
+
+ [ An-Cheng Huang ]
+ * clean up temp file in delete fail case
+ * convert templates to new syntax
+ * add commit check for user password
+ * revise the password check
+ * fix for bug 2768: add "dynamic" keyword to server entry.
+ * template cleanup and fix for bug 2785: update /etc/mailname with
+ hostname.
+ * prevent ':' in full name (separator in passwd)
+ * allow empty full-name
+ * fix for bug 2547: don't require/output ':' after "hw-id".
+ * fix for bug 2855: change help text
+ * debian's latest update to "bash" (3.1dfsg-9) broke the completion
+ mechanism.
+ * fix for bug 2764: rename user level
+ * use vyattacfg for config files
+
+ [ Mark O'Brien ]
+ * Updated syslog help with severity information.
+ * Update version file to vc4.0.0
+
+ [ Michael Larson ]
+ * bump up rmem_max limit to 223232 (in conjunction with fix for zebra)
+
+ [ Stig Thormodsrud ]
+ * update tunnel help strings with defaults
+ * add a few missing help strings
+ * - Fix 2745: bridge-group cost - syntax error
+ * Fix 2819 Plain-text authentication should be identified as such.
+ * Fix syntax error in "interface bridge <> priority".
+
+ [ Tom Grennan ]
+ * source /etc/default/vyatta instead of configuring install-system
+ * remove stale CONFIG_PARTITION comments
+
+ [ rbalocca ]
+ * Add version file
+ * Update version file to 4.0.0
+ * 4.0.0
+ * vyatta-cfg-system postinst was clobbering version file
+ * These files will be changed by autobuild-git-eureak
+ * Missing version file in Makefile.am
+
+ [ Mark O'Brien ]
+
+ -- Mark O'Brien <mobrien@vyatta.com> Mon, 25 Feb 2008 17:38:40 -0800
+
+vyatta-cfg-system (0.1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 18 Oct 2007 11:03:18 -0700
diff --git a/Makefile.am b/Makefile.am
index 5445f9cd..01ea0ce6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,7 +22,6 @@ checkparamsonreboot_DATA += scripts/check-params-on-reboot.d/README
initd_SCRIPTS += etc/init.d/ec2-vyos-init
initd_SCRIPTS += etc/init.d/vyatta-config-reboot-params
-initd_SCRIPTS += etc/init.d/vyos-intfwatchd
checkparamsonreboot_SCRIPTS += scripts/check-params-on-reboot.d/ipv6_disable_blacklist
@@ -40,29 +39,21 @@ sbin_SCRIPTS += scripts/vyatta-dhcp-helper.pl
sbin_SCRIPTS += scripts/check_file_in_config_dir
sbin_SCRIPTS += scripts/rl-system.init
-sbin_SCRIPTS += scripts/install-system
sbin_SCRIPTS += scripts/vyatta-grub-setup
sbin_SCRIPTS += scripts/standalone_root_pw_reset
sbin_SCRIPTS += scripts/vyatta-passwd-sync
sbin_SCRIPTS += scripts/system/vyatta_check_username.pl
-sbin_SCRIPTS += scripts/system/vyatta_check_snmp_name.pl
sbin_SCRIPTS += scripts/system/vyatta_check_domainname.pl
sbin_SCRIPTS += scripts/system/vyatta_interface_rescan
-sbin_SCRIPTS += scripts/system/vyatta_update_hosts.pl
sbin_SCRIPTS += scripts/system/vyatta_update_login.pl
sbin_SCRIPTS += scripts/system/vyatta_update_logrotate.pl
sbin_SCRIPTS += scripts/system/vyatta_update_resolv.pl
sbin_SCRIPTS += scripts/system/vyatta_update_sysctl.pl
sbin_SCRIPTS += scripts/system/vyatta_update_syslog.pl
sbin_SCRIPTS += scripts/system/vyatta_update_console.pl
-sbin_SCRIPTS += scripts/system/vyatta_update_ntp.pl
-sbin_SCRIPTS += scripts/system/vyatta_update_telnet
sbin_SCRIPTS += scripts/system/irq-affinity.pl
-sbin_SCRIPTS += scripts/snmp/vyatta-snmp.pl
-sbin_SCRIPTS += scripts/snmp/vyatta-snmp-v3.pl
sbin_SCRIPTS += scripts/snmp/if-mib-alias
sbin_SCRIPTS += scripts/telnetd.init
-sbin_SCRIPTS += scripts/dns-forwarding/vyatta-dns-forwarding.pl
sbin_SCRIPTS += scripts/dynamic-dns/vyatta-dynamic-dns.pl
sbin_SCRIPTS += scripts/vyatta-system-nameservers
sbin_SCRIPTS += scripts/vyatta-interfaces.pl
@@ -84,9 +75,9 @@ sbin_SCRIPTS += scripts/vyatta-bridge.pl
sbin_SCRIPTS += scripts/vyatta-bridgegroup-depedency.pl
sbin_SCRIPTS += scripts/vyatta-dhcpv6-client.pl
sbin_SCRIPTS += scripts/vyatta-update-grub.pl
-sbin_SCRIPTS += scripts/vyos-intfwatchd
sbin_SCRIPTS += scripts/ec2-check.pl
sbin_SCRIPTS += scripts/is_port_available.pl
+sbin_SCRIPTS += scripts/vyos-persistpath
sbin_PROGRAMS = src/valid_address
sbin_PROGRAMS += src/local_ip
@@ -127,7 +118,7 @@ rsyslogdir = /etc/rsyslog.d
rsyslog_DATA = sysconf/vyatta-log.conf
curver_DATA = cfg-version/vrrp@1
-curver_DATA += cfg-version/system@7
+curver_DATA += cfg-version/system@8
cpiop = find . ! -regex '\(.*~\|.*\.bak\|.*\.swp\|.*\#.*\#\)' -print0 | \
cpio -0pd
diff --git a/cfg-version/system@7 b/cfg-version/system@8
index e69de29b..e69de29b 100644
--- a/cfg-version/system@7
+++ b/cfg-version/system@8
diff --git a/debian/changelog b/debian/changelog
index 15a8c152..d2199010 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,94 @@
+vyatta-cfg-system (0.20.44+vyos2+current11) unstable; urgency=medium
+
+ * T588: Remove DNS forwarder restart command in favour if XML interface definition
+
+ -- Christian Poessinger <christian@poessinger.com> Wed, 11 Apr 2018 20:35:32 +0200
+
+vyatta-cfg-system (0.20.44+vyos2+current10) unstable; urgency=medium
+
+ * T157: Remove "install system" command
+
+ -- Christian Poessinger <christian@poessinger.com> Sat, 10 Mar 2018 18:34:00 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+current9) unstable; urgency=medium
+
+ * T546: Add support for IPv6 address in 'service dns forwarding domain'
+ * T533: Rename "client" NTP option to "allow-clients"
+ * T522: Adjust rsyslog.conf to use the journald forwarding
+
+ -- Christian Poessinger <christian@poessinger.com> Wed, 21 Feb 2018 11:28:46 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+current8) unstable; urgency=medium
+
+ * T523: Only bind dnsmasq to configured interfaces
+ * T523: Use systemctl to stop/restart dnsmasq
+ * T523: Use new location for dnsmasq config files
+
+ -- Christian Poessinger <christian@poessinger.com> Sun, 21 Jan 2018 17:16:04 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+current7) unstable; urgency=medium
+
+ * T297: Fix DNS Forwarding server does not allow IPv6 address in name-server
+
+ -- Christian Poessinger <christian@poessinger.com> Thu, 28 Dec 2017 00:39:04 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+current6) unstable; urgency=medium
+
+ * T496: remove diagnostic partition for RAID1 installs
+
+ -- Christian Poessinger <christian@poessinger.com> Wed, 27 Dec 2017 23:32:44 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+current5) unstable; urgency=medium
+
+ * T488: GRUB can't boot from software RAID
+
+ -- Christian Poessinger <christian@poessinger.com> Tue, 26 Dec 2017 14:40:54 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+current4) unstable; urgency=medium
+
+ * T414: Remove telnetd service
+
+ -- Christian Poessinger <christian@poessinger.com> Sat, 09 Dec 2017 15:29:45 +0100
+
+vyatta-cfg-system (0.20.44+vyos2+current3) unstable; urgency=medium
+
+ [ Kim Hagen ]
+ * Update 'is_live_cd_boot' and 'is_union_instal' functions to search on 'overlay' instead of 'overlayfs'
+
+ [ Seamus Caveney ]
+ * vyatta-cfg-system: add support for 6rd tunnel interfaces
+
+ [ Daniil Baturin ]
+ * Sanitize dependencies, use ISC DHCP client.
+
+ -- Daniil Baturin <daniil@baturin.org> Wed, 27 Jan 2016 08:24:32 -0500
+
+vyatta-cfg-system (0.20.44+vyos2+current2) unstable; urgency=medium
+
+ * Update dependencies
+
+ -- Kim Hagen <kim.sidney@gmail.com> Mon, 25 Jan 2016 03:47:13 -0500
+
+vyatta-cfg-system (0.20.44+vyos2+current1) unstable; urgency=medium
+
+ [ UnicronNL ]
+ * Remove fuse group, not needed in debian jessie
+
+ [ Thomas Jepp ]
+ * Dependency fixes for Jessie. Remove the dependency on vyatta-busybox, use the system busybox.
+ * Add missing runtime dependencies.
+
+ [ Kim Hagen ]
+
+ -- Kim Hagen <kim.sidney@gmail.com> Sun, 24 Jan 2016 15:04:10 -0500
+
vyatta-cfg-system (0.20.44+vyos2+lithium43) unstable; urgency=low
[ Alex Harpin ]
* vyatta-cfg-system: drop the sysctl all node as it's broken
* vyatta-cfg-system: tidy up of sysctl nodes, remove extraneous nodes
* vyatta-cfg-system: prevent deletion of all authentication for user
-
+
-- Alex Harpin <development@landsofshadow.co.uk> Tue, 01 Dec 2015 23:03:42 +0000
vyatta-cfg-system (0.20.44+vyos2+lithium42) unstable; urgency=low
@@ -12,7 +96,7 @@ vyatta-cfg-system (0.20.44+vyos2+lithium42) unstable; urgency=low
[ Alex Harpin ]
* vyatta-cfg-system: add restart option to vyatta-snmp.pl
* vyatta-cfg-system: formatting changes for style consistency
-
+
-- Alex Harpin <development@landsofshadow.co.uk> Sat, 21 Nov 2015 11:33:38 +0000
vyatta-cfg-system (0.20.44+vyos2+lithium41) unstable; urgency=low
@@ -20,7 +104,7 @@ vyatta-cfg-system (0.20.44+vyos2+lithium41) unstable; urgency=low
[ Alex Harpin ]
* vyatta-cfg-system: formatting changes for style consistency
* vyatta-cfg-system: add restart option to vyatta-dns-forwarding.pl
-
+
-- Alex Harpin <development@landsofshadow.co.uk> Thu, 19 Nov 2015 22:25:54 +0000
vyatta-cfg-system (0.20.44+vyos2+lithium41) unstable; urgency=low
diff --git a/debian/control b/debian/control
index cb0e0f59..12b27b1b 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: vyatta-cfg-system
Section: contrib/net
Priority: extra
Maintainer: VyOS Package Maintainers <maintainers@vyos.net>
-Build-Depends: debhelper (>= 5), autotools-dev
+Build-Depends: debhelper (>= 5), autotools-dev, autoconf, automake, cpio
Standards-Version: 3.9.1
Package: vyatta-cfg-system
@@ -20,32 +20,21 @@ Depends: adduser,
libpam-runtime (>= 1.0.1-5),
vyatta-bash | bash (>= 3.1),
sysv-rc,
- ntp (>= 4.2.4p6+vyatta-7),
udev (>= 160-1),
rsyslog | system-log-daemon,
- vyatta-busybox,
+ busybox,
sudo,
- snmpd (>= 5.4.2.1-vyatta11),
- vyatta-keepalived (>= 1.1.15-1-vyatta-5),
bridge-utils,
ethtool,
- ssh (>= 1:5.1p1-5),
- openssh-server (>= 1:5.1p1-5),
ed,
ifupdown,
- tshark,
- iputils-arping,
installation-report,
laptop-detect,
- usbutils,
mgetty,
tasksel,
- snmp,
tcpdump,
- dnsmasq (>= 2.45-1+lenny1),
mdadm,
- ddclient (>= 3.8.2+vyos2+lithium6),
- dnsutils,
+ ddclient (>= 3.8.2+vyos2+current1),
libio-socket-ssl-perl,
vyatta-biosdevname,
ipvsadm (>= 1:1.24-2.1),
@@ -53,11 +42,11 @@ Depends: adduser,
apt-transport-https,
hostapd (>= 1:0.6.9-3),
libcap2-bin (>= 2.19),
- vyatta-dhcp3-client (>= 4.1.8+vyos2+lithium3),
- vlan,
- iproute,
+ isc-dhcp-client,
+ iproute2,
curl,
parted,
+ libpam-cap,
${arch:Depends}
Pre-Depends: bash-completion
Suggests: util-linux (>= 2.13-5),
diff --git a/debian/vyatta-cfg-system.install b/debian/vyatta-cfg-system.install
new file mode 100644
index 00000000..240d5fc8
--- /dev/null
+++ b/debian/vyatta-cfg-system.install
@@ -0,0 +1 @@
+mibs usr/share/snmp
diff --git a/debian/vyatta-cfg-system.postinst.in b/debian/vyatta-cfg-system.postinst.in
index 37c19275..fd27ebc4 100755
--- a/debian/vyatta-cfg-system.postinst.in
+++ b/debian/vyatta-cfg-system.postinst.in
@@ -8,9 +8,12 @@ sbindir=@sbindir@
# remove init of daemons that are controlled by Vyatta configuration process
for init in ntp ssh snmpd openhpid logd \
- ipvsadm dnsmasq ddclient radvd hostapd conntrackd
+ ipvsadm dnsmasq ddclient radvd \
+ hostapd conntrackd keepalived \
+ pdns-recursor
do
update-rc.d -f ${init} remove >/dev/null
+ systemctl disable ${init} >/dev/null
done
# remove extra call to clock setup only need one. this speeds up boot
@@ -187,7 +190,7 @@ if [ -e /etc/default/mdadm ]; then
fi
# Disable reboot on ctrl-alt-delete
-sed -i -e '/^ca/s/\/sbin\/shutdown .*$/\/bin\/echo "Ctrl\-Alt\-Del disabled."/' /etc/inittab
+ln -sf /dev/null /lib/systemd/system/ctrl-alt-del.target
# remove unnecessary ddclient script in /etc/ppp/ip-up.d/
# this logs unnecessary messages trying to start ddclient
@@ -217,6 +220,29 @@ update-rc.d vyos-intfwatchd start 2345
# set ec2-vyos-init to start on boot
update-rc.d ec2-vyos-init start 2345
+# Add radius operator user for radius users to map to
+if ! grep -q '^radius_user' /etc/passwd; then
+ adduser --quiet --firstuid 1001 --disabled-login --ingroup users --gecos "radius user" --shell /bin/vbash radius_user
+ adduser --quiet radius_user quaggavty
+ adduser --quiet radius_user vyattaop
+ adduser --quiet radius_user operator
+ adduser --quiet radius_user adm
+ adduser --quiet radius_user dip
+ adduser --quiet radius_user users
+fi
+
+# Add radius admin user for radius users to map to
+if ! grep -q '^radius_priv_user' /etc/passwd; then
+ adduser --quiet --firstuid 1001 --disabled-login --ingroup vyattacfg --gecos "radius privileged user" --shell /bin/vbash radius_priv_user
+ adduser --quiet radius_priv_user quaggavty
+ adduser --quiet radius_priv_user vyattacfg
+ adduser --quiet radius_priv_user sudo
+ adduser --quiet radius_priv_user adm
+ adduser --quiet radius_priv_user dip
+ adduser --quiet radius_priv_user disk
+ adduser --quiet radius_priv_user users
+fi
+
# Local Variables:
# mode: shell-script
# sh-indentation: 4
diff --git a/etc/init.d/vyos-intfwatchd b/etc/init.d/vyos-intfwatchd
deleted file mode 100755
index 6c5907a5..00000000
--- a/etc/init.d/vyos-intfwatchd
+++ /dev/null
@@ -1,87 +0,0 @@
-#! /bin/sh
-
-### BEGIN INIT INFO
-# Provides: vyos-intfwatchd
-# Required-Start: vyatta-router
-# Required-Stop:
-# Default-Start: 2 3 4 5
-# Default-Stop:
-# Short-Description: Interface status monitoring daemon
-### END INIT INFO
-
-set -e
-
-# /etc/init.d/vyos-intfwatchd: start and stop the event watching daemon
-
-test -x /opt/vyatta/sbin/vyos-intfwatchd || exit 0
-
-umask 022
-
-. /lib/lsb/init-functions
-
-if [ -n "$2" ]; then
- EWD_OPTS="$EWD_OPTS $2"
-fi
-
-# Are we running from init?
-run_by_init() {
- ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
-}
-
-check_dev_null() {
- if [ ! -c /dev/null ]; then
- if [ "$1" = log_end_msg ]; then
- log_end_msg 1 || true
- fi
- if ! run_by_init; then
- log_action_msg "/dev/null is not a character device!"
- fi
- exit 1
- fi
-}
-
-export PATH="${PATH:+$PATH:}/usr/sbin:/sbin:/usr/bin:/opt/vyatta/sbin"
-
-case "$1" in
- start)
- check_dev_null
- log_daemon_msg "Starting vyos-intfwatchd" "vyos-intfwatchd"
- if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/vyos-intfwatchd.pid --exec /opt/vyatta/sbin/vyos-intfwatchd -- $EWD_OPTS; then
- log_end_msg 0
- else
- log_end_msg 1
- fi
- ;;
- stop)
- log_daemon_msg "Stopping vyos-intfwatchd" "vyos-intfwatchd"
- VI_PID=`cat /var/run/vyos-intfwatchd.pid`
- for p in `pgrep -P $VI_PID`; do
- kill $p
- done
- if start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/vyos-intfwatchd.pid; then
- log_end_msg 0
- else
- log_end_msg 1
- fi
- ;;
- restart)
- log_daemon_msg "Restarting vyos-intfwatchd" "vyos-intfwatchd"
- start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/vyos-intfwatchd.pid
- check_for_no_start log_end_msg
- check_dev_null log_end_msg
- if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/vyos-intfwatchd.pid --exec /opt/vyatta/sbin/vyos-intfwatchd -- $EWD_OPTS; then
- log_end_msg 0
- else
- log_end_msg 1
- fi
- ;;
- status)
- status_of_proc -p /var/run/vyos-intfwatchd.pid /opt/vyatta/sbin/vyos-intfwatchd vyos-intfwatchd && exit 0 || exit $?
- ;;
-
- *)
- log_action_msg "Usage: /etc/init.d/vyos-intfwatchd {start|stop|restart|status}"
- exit 1
-esac
-
-exit 0
diff --git a/lib/Vyatta/Login/RadiusServer.pm b/lib/Vyatta/Login/RadiusServer.pm
index 0de9bd28..5a71b1f8 100644
--- a/lib/Vyatta/Login/RadiusServer.pm
+++ b/lib/Vyatta/Login/RadiusServer.pm
@@ -29,8 +29,14 @@ my $PAM_RAD_AUTH = "/usr/share/pam-configs/radius";
my $PAM_RAD_SYSCONF = "/opt/vyatta/etc/pam_radius.cfg";
sub remove_pam_radius {
+ system('sed -i -e \'/^passwd:.*mapuid[ \t]/s/mapuid[ \t]//\' \
+ -e \'/^passwd:.*[ \t]mapname/s/[ \t]mapname//\' \
+ -e \'/^group:.*[ \t]mapname/s/[ \t]mapname//\' \
+ -e \'s/[ \t]*$//\' \
+ /etc/nsswitch.conf');
+
system("DEBIAN_FRONTEND=noninteractive " .
- " pam-auth-update --package --remove radius") == 0
+ "pam-auth-update --package --remove radius") == 0
or die "pam-auth-update remove failed";
unlink($PAM_RAD_AUTH)
@@ -43,7 +49,16 @@ sub add_pam_radius {
system("DEBIAN_FRONTEND=noninteractive " .
"pam-auth-update --package radius") == 0
- or die "pam-auth-update add failed"
+ or die "pam-auth-update add failed";
+
+ system('sed -i -e \'/\smapname/b\' \
+ -e \'/^passwd:/s/\s\s*/&mapuid /\' \
+ -e \'/^passwd:.*#/s/#.*/mapname &/\' \
+ -e \'/^passwd:[^#]*$/s/$/ mapname &/\' \
+ -e \'/^group:.*#/s/#.*/ mapname &/\' \
+ -e \'/^group:[^#]*$/s/: */&mapname /\' \
+ /etc/nsswitch.conf') == 0
+ or die "NSS configuration failed";
}
sub update {
@@ -66,6 +81,8 @@ sub update {
my $timeout = $rconfig->returnValue("$server timeout");
print $cfg "$server:$port\t$secret\t$timeout\n";
++$count;
+ print $cfg "priv-lvl 15\n";
+ print $cfg "mapped_priv_user radius_priv_user\n";
}
close($cfg);
diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm
index e03888cd..02fb96ee 100755
--- a/lib/Vyatta/Login/User.pm
+++ b/lib/Vyatta/Login/User.pm
@@ -167,7 +167,7 @@ sub _update_user {
# not found in existing passwd, must be new
my $cmd;
- unless ( defined($uid) ) {
+ unless ( defined($uid) and $uid ne "1001" ) {
# make new user using vyatta shell
# and make home directory (-m)
# and with default group of 100 (users)
@@ -231,6 +231,9 @@ sub update {
# This can happen if user added but configuration not saved
# and system is rebooted
foreach my $user ( _local_users() ) {
+ # skip radius users
+ next if $user eq 'radius_user';
+ next if $user eq 'radius_priv_user';
# did we see this user in configuration?
next if defined $users{$user};
diff --git a/mibs/AGENTX-MIB.txt b/mibs/AGENTX-MIB.txt
new file mode 100644
index 00000000..f9e5acd5
--- /dev/null
+++ b/mibs/AGENTX-MIB.txt
@@ -0,0 +1,527 @@
+AGENTX-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2
+ FROM SNMPv2-SMI
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ TEXTUAL-CONVENTION, TimeStamp, TruthValue, TDomain
+ FROM SNMPv2-TC;
+agentxMIB MODULE-IDENTITY
+ LAST-UPDATED "200001100000Z" -- Midnight 10 January 2000
+ ORGANIZATION "AgentX Working Group"
+ CONTACT-INFO "WG-email: agentx@dorothy.bmc.com
+ Subscribe: agentx-request@dorothy.bmc.com
+ WG-email Archive: ftp://ftp.peer.com/pub/agentx/archives
+ FTP repository: ftp://ftp.peer.com/pub/agentx
+ http://www.ietf.org/html.charters/agentx-charter.html
+
+ Chair: Bob Natale
+ ACE*COMM Corporation
+ Email: bnatale@acecomm.com
+
+ WG editor: Mark Ellison
+ Ellison Software Consulting, Inc.
+ Email: ellison@world.std.com
+
+ Co-author: Lauren Heintz
+ Cisco Systems,
+ EMail: lheintz@cisco.com
+
+ Co-author: Smitha Gudur
+ Independent Consultant
+ Email: sgudur@hotmail.com
+ "
+ DESCRIPTION "This is the MIB module for the SNMP Agent Extensibility
+ Protocol (AgentX). This MIB module will be implemented by
+ the master agent.
+ "
+
+ REVISION "200001100000Z" -- Midnight 10 January 2000
+ DESCRIPTION
+ "Initial version published as RFC 2742."
+ ::= { mib-2 74 }
+
+ -- Textual Conventions
+
+ AgentxTAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a transport service address. This is identical to
+ the TAddress textual convention (SNMPv2-SMI) except that
+ zero-length values are permitted.
+ "
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+ -- Administrative assignments
+
+ agentxObjects OBJECT IDENTIFIER ::= { agentxMIB 1 }
+ agentxGeneral OBJECT IDENTIFIER ::= { agentxObjects 1 }
+ agentxConnection OBJECT IDENTIFIER ::= { agentxObjects 2 }
+ agentxSession OBJECT IDENTIFIER ::= { agentxObjects 3 }
+ agentxRegistration OBJECT IDENTIFIER ::= { agentxObjects 4 }
+
+ agentxDefaultTimeout OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The default length of time, in seconds, that the master
+ agent should allow to elapse after dispatching a message
+ to a session before it regards the subagent as not
+ responding. This is a system-wide value that may
+ override the timeout value associated with a particular
+ session (agentxSessionTimeout) or a particular registered
+ MIB region (agentxRegTimeout). If the associated value of
+ agentxSessionTimeout and agentxRegTimeout are zero, or
+ impractical in accordance with implementation-specific
+ procedure of the master agent, the value represented by
+ this object will be the effective timeout value for the
+
+ master agent to await a response to a dispatch from a
+ given subagent.
+ "
+ DEFVAL { 5 }
+ ::= { agentxGeneral 1 }
+
+ agentxMasterAgentXVer OBJECT-TYPE
+ SYNTAX INTEGER (1..255)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The AgentX protocol version supported by this master agent.
+ The current protocol version is 1. Note that the master agent
+ must also allow interaction with earlier version subagents.
+ "
+ ::= { agentxGeneral 2 }
+
+ -- The AgentX Subagent Connection Group
+
+ agentxConnTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last row creation or deletion
+ occurred in the agentxConnectionTable.
+ "
+ ::= { agentxConnection 1 }
+
+ agentxConnectionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AgentxConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The agentxConnectionTable tracks all current AgentX transport
+ connections. There may be zero, one, or more AgentX sessions
+ carried on a given AgentX connection.
+ "
+ ::= { agentxConnection 2 }
+
+ agentxConnectionEntry OBJECT-TYPE
+ SYNTAX AgentxConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An agentxConnectionEntry contains information describing a
+ single AgentX transport connection. A connection may be
+
+ used to support zero or more AgentX sessions. An entry is
+ created when a new transport connection is established,
+ and is destroyed when the transport connection is terminated.
+ "
+ INDEX { agentxConnIndex }
+ ::= { agentxConnectionTable 1 }
+
+ AgentxConnectionEntry ::= SEQUENCE {
+ agentxConnIndex Unsigned32,
+ agentxConnOpenTime TimeStamp,
+ agentxConnTransportDomain TDomain,
+ agentxConnTransportAddress AgentxTAddress }
+
+ agentxConnIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "agentxConnIndex contains the value that uniquely identifies
+ an open transport connection used by this master agent
+ to provide AgentX service. Values of this index should
+ not be re-used. The value assigned to a given transport
+ connection is constant for the lifetime of that connection.
+ "
+ ::= { agentxConnectionEntry 1 }
+
+ agentxConnOpenTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this connection was established
+ and, therefore, its value when this entry was added to the table.
+ "
+ ::= { agentxConnectionEntry 2 }
+
+ agentxConnTransportDomain OBJECT-TYPE
+ SYNTAX TDomain
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The transport protocol in use for this connection to the
+ subagent.
+ "
+ ::= { agentxConnectionEntry 3 }
+
+ agentxConnTransportAddress OBJECT-TYPE
+ SYNTAX AgentxTAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The transport address of the remote (subagent) end of this
+ connection to the master agent. This object may be zero-length
+ for unix-domain sockets (and possibly other types of transport
+ addresses) since the subagent need not bind a filename to its
+ local socket.
+ "
+ ::= { agentxConnectionEntry 4 }
+
+ -- The AgentX Subagent Session Group
+
+ agentxSessionTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last row creation or deletion
+ occurred in the agentxSessionTable.
+ "
+ ::= { agentxSession 1 }
+
+ agentxSessionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AgentxSessionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of AgentX subagent sessions currently in effect.
+ "
+ ::= { agentxSession 2 }
+
+ agentxSessionEntry OBJECT-TYPE
+ SYNTAX AgentxSessionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single open session between the AgentX
+ master agent and a subagent is contained in this entry. An
+ entry is created when a new session is successfully established
+ and is destroyed either when the subagent transport connection
+ has terminated or when the subagent session is closed.
+ "
+ INDEX { agentxConnIndex, agentxSessionIndex }
+ ::= { agentxSessionTable 1 }
+
+ AgentxSessionEntry ::= SEQUENCE {
+ agentxSessionIndex Unsigned32,
+ agentxSessionObjectID OBJECT IDENTIFIER,
+ agentxSessionDescr SnmpAdminString,
+ agentxSessionAdminStatus INTEGER,
+ agentxSessionOpenTime TimeStamp,
+ agentxSessionAgentXVer INTEGER,
+ agentxSessionTimeout INTEGER
+ }
+
+ agentxSessionIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (0..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique index for the subagent session. It is the same as
+ h.sessionID defined in the agentx header. Note that if
+ a subagent's session with the master agent is closed for
+ any reason its index should not be re-used.
+ A value of zero(0) is specifically allowed in order
+ to be compatible with the definition of h.sessionId.
+ "
+ ::= { agentxSessionEntry 1 }
+
+ agentxSessionObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This is taken from the o.id field of the agentx-Open-PDU.
+ This attribute will report a value of '0.0' for subagents
+ not supporting the notion of an AgentX session object
+ identifier.
+ "
+ ::= { agentxSessionEntry 2 }
+
+ agentxSessionDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the session. This is analogous to
+ sysDescr defined in the SNMPv2-MIB in RFC 1907 [19] and is
+ taken from the o.descr field of the agentx-Open-PDU.
+ This attribute will report a zero-length string value for
+ subagents not supporting the notion of a session description.
+ "
+ ::= { agentxSessionEntry 3 }
+
+ agentxSessionAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The administrative (desired) status of the session. Setting
+ the value to 'down(2)' closes the subagent session (with c.reason
+ set to 'reasonByManager').
+ "
+ ::= { agentxSessionEntry 4 }
+
+ agentxSessionOpenTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this session was opened and,
+ therefore, its value when this entry was added to the table.
+ "
+ ::= { agentxSessionEntry 5 }
+
+ agentxSessionAgentXVer OBJECT-TYPE
+ SYNTAX INTEGER (1..255)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version of the AgentX protocol supported by the
+ session. This must be less than or equal to the value of
+ agentxMasterAgentXVer.
+ "
+ ::= { agentxSessionEntry 6 }
+
+ agentxSessionTimeout OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The length of time, in seconds, that a master agent should
+ allow to elapse after dispatching a message to this session
+ before it regards the subagent as not responding. This value
+ is taken from the o.timeout field of the agentx-Open-PDU.
+ This is a session-specific value that may be overridden by
+ values associated with the specific registered MIB regions
+ (see agentxRegTimeout). A value of zero(0) indicates that
+ the master agent's default timeout value should be used
+
+ (see agentxDefaultTimeout).
+ "
+ ::= { agentxSessionEntry 7 }
+
+ -- The AgentX Registration Group
+
+ agentxRegistrationTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last row creation or deletion
+ occurred in the agentxRegistrationTable.
+ "
+ ::= { agentxRegistration 1 }
+
+ agentxRegistrationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AgentxRegistrationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of registered regions.
+ "
+ ::= { agentxRegistration 2 }
+
+ agentxRegistrationEntry OBJECT-TYPE
+ SYNTAX AgentxRegistrationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Contains information for a single registered region. An
+ entry is created when a session successfully registers a
+ region and is destroyed for any of three reasons: this region
+ is unregistered by the session, the session is closed,
+ or the subagent connection is closed.
+ "
+ INDEX { agentxConnIndex, agentxSessionIndex, agentxRegIndex }
+ ::= { agentxRegistrationTable 1 }
+
+ AgentxRegistrationEntry ::= SEQUENCE {
+ agentxRegIndex Unsigned32,
+ agentxRegContext OCTET STRING,
+ agentxRegStart OBJECT IDENTIFIER,
+ agentxRegRangeSubId Unsigned32,
+ agentxRegUpperBound Unsigned32,
+ agentxRegPriority Unsigned32,
+ agentxRegTimeout INTEGER,
+ agentxRegInstance TruthValue }
+
+ agentxRegIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "agentxRegIndex uniquely identifies a registration entry.
+ This value is constant for the lifetime of an entry.
+ "
+ ::= { agentxRegistrationEntry 1 }
+
+ agentxRegContext OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The context in which the session supports the objects in this
+ region. A zero-length context indicates the default context.
+ "
+ ::= { agentxRegistrationEntry 2 }
+
+ agentxRegStart OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The starting OBJECT IDENTIFIER of this registration entry. The
+ session identified by agentxSessionIndex implements objects
+ starting at this value (inclusive). Note that this value could
+ identify an object type, an object instance, or a partial object
+ instance.
+ "
+ ::= { agentxRegistrationEntry 3 }
+
+ agentxRegRangeSubId OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "agentxRegRangeSubId is used to specify the range. This is
+ taken from r.region_subid in the registration PDU. If the value
+ of this object is zero, no range is specified. If it is non-zero,
+ it identifies the `nth' sub-identifier in r.region for which
+ this entry's agentxRegUpperBound value is substituted in the
+ OID for purposes of defining the region's upper bound.
+ "
+ ::= { agentxRegistrationEntry 4 }
+
+ agentxRegUpperBound OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "agentxRegUpperBound represents the upper-bound sub-identifier in
+ a registration. This is taken from the r.upper_bound in the
+ registration PDU. If agentxRegRangeSubid (r.region_subid) is
+ zero, this value is also zero and is not used to define an upper
+ bound for this registration.
+ "
+ ::= { agentxRegistrationEntry 5 }
+
+ agentxRegPriority OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The registration priority. Lower values have higher priority.
+ This value is taken from r.priority in the register PDU.
+ Sessions should use the value of 127 for r.priority if a
+ default value is desired.
+ "
+ ::= { agentxRegistrationEntry 6 }
+
+ agentxRegTimeout OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The timeout value, in seconds, for responses to
+ requests associated with this registered MIB region.
+ A value of zero(0) indicates the default value (indicated
+ by by agentxSessionTimeout or agentxDefaultTimeout) is to
+ be used. This value is taken from the r.timeout field of
+ the agentx-Register-PDU.
+ "
+ ::= { agentxRegistrationEntry 7 }
+
+ agentxRegInstance OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of agentxRegInstance is `true' for
+ registrations for which the INSTANCE_REGISTRATION
+ was set, and is `false' for all other registrations.
+ "
+ ::= { agentxRegistrationEntry 8 }
+
+ -- Conformance Statements for AgentX
+
+ agentxConformance OBJECT IDENTIFIER ::= { agentxMIB 2 }
+ agentxMIBGroups OBJECT IDENTIFIER ::= { agentxConformance 1 }
+ agentxMIBCompliances OBJECT IDENTIFIER ::= { agentxConformance 2 }
+
+ -- Compliance Statements for AgentX
+
+ agentxMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that implement the
+ AgentX protocol. Note that a compliant agent can implement all
+ objects in this MIB module as read-only.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { agentxMIBGroup }
+
+ OBJECT agentxSessionAdminStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required.
+ "
+ ::= { agentxMIBCompliances 1 }
+
+ agentxMIBGroup OBJECT-GROUP
+ OBJECTS {
+ agentxDefaultTimeout,
+ agentxMasterAgentXVer,
+ agentxConnTableLastChange,
+ agentxConnOpenTime,
+ agentxConnTransportDomain,
+ agentxConnTransportAddress,
+ agentxSessionTableLastChange,
+ agentxSessionTimeout,
+ agentxSessionObjectID,
+ agentxSessionDescr,
+ agentxSessionAdminStatus,
+ agentxSessionOpenTime,
+ agentxSessionAgentXVer,
+ agentxRegistrationTableLastChange,
+ agentxRegContext,
+ agentxRegStart,
+ agentxRegRangeSubId,
+ agentxRegUpperBound,
+ agentxRegPriority,
+ agentxRegTimeout,
+ agentxRegInstance
+ }
+ STATUS current
+ DESCRIPTION
+ "All accessible objects in the AgentX MIB.
+ "
+ ::= { agentxMIBGroups 1 }
+
+ END
diff --git a/mibs/BGP4-MIB.txt b/mibs/BGP4-MIB.txt
new file mode 100644
index 00000000..c911316c
--- /dev/null
+++ b/mibs/BGP4-MIB.txt
@@ -0,0 +1,929 @@
+ BGP4-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ IpAddress, Integer32, Counter32, Gauge32, mib-2
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF;
+
+ bgp MODULE-IDENTITY
+ LAST-UPDATED "9902100000Z"
+ ORGANIZATION "IETF IDR Working Group"
+ CONTACT-INFO "E-mail: idr@merit.net
+
+ Susan Hares (Editor)
+ Merit Network
+ 4251 Plymouth Road
+ Suite C
+ Ann Arbor, MI 48105-2785
+ Tel: +1 734 936 2095
+ Fax: +1 734 647 3185
+ E-mail: skh@merit.edu
+
+ Jeff Johnson (Editor)
+ RedBack Networks, Inc.
+ 1389 Moffett Park Drive
+ Sunnyvale, CA 94089-1134
+ Tel: +1 408 548 3516
+ Fax: +1 408 548 3599
+ E-mail: jeff@redback.com"
+ DESCRIPTION
+ "The MIB module for BGP-4."
+ REVISION "9902100000Z"
+ DESCRIPTION
+ "Corrected duplicate OBJECT IDENTIFIER
+ assignment in the conformance information."
+ REVISION "9601080000Z"
+ DESCRIPTION
+ "1) Fixed the definitions of the traps to
+ make them equivalent to their initial
+ definition in RFC 1269.
+ 2) Added compliance and conformance info."
+ ::= { mib-2 15 }
+
+ bgpVersion OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Vector of supported BGP protocol version
+ numbers. Each peer negotiates the version
+ from this vector. Versions are identified
+ via the string of bits contained within this
+ object. The first octet contains bits 0 to
+ 7, the second octet contains bits 8 to 15,
+ and so on, with the most significant bit
+ referring to the lowest bit number in the
+ octet (e.g., the MSB of the first octet
+ refers to bit 0). If a bit, i, is present
+ and set, then the version (i+1) of the BGP
+ is supported."
+ ::= { bgp 1 }
+
+ bgpLocalAs OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local autonomous system number."
+ ::= { bgp 2 }
+
+
+
+ -- BGP Peer table. This table contains, one entry per BGP
+ -- peer, information about the BGP peer.
+
+ bgpPeerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF BgpPeerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "BGP peer table. This table contains,
+ one entry per BGP peer, information about the
+ connections with BGP peers."
+ ::= { bgp 3 }
+
+ bgpPeerEntry OBJECT-TYPE
+ SYNTAX BgpPeerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Entry containing information about the
+ connection with a BGP peer."
+ INDEX { bgpPeerRemoteAddr }
+ ::= { bgpPeerTable 1 }
+
+ BgpPeerEntry ::= SEQUENCE {
+ bgpPeerIdentifier
+ IpAddress,
+ bgpPeerState
+ INTEGER,
+ bgpPeerAdminStatus
+ INTEGER,
+ bgpPeerNegotiatedVersion
+ Integer32,
+ bgpPeerLocalAddr
+ IpAddress,
+ bgpPeerLocalPort
+ INTEGER,
+ bgpPeerRemoteAddr
+ IpAddress,
+ bgpPeerRemotePort
+ INTEGER,
+ bgpPeerRemoteAs
+ INTEGER,
+ bgpPeerInUpdates
+ Counter32,
+ bgpPeerOutUpdates
+ Counter32,
+ bgpPeerInTotalMessages
+ Counter32,
+ bgpPeerOutTotalMessages
+ Counter32,
+ bgpPeerLastError
+ OCTET STRING,
+ bgpPeerFsmEstablishedTransitions
+ Counter32,
+ bgpPeerFsmEstablishedTime
+ Gauge32,
+ bgpPeerConnectRetryInterval
+ INTEGER,
+ bgpPeerHoldTime
+ INTEGER,
+ bgpPeerKeepAlive
+ INTEGER,
+ bgpPeerHoldTimeConfigured
+ INTEGER,
+ bgpPeerKeepAliveConfigured
+ INTEGER,
+ bgpPeerMinASOriginationInterval
+ INTEGER,
+ bgpPeerMinRouteAdvertisementInterval
+ INTEGER,
+ bgpPeerInUpdateElapsedTime
+ Gauge32
+ }
+
+ bgpPeerIdentifier OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The BGP Identifier of this entry's BGP peer."
+ ::= { bgpPeerEntry 1 }
+
+ bgpPeerState OBJECT-TYPE
+ SYNTAX INTEGER {
+ idle(1),
+ connect(2),
+ active(3),
+ opensent(4),
+ openconfirm(5),
+ established(6)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The BGP peer connection state."
+ ::= { bgpPeerEntry 2 }
+
+ bgpPeerAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ stop(1),
+ start(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The desired state of the BGP connection. A
+ transition from 'stop' to 'start' will cause
+ the BGP Start Event to be generated. A
+ transition from 'start' to 'stop' will cause
+ the BGP Stop Event to be generated. This
+ parameter can be used to restart BGP peer
+ connections. Care should be used in providing
+ write access to this object without adequate
+ authentication."
+ ::= { bgpPeerEntry 3 }
+
+ bgpPeerNegotiatedVersion OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The negotiated version of BGP running between
+ the two peers."
+ ::= { bgpPeerEntry 4 }
+
+ bgpPeerLocalAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local IP address of this entry's BGP
+ connection."
+ ::= { bgpPeerEntry 5 }
+
+ bgpPeerLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local port for the TCP connection between
+ the BGP peers."
+ ::= { bgpPeerEntry 6 }
+
+ bgpPeerRemoteAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remote IP address of this entry's BGP
+ peer."
+ ::= { bgpPeerEntry 7 }
+
+ bgpPeerRemotePort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remote port for the TCP connection between
+ the BGP peers. Note that the objects
+ bgpPeerLocalAddr, bgpPeerLocalPort,
+ bgpPeerRemoteAddr and bgpPeerRemotePort
+ provide the appropriate reference to the
+ standard MIB TCP connection table."
+ ::= { bgpPeerEntry 8 }
+
+ bgpPeerRemoteAs OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remote autonomous system number."
+ ::= { bgpPeerEntry 9 }
+
+ bgpPeerInUpdates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of BGP UPDATE messages received on
+ this connection. This object should be
+ initialized to zero (0) when the connection is
+ established."
+ ::= { bgpPeerEntry 10 }
+
+ bgpPeerOutUpdates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of BGP UPDATE messages transmitted
+ on this connection. This object should be
+ initialized to zero (0) when the connection is
+ established."
+ ::= { bgpPeerEntry 11 }
+
+ bgpPeerInTotalMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages received from the
+ remote peer on this connection. This object
+ should be initialized to zero when the
+ connection is established."
+ ::= { bgpPeerEntry 12 }
+
+ bgpPeerOutTotalMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages transmitted to
+ the remote peer on this connection. This object
+ should be initialized to zero when the
+ connection is established."
+ ::= { bgpPeerEntry 13 }
+
+ bgpPeerLastError OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (2))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last error code and subcode seen by this
+ peer on this connection. If no error has
+ occurred, this field is zero. Otherwise, the
+ first byte of this two byte OCTET STRING
+ contains the error code, and the second byte
+ contains the subcode."
+ ::= { bgpPeerEntry 14 }
+
+ bgpPeerFsmEstablishedTransitions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of times the BGP FSM
+ transitioned into the established state."
+ ::= { bgpPeerEntry 15 }
+
+ bgpPeerFsmEstablishedTime OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This timer indicates how long (in seconds) this
+ peer has been in the Established state or how long
+ since this peer was last in the Established state.
+ It is set to zero when a new peer is configured or
+ the router is booted."
+ ::= { bgpPeerEntry 16 }
+
+ bgpPeerConnectRetryInterval OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Time interval in seconds for the ConnectRetry
+ timer. The suggested value for this timer is
+ 120 seconds."
+ ::= { bgpPeerEntry 17 }
+
+ bgpPeerHoldTime OBJECT-TYPE
+ SYNTAX INTEGER ( 0 | 3..65535 )
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time interval in seconds for the Hold Timer
+ established with the peer. The value of this
+ object is calculated by this BGP speaker by
+ using the smaller of the value in
+ bgpPeerHoldTimeConfigured and the Hold Time
+ received in the OPEN message. This value
+ must be at lease three seconds if it is not
+ zero (0) in which case the Hold Timer has
+ not been established with the peer, or, the
+ value of bgpPeerHoldTimeConfigured is zero (0)."
+ ::= { bgpPeerEntry 18 }
+
+ bgpPeerKeepAlive OBJECT-TYPE
+ SYNTAX INTEGER ( 0 | 1..21845 )
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time interval in seconds for the KeepAlive
+ timer established with the peer. The value of
+ this object is calculated by this BGP speaker
+ such that, when compared with bgpPeerHoldTime,
+ it has the same proportion as what
+ bgpPeerKeepAliveConfigured has when compared
+ with bgpPeerHoldTimeConfigured. If the value
+ of this object is zero (0), it indicates that
+ the KeepAlive timer has not been established
+ with the peer, or, the value of
+ bgpPeerKeepAliveConfigured is zero (0)."
+ ::= { bgpPeerEntry 19 }
+
+ bgpPeerHoldTimeConfigured OBJECT-TYPE
+ SYNTAX INTEGER ( 0 | 3..65535 )
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Time interval in seconds for the Hold Time
+ configured for this BGP speaker with this peer.
+ This value is placed in an OPEN message sent to
+ this peer by this BGP speaker, and is compared
+ with the Hold Time field in an OPEN message
+ received from the peer when determining the Hold
+ Time (bgpPeerHoldTime) with the peer. This value
+ must not be less than three seconds if it is not
+ zero (0) in which case the Hold Time is NOT to be
+ established with the peer. The suggested value for
+ this timer is 90 seconds."
+ ::= { bgpPeerEntry 20 }
+
+ bgpPeerKeepAliveConfigured OBJECT-TYPE
+ SYNTAX INTEGER ( 0 | 1..21845 )
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Time interval in seconds for the KeepAlive timer
+ configured for this BGP speaker with this peer.
+ The value of this object will only determine the
+ KEEPALIVE messages' frequency relative to the value
+ specified in bgpPeerHoldTimeConfigured; the actual
+ time interval for the KEEPALIVE messages is
+ indicated by bgpPeerKeepAlive. A reasonable
+ maximum value for this timer would be configured to
+ be one third of that of bgpPeerHoldTimeConfigured.
+ If the value of this object is zero (0), no
+ periodical KEEPALIVE messages are sent to the peer
+ after the BGP connection has been established. The
+ suggested value for this timer is 30 seconds."
+ ::= { bgpPeerEntry 21 }
+
+ bgpPeerMinASOriginationInterval OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Time interval in seconds for the
+ MinASOriginationInterval timer.
+ The suggested value for this timer is 15 seconds."
+ ::= { bgpPeerEntry 22 }
+
+ bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Time interval in seconds for the
+ MinRouteAdvertisementInterval timer.
+ The suggested value for this timer is 30 seconds."
+ ::= { bgpPeerEntry 23 }
+
+ bgpPeerInUpdateElapsedTime OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Elapsed time in seconds since the last BGP
+ UPDATE message was received from the peer.
+ Each time bgpPeerInUpdates is incremented,
+ the value of this object is set to zero (0)."
+ ::= { bgpPeerEntry 24 }
+
+
+
+ bgpIdentifier OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The BGP Identifier of local system."
+ ::= { bgp 4 }
+
+
+
+ -- Received Path Attribute Table. This table contains,
+ -- one entry per path to a network, path attributes
+ -- received from all peers running BGP version 3 or less.
+ -- This table is obsolete, having been replaced in
+ -- functionality with the bgp4PathAttrTable.
+
+ bgpRcvdPathAttrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF BgpPathAttrEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "The BGP Received Path Attribute Table contains
+ information about paths to destination networks
+ received from all peers running BGP version 3 or
+ less."
+ ::= { bgp 5 }
+
+ bgpPathAttrEntry OBJECT-TYPE
+ SYNTAX BgpPathAttrEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "Information about a path to a network."
+ INDEX { bgpPathAttrDestNetwork,
+ bgpPathAttrPeer }
+ ::= { bgpRcvdPathAttrTable 1 }
+
+ BgpPathAttrEntry ::= SEQUENCE {
+ bgpPathAttrPeer
+ IpAddress,
+ bgpPathAttrDestNetwork
+ IpAddress,
+ bgpPathAttrOrigin
+ INTEGER,
+ bgpPathAttrASPath
+ OCTET STRING,
+ bgpPathAttrNextHop
+ IpAddress,
+ bgpPathAttrInterASMetric
+ Integer32
+ }
+
+ bgpPathAttrPeer OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The IP address of the peer where the path
+ information was learned."
+ ::= { bgpPathAttrEntry 1 }
+
+ bgpPathAttrDestNetwork OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The address of the destination network."
+ ::= { bgpPathAttrEntry 2 }
+
+ bgpPathAttrOrigin OBJECT-TYPE
+ SYNTAX INTEGER {
+ igp(1),-- networks are interior
+ egp(2),-- networks learned via EGP
+ incomplete(3) -- undetermined
+ }
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The ultimate origin of the path information."
+ ::= { bgpPathAttrEntry 3 }
+
+ bgpPathAttrASPath OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (2..255))
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The set of ASs that must be traversed to reach
+ the network. This object is probably best
+ represented as SEQUENCE OF INTEGER. For SMI
+ compatibility, though, it is represented as
+ OCTET STRING. Each AS is represented as a pair
+ of octets according to the following algorithm:
+
+ first-byte-of-pair = ASNumber / 256;
+ second-byte-of-pair = ASNumber & 255;"
+ ::= { bgpPathAttrEntry 4 }
+
+ bgpPathAttrNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The address of the border router that should
+ be used for the destination network."
+ ::= { bgpPathAttrEntry 5 }
+
+ bgpPathAttrInterASMetric OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The optional inter-AS metric. If this
+ attribute has not been provided for this route,
+ the value for this object is 0."
+ ::= { bgpPathAttrEntry 6 }
+
+
+
+ -- BGP-4 Received Path Attribute Table. This table contains,
+ -- one entry per path to a network, path attributes
+ -- received from all peers running BGP-4.
+
+ bgp4PathAttrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Bgp4PathAttrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The BGP-4 Received Path Attribute Table contains
+ information about paths to destination networks
+ received from all BGP4 peers."
+ ::= { bgp 6 }
+
+ bgp4PathAttrEntry OBJECT-TYPE
+ SYNTAX Bgp4PathAttrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a path to a network."
+ INDEX { bgp4PathAttrIpAddrPrefix,
+ bgp4PathAttrIpAddrPrefixLen,
+ bgp4PathAttrPeer }
+ ::= { bgp4PathAttrTable 1 }
+
+ Bgp4PathAttrEntry ::= SEQUENCE {
+ bgp4PathAttrPeer
+ IpAddress,
+ bgp4PathAttrIpAddrPrefixLen
+ INTEGER,
+ bgp4PathAttrIpAddrPrefix
+ IpAddress,
+ bgp4PathAttrOrigin
+ INTEGER,
+ bgp4PathAttrASPathSegment
+ OCTET STRING,
+ bgp4PathAttrNextHop
+ IpAddress,
+ bgp4PathAttrMultiExitDisc
+ INTEGER,
+ bgp4PathAttrLocalPref
+ INTEGER,
+ bgp4PathAttrAtomicAggregate
+ INTEGER,
+ bgp4PathAttrAggregatorAS
+ INTEGER,
+ bgp4PathAttrAggregatorAddr
+ IpAddress,
+ bgp4PathAttrCalcLocalPref
+ INTEGER,
+ bgp4PathAttrBest
+ INTEGER,
+ bgp4PathAttrUnknown
+ OCTET STRING
+ }
+
+ bgp4PathAttrPeer OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address of the peer where the path
+ information was learned."
+ ::= { bgp4PathAttrEntry 1 }
+ bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
+ SYNTAX INTEGER (0..32)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Length in bits of the IP address prefix in the
+ Network Layer Reachability Information field."
+ ::= { bgp4PathAttrEntry 2 }
+
+ bgp4PathAttrIpAddrPrefix OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An IP address prefix in the Network Layer
+ Reachability Information field. This object
+ is an IP address containing the prefix with
+ length specified by bgp4PathAttrIpAddrPrefixLen.
+ Any bits beyond the length specified by
+ bgp4PathAttrIpAddrPrefixLen are zeroed."
+ ::= { bgp4PathAttrEntry 3 }
+
+ bgp4PathAttrOrigin OBJECT-TYPE
+ SYNTAX INTEGER {
+ igp(1),-- networks are interior
+ egp(2),-- networks learned via EGP
+ incomplete(3) -- undetermined
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The ultimate origin of the path information."
+ ::= { bgp4PathAttrEntry 4 }
+
+ bgp4PathAttrASPathSegment OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (2..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The sequence of AS path segments. Each AS
+ path segment is represented by a triple
+ <type, length, value>.
+
+ The type is a 1-octet field which has two
+ possible values:
+ 1 AS_SET: unordered set of ASs a
+ route in the UPDATE message
+ has traversed
+ 2 AS_SEQUENCE: ordered set of ASs
+ a route in the UPDATE message
+ has traversed.
+
+ The length is a 1-octet field containing the
+ number of ASs in the value field.
+
+ The value field contains one or more AS
+ numbers, each AS is represented in the octet
+ string as a pair of octets according to the
+ following algorithm:
+
+ first-byte-of-pair = ASNumber / 256;
+ second-byte-of-pair = ASNumber & 255;"
+ ::= { bgp4PathAttrEntry 5 }
+
+ bgp4PathAttrNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The address of the border router that should
+ be used for the destination network."
+ ::= { bgp4PathAttrEntry 6 }
+
+ bgp4PathAttrMultiExitDisc OBJECT-TYPE
+ SYNTAX INTEGER (-1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This metric is used to discriminate between
+ multiple exit points to an adjacent autonomous
+ system. A value of -1 indicates the absence of
+ this attribute."
+ ::= { bgp4PathAttrEntry 7 }
+
+ bgp4PathAttrLocalPref OBJECT-TYPE
+ SYNTAX INTEGER (-1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The originating BGP4 speaker's degree of
+ preference for an advertised route. A value of
+ -1 indicates the absence of this attribute."
+ ::= { bgp4PathAttrEntry 8 }
+
+ bgp4PathAttrAtomicAggregate OBJECT-TYPE
+ SYNTAX INTEGER {
+ lessSpecificRrouteNotSelected(1),
+ lessSpecificRouteSelected(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Whether or not a system has selected
+ a less specific route without selecting a
+ more specific route."
+ ::= { bgp4PathAttrEntry 9 }
+
+ bgp4PathAttrAggregatorAS OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The AS number of the last BGP4 speaker that
+ performed route aggregation. A value of zero (0)
+ indicates the absence of this attribute."
+ ::= { bgp4PathAttrEntry 10 }
+
+ bgp4PathAttrAggregatorAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address of the last BGP4 speaker that
+ performed route aggregation. A value of
+ 0.0.0.0 indicates the absence of this attribute."
+ ::= { bgp4PathAttrEntry 11 }
+
+ bgp4PathAttrCalcLocalPref OBJECT-TYPE
+ SYNTAX INTEGER (-1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The degree of preference calculated by the
+ receiving BGP4 speaker for an advertised route.
+ A value of -1 indicates the absence of this
+ attribute."
+ ::= { bgp4PathAttrEntry 12 }
+
+ bgp4PathAttrBest OBJECT-TYPE
+ SYNTAX INTEGER {
+ false(1),-- not chosen as best route
+ true(2) -- chosen as best route
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of whether or not this route
+ was chosen as the best BGP4 route."
+ ::= { bgp4PathAttrEntry 13 }
+
+ bgp4PathAttrUnknown OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "One or more path attributes not understood
+ by this BGP4 speaker. Size zero (0) indicates
+ the absence of such attribute(s). Octets
+ beyond the maximum size, if any, are not
+ recorded by this object."
+ ::= { bgp4PathAttrEntry 14 }
+
+
+ -- Traps.
+
+ -- note that in RFC 1657, bgpTraps was incorrectly
+ -- assigned a value of { bgp 7 }, and each of the
+ -- traps had the bgpPeerRemoteAddr object inappropriately
+ -- removed from their OBJECTS clause. The following
+ -- definitions restore the semantics of the traps as
+ -- they were initially defined in RFC 1269.
+
+ -- { bgp 7 } is unused
+
+ bgpTraps OBJECT IDENTIFIER ::= { bgp 0 }
+
+ bgpEstablished NOTIFICATION-TYPE
+ OBJECTS { bgpPeerRemoteAddr,
+ bgpPeerLastError,
+ bgpPeerState }
+ STATUS current
+ DESCRIPTION
+ "The BGP Established event is generated when
+ the BGP FSM enters the ESTABLISHED state."
+ ::= { bgpTraps 1 }
+
+ bgpBackwardTransition NOTIFICATION-TYPE
+ OBJECTS { bgpPeerRemoteAddr,
+ bgpPeerLastError,
+ bgpPeerState }
+ STATUS current
+ DESCRIPTION
+ "The BGPBackwardTransition Event is generated
+ when the BGP FSM moves from a higher numbered
+ state to a lower numbered state."
+ ::= { bgpTraps 2 }
+
+ -- conformance information
+
+ bgpMIBConformance OBJECT IDENTIFIER ::= { bgp 8 }
+ bgpMIBCompliances OBJECT IDENTIFIER ::= { bgpMIBConformance 1 }
+ bgpMIBGroups OBJECT IDENTIFIER ::= { bgpMIBConformance 2 }
+
+ -- compliance statements
+
+ bgpMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which
+ implement the BGP4 mib."
+ MODULE -- this module
+ MANDATORY-GROUPS { bgp4MIBGlobalsGroup,
+ bgp4MIBPeerGroup,
+ bgp4MIBPathAttrGroup,
+ bgp4MIBNotificationGroup }
+ ::= { bgpMIBCompliances 1 }
+
+ -- units of conformance
+
+ bgp4MIBGlobalsGroup OBJECT-GROUP
+ OBJECTS { bgpVersion,
+ bgpLocalAs,
+ bgpIdentifier }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information
+ on global BGP state."
+ ::= { bgpMIBGroups 1 }
+
+ bgp4MIBPeerGroup OBJECT-GROUP
+ OBJECTS { bgpPeerIdentifier,
+ bgpPeerState,
+ bgpPeerAdminStatus,
+ bgpPeerNegotiatedVersion,
+ bgpPeerLocalAddr,
+ bgpPeerLocalPort,
+ bgpPeerRemoteAddr,
+ bgpPeerRemotePort,
+ bgpPeerRemoteAs,
+ bgpPeerInUpdates,
+ bgpPeerOutUpdates,
+ bgpPeerInTotalMessages,
+ bgpPeerOutTotalMessages,
+ bgpPeerLastError,
+ bgpPeerFsmEstablishedTransitions,
+ bgpPeerFsmEstablishedTime,
+ bgpPeerConnectRetryInterval,
+ bgpPeerHoldTime,
+ bgpPeerKeepAlive,
+ bgpPeerHoldTimeConfigured,
+ bgpPeerKeepAliveConfigured,
+ bgpPeerMinASOriginationInterval,
+ bgpPeerMinRouteAdvertisementInterval,
+ bgpPeerInUpdateElapsedTime }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for managing
+ BGP peers."
+ ::= { bgpMIBGroups 2 }
+
+ bgp4MIBRcvdPathAttrGroup OBJECT-GROUP
+ OBJECTS { bgpPathAttrPeer,
+ bgpPathAttrDestNetwork,
+ bgpPathAttrOrigin,
+ bgpPathAttrASPath,
+ bgpPathAttrNextHop,
+ bgpPathAttrInterASMetric }
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects for managing BGP
+ path entries.
+
+ This conformance group is obsolete,
+ replaced by bgp4MIBPathAttrGroup."
+ ::= { bgpMIBGroups 3 }
+
+ bgp4MIBPathAttrGroup OBJECT-GROUP
+ OBJECTS { bgp4PathAttrPeer,
+ bgp4PathAttrIpAddrPrefixLen,
+ bgp4PathAttrIpAddrPrefix,
+ bgp4PathAttrOrigin,
+ bgp4PathAttrASPathSegment,
+ bgp4PathAttrNextHop,
+ bgp4PathAttrMultiExitDisc,
+ bgp4PathAttrLocalPref,
+ bgp4PathAttrAtomicAggregate,
+ bgp4PathAttrAggregatorAS,
+ bgp4PathAttrAggregatorAddr,
+ bgp4PathAttrCalcLocalPref,
+ bgp4PathAttrBest,
+ bgp4PathAttrUnknown }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for managing
+ BGP path entries."
+ ::= { bgpMIBGroups 4 }
+
+ bgp4MIBNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { bgpEstablished,
+ bgpBackwardTransition }
+ STATUS current
+ DESCRIPTION
+ "A collection of notifications for signaling
+ changes in BGP peer relationships."
+ ::= { bgpMIBGroups 5 }
+
+ END
diff --git a/mibs/BRIDGE-MIB.txt b/mibs/BRIDGE-MIB.txt
new file mode 100644
index 00000000..1e77a190
--- /dev/null
+++ b/mibs/BRIDGE-MIB.txt
@@ -0,0 +1,1472 @@
+BRIDGE-MIB DEFINITIONS ::= BEGIN
+
+-- ---------------------------------------------------------- --
+-- MIB for IEEE 802.1D devices
+-- ---------------------------------------------------------- --
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Counter32, Integer32, TimeTicks, mib-2
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, MacAddress
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ InterfaceIndex FROM IF-MIB
+ ;
+
+dot1dBridge MODULE-IDENTITY
+ LAST-UPDATED "200509190000Z"
+ ORGANIZATION "IETF Bridge MIB Working Group"
+ CONTACT-INFO
+ "Email: bridge-mib@ietf.org
+
+ K.C. Norseth (Editor)
+ L-3 Communications
+ Tel: +1 801-594-2809
+ Email: kenyon.c.norseth@L-3com.com
+ Postal: 640 N. 2200 West.
+ Salt Lake City, Utah 84116-0850
+
+ Les Bell (Editor)
+ 3Com Europe Limited
+ Phone: +44 1442 438025
+ Email: elbell@ntlworld.com
+ Postal: 3Com Centre, Boundary Way
+ Hemel Hempstead
+ Herts. HP2 7YU
+ UK
+
+ Send comments to <bridge-mib@ietf.org>"
+ DESCRIPTION
+ "The Bridge MIB module for managing devices that support
+ IEEE 802.1D.
+
+ Copyright (C) The Internet Society (2005). This version of
+ this MIB module is part of RFC 4188; see the RFC itself for
+ full legal notices."
+ REVISION "200509190000Z"
+ DESCRIPTION
+ "Third revision, published as part of RFC 4188.
+
+ The MIB module has been converted to SMIv2 format.
+ Conformance statements have been added and some
+ description and reference clauses have been updated.
+
+ The object dot1dStpPortPathCost32 was added to
+ support IEEE 802.1t and the permissible values of
+ dot1dStpPriority and dot1dStpPortPriority have been
+ clarified for bridges supporting IEEE 802.1t or
+ IEEE 802.1w.
+
+ The interpretation of dot1dStpTimeSinceTopologyChange
+ has been clarified for bridges supporting the Rapid
+ Spanning Tree Protocol (RSTP)."
+ REVISION "199307310000Z"
+ DESCRIPTION
+ "Second revision, published as part of RFC 1493."
+ REVISION "199112310000Z"
+ DESCRIPTION
+ "Initial revision, published as part of RFC 1286."
+ ::= { mib-2 17 }
+
+-- ---------------------------------------------------------- --
+-- Textual Conventions
+-- ---------------------------------------------------------- --
+
+BridgeId ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The Bridge-Identifier, as used in the Spanning Tree
+ Protocol, to uniquely identify a bridge. Its first two
+ octets (in network byte order) contain a priority value,
+ and its last 6 octets contain the MAC address used to
+ refer to a bridge in a unique fashion (typically, the
+ numerically smallest MAC address of all ports on the
+ bridge)."
+ SYNTAX OCTET STRING (SIZE (8))
+
+Timeout ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A Spanning Tree Protocol (STP) timer in units of 1/100
+ seconds. Several objects in this MIB module represent
+ values of timers used by the Spanning Tree Protocol.
+ In this MIB, these timers have values in units of
+ hundredths of a second (i.e., 1/100 secs).
+
+ These timers, when stored in a Spanning Tree Protocol's
+ BPDU, are in units of 1/256 seconds. Note, however, that
+ 802.1D-1998 specifies a settable granularity of no more
+ than one second for these timers. To avoid ambiguity,
+ a conversion algorithm is defined below for converting
+ between the different units, which ensures a timer's
+ value is not distorted by multiple conversions.
+
+ To convert a Timeout value into a value in units of
+ 1/256 seconds, the following algorithm should be used:
+
+ b = floor( (n * 256) / 100)
+
+ where:
+ floor = quotient [ignore remainder]
+ n is the value in 1/100 second units
+ b is the value in 1/256 second units
+
+ To convert the value from 1/256 second units back to
+ 1/100 seconds, the following algorithm should be used:
+
+ n = ceiling( (b * 100) / 256)
+
+ where:
+ ceiling = quotient [if remainder is 0], or
+ quotient + 1 [if remainder is nonzero]
+ n is the value in 1/100 second units
+
+ b is the value in 1/256 second units
+
+ Note: it is important that the arithmetic operations are
+ done in the order specified (i.e., multiply first,
+ divide second)."
+ SYNTAX Integer32
+
+-- ---------------------------------------------------------- --
+-- subtrees in the Bridge MIB
+-- ---------------------------------------------------------- --
+
+dot1dNotifications OBJECT IDENTIFIER ::= { dot1dBridge 0 }
+
+dot1dBase OBJECT IDENTIFIER ::= { dot1dBridge 1 }
+dot1dStp OBJECT IDENTIFIER ::= { dot1dBridge 2 }
+
+dot1dSr OBJECT IDENTIFIER ::= { dot1dBridge 3 }
+-- documented in RFC 1525
+
+dot1dTp OBJECT IDENTIFIER ::= { dot1dBridge 4 }
+dot1dStatic OBJECT IDENTIFIER ::= { dot1dBridge 5 }
+
+-- Subtrees used by Bridge MIB Extensions:
+-- pBridgeMIB MODULE-IDENTITY ::= { dot1dBridge 6 }
+-- qBridgeMIB MODULE-IDENTITY ::= { dot1dBridge 7 }
+-- Note that the practice of registering related MIB modules
+-- below dot1dBridge has been discouraged since there is no
+-- robust mechanism to track such registrations.
+
+dot1dConformance OBJECT IDENTIFIER ::= { dot1dBridge 8 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dBase subtree
+-- ---------------------------------------------------------- --
+-- Implementation of the dot1dBase subtree is mandatory for all
+-- bridges.
+-- ---------------------------------------------------------- --
+
+dot1dBaseBridgeAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The MAC address used by this bridge when it must be
+ referred to in a unique fashion. It is recommended
+ that this be the numerically smallest MAC address of
+ all ports that belong to this bridge. However, it is only
+
+ required to be unique. When concatenated with
+ dot1dStpPriority, a unique BridgeIdentifier is formed,
+ which is used in the Spanning Tree Protocol."
+ REFERENCE
+ "IEEE 802.1D-1998: clauses 14.4.1.1.3 and 7.12.5"
+ ::= { dot1dBase 1 }
+
+dot1dBaseNumPorts OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "ports"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ports controlled by this bridging
+ entity."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.4.1.1.3"
+ ::= { dot1dBase 2 }
+
+dot1dBaseType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ transparent-only(2),
+ sourceroute-only(3),
+ srt(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates what type of bridging this bridge can
+ perform. If a bridge is actually performing a
+ certain type of bridging, this will be indicated by
+ entries in the port table for the given type."
+ ::= { dot1dBase 3 }
+
+-- ---------------------------------------------------------- --
+-- The Generic Bridge Port Table
+-- ---------------------------------------------------------- --
+dot1dBasePortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dBasePortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains generic information about every
+ port that is associated with this bridge. Transparent,
+ source-route, and srt ports are included."
+ ::= { dot1dBase 4 }
+
+dot1dBasePortEntry OBJECT-TYPE
+ SYNTAX Dot1dBasePortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information for each port of the bridge."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.4.2, 14.6.1"
+ INDEX { dot1dBasePort }
+ ::= { dot1dBasePortTable 1 }
+
+Dot1dBasePortEntry ::=
+ SEQUENCE {
+ dot1dBasePort
+ Integer32,
+ dot1dBasePortIfIndex
+ InterfaceIndex,
+ dot1dBasePortCircuit
+ OBJECT IDENTIFIER,
+ dot1dBasePortDelayExceededDiscards
+ Counter32,
+ dot1dBasePortMtuExceededDiscards
+ Counter32
+ }
+
+dot1dBasePort OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port for which this entry
+ contains bridge management information."
+ ::= { dot1dBasePortEntry 1 }
+
+dot1dBasePortIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the instance of the ifIndex object,
+ defined in IF-MIB, for the interface corresponding
+ to this port."
+ ::= { dot1dBasePortEntry 2 }
+
+dot1dBasePortCircuit OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For a port that (potentially) has the same value of
+ dot1dBasePortIfIndex as another port on the same bridge.
+ This object contains the name of an object instance
+ unique to this port. For example, in the case where
+ multiple ports correspond one-to-one with multiple X.25
+ virtual circuits, this value might identify an (e.g.,
+ the first) object instance associated with the X.25
+ virtual circuit corresponding to this port.
+
+ For a port which has a unique value of
+ dot1dBasePortIfIndex, this object can have the value
+ { 0 0 }."
+ ::= { dot1dBasePortEntry 3 }
+
+dot1dBasePortDelayExceededDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames discarded by this port due
+ to excessive transit delay through the bridge. It
+ is incremented by both transparent and source
+ route bridges."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dBasePortEntry 4 }
+
+dot1dBasePortMtuExceededDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames discarded by this port due
+ to an excessive size. It is incremented by both
+ transparent and source route bridges."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dBasePortEntry 5 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dStp subtree
+-- ---------------------------------------------------------- --
+-- Implementation of the dot1dStp subtree is optional. It is
+-- implemented by those bridges that support the Spanning Tree
+-- Protocol.
+-- ---------------------------------------------------------- --
+
+dot1dStpProtocolSpecification OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ decLb100(2),
+ ieee8021d(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of what version of the Spanning Tree
+ Protocol is being run. The value 'decLb100(2)'
+ indicates the DEC LANbridge 100 Spanning Tree protocol.
+ IEEE 802.1D implementations will return 'ieee8021d(3)'.
+ If future versions of the IEEE Spanning Tree Protocol
+ that are incompatible with the current version
+ are released a new value will be defined."
+ ::= { dot1dStp 1 }
+
+dot1dStpPriority OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of the write-able portion of the Bridge ID
+ (i.e., the first two octets of the (8 octet long) Bridge
+ ID). The other (last) 6 octets of the Bridge ID are
+ given by the value of dot1dBaseBridgeAddress.
+ On bridges supporting IEEE 802.1t or IEEE 802.1w,
+ permissible values are 0-61440, in steps of 4096."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 8.10.2, Table 8-4,
+ IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."
+ ::= { dot1dStp 2 }
+
+dot1dStpTimeSinceTopologyChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ last time a topology change was detected by the
+ bridge entity.
+ For RSTP, this reports the time since the tcWhile
+ timer for any port on this Bridge was nonzero."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 14.8.1.1.,
+ IEEE 802.1w clause 14.8.1.1."
+ ::= { dot1dStp 3 }
+
+dot1dStpTopChanges OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of topology changes detected by
+ this bridge since the management entity was last
+ reset or initialized."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 14.8.1.1."
+ ::= { dot1dStp 4 }
+
+dot1dStpDesignatedRoot OBJECT-TYPE
+ SYNTAX BridgeId
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The bridge identifier of the root of the spanning
+ tree, as determined by the Spanning Tree Protocol,
+ as executed by this node. This value is used as
+ the Root Identifier parameter in all Configuration
+ Bridge PDUs originated by this node."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.1"
+ ::= { dot1dStp 5 }
+
+dot1dStpRootCost OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cost of the path to the root as seen from
+ this bridge."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.2"
+ ::= { dot1dStp 6 }
+
+dot1dStpRootPort OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port that offers the lowest
+ cost path from this bridge to the root bridge."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.3"
+ ::= { dot1dStp 7 }
+
+dot1dStpMaxAge OBJECT-TYPE
+ SYNTAX Timeout
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum age of Spanning Tree Protocol information
+ learned from the network on any port before it is
+ discarded, in units of hundredths of a second. This is
+ the actual value that this bridge is currently using."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.4"
+ ::= { dot1dStp 8 }
+
+dot1dStpHelloTime OBJECT-TYPE
+ SYNTAX Timeout
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time between the transmission of
+ Configuration bridge PDUs by this node on any port when
+ it is the root of the spanning tree, or trying to become
+ so, in units of hundredths of a second. This is the
+ actual value that this bridge is currently using."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.5"
+ ::= { dot1dStp 9 }
+
+dot1dStpHoldTime OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This time value determines the interval length
+ during which no more than two Configuration bridge
+ PDUs shall be transmitted by this node, in units
+ of hundredths of a second."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.14"
+ ::= { dot1dStp 10 }
+
+dot1dStpForwardDelay OBJECT-TYPE
+ SYNTAX Timeout
+ UNITS "centi-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This time value, measured in units of hundredths of a
+ second, controls how fast a port changes its spanning
+ state when moving towards the Forwarding state. The
+ value determines how long the port stays in each of the
+ Listening and Learning states, which precede the
+ Forwarding state. This value is also used when a
+ topology change has been detected and is underway, to
+ age all dynamic entries in the Forwarding Database.
+ [Note that this value is the one that this bridge is
+ currently using, in contrast to
+ dot1dStpBridgeForwardDelay, which is the value that this
+ bridge and all others would start using if/when this
+ bridge were to become the root.]"
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.6"
+ ::= { dot1dStp 11 }
+
+dot1dStpBridgeMaxAge OBJECT-TYPE
+ SYNTAX Timeout (600..4000)
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value that all bridges use for MaxAge when this
+ bridge is acting as the root. Note that 802.1D-1998
+ specifies that the range for this parameter is related
+ to the value of dot1dStpBridgeHelloTime. The
+ granularity of this timer is specified by 802.1D-1998 to
+ be 1 second. An agent may return a badValue error if a
+ set is attempted to a value that is not a whole number
+ of seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.8"
+ ::= { dot1dStp 12 }
+
+dot1dStpBridgeHelloTime OBJECT-TYPE
+ SYNTAX Timeout (100..1000)
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value that all bridges use for HelloTime when this
+ bridge is acting as the root. The granularity of this
+ timer is specified by 802.1D-1998 to be 1 second. An
+ agent may return a badValue error if a set is attempted
+
+ to a value that is not a whole number of seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.9"
+ ::= { dot1dStp 13 }
+
+dot1dStpBridgeForwardDelay OBJECT-TYPE
+ SYNTAX Timeout (400..3000)
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value that all bridges use for ForwardDelay when
+ this bridge is acting as the root. Note that
+ 802.1D-1998 specifies that the range for this parameter
+ is related to the value of dot1dStpBridgeMaxAge. The
+ granularity of this timer is specified by 802.1D-1998 to
+ be 1 second. An agent may return a badValue error if a
+ set is attempted to a value that is not a whole number
+ of seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.3.10"
+ ::= { dot1dStp 14 }
+
+-- ---------------------------------------------------------- --
+-- The Spanning Tree Port Table
+-- ---------------------------------------------------------- --
+
+dot1dStpPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dStpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains port-specific information
+ for the Spanning Tree Protocol."
+ ::= { dot1dStp 15 }
+
+dot1dStpPortEntry OBJECT-TYPE
+ SYNTAX Dot1dStpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information maintained by every port about
+ the Spanning Tree Protocol state for that port."
+ INDEX { dot1dStpPort }
+ ::= { dot1dStpPortTable 1 }
+
+Dot1dStpPortEntry ::=
+ SEQUENCE {
+
+ dot1dStpPort
+ Integer32,
+ dot1dStpPortPriority
+ Integer32,
+ dot1dStpPortState
+ INTEGER,
+ dot1dStpPortEnable
+ INTEGER,
+ dot1dStpPortPathCost
+ Integer32,
+ dot1dStpPortDesignatedRoot
+ BridgeId,
+ dot1dStpPortDesignatedCost
+ Integer32,
+ dot1dStpPortDesignatedBridge
+ BridgeId,
+ dot1dStpPortDesignatedPort
+ OCTET STRING,
+ dot1dStpPortForwardTransitions
+ Counter32,
+ dot1dStpPortPathCost32
+ Integer32
+ }
+
+dot1dStpPort OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port for which this entry
+ contains Spanning Tree Protocol management information."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.8.2.1.2"
+ ::= { dot1dStpPortEntry 1 }
+
+dot1dStpPortPriority OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of the priority field that is contained in
+ the first (in network byte order) octet of the (2 octet
+ long) Port ID. The other octet of the Port ID is given
+ by the value of dot1dStpPort.
+ On bridges supporting IEEE 802.1t or IEEE 802.1w,
+ permissible values are 0-240, in steps of 16."
+ REFERENCE
+ "IEEE 802.1D-1998 clause 8.10.2, Table 8-4,
+ IEEE 802.1t clause 8.10.2, Table 8-4, clause 14.3."
+ ::= { dot1dStpPortEntry 2 }
+
+dot1dStpPortState OBJECT-TYPE
+ SYNTAX INTEGER {
+ disabled(1),
+ blocking(2),
+ listening(3),
+ learning(4),
+ forwarding(5),
+ broken(6)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port's current state, as defined by application of
+ the Spanning Tree Protocol. This state controls what
+ action a port takes on reception of a frame. If the
+ bridge has detected a port that is malfunctioning, it
+ will place that port into the broken(6) state. For
+ ports that are disabled (see dot1dStpPortEnable), this
+ object will have a value of disabled(1)."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.2"
+ ::= { dot1dStpPortEntry 3 }
+
+dot1dStpPortEnable OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The enabled/disabled status of the port."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.2"
+ ::= { dot1dStpPortEntry 4 }
+
+dot1dStpPortPathCost OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The contribution of this port to the path cost of
+ paths towards the spanning tree root which include
+ this port. 802.1D-1998 recommends that the default
+ value of this parameter be in inverse proportion to
+
+ the speed of the attached LAN.
+
+ New implementations should support dot1dStpPortPathCost32.
+ If the port path costs exceeds the maximum value of this
+ object then this object should report the maximum value,
+ namely 65535. Applications should try to read the
+ dot1dStpPortPathCost32 object if this object reports
+ the maximum value."
+ REFERENCE "IEEE 802.1D-1998: clause 8.5.5.3"
+ ::= { dot1dStpPortEntry 5 }
+
+dot1dStpPortDesignatedRoot OBJECT-TYPE
+ SYNTAX BridgeId
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The unique Bridge Identifier of the Bridge
+ recorded as the Root in the Configuration BPDUs
+ transmitted by the Designated Bridge for the
+ segment to which the port is attached."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.4"
+ ::= { dot1dStpPortEntry 6 }
+
+dot1dStpPortDesignatedCost OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The path cost of the Designated Port of the segment
+ connected to this port. This value is compared to the
+ Root Path Cost field in received bridge PDUs."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.5"
+ ::= { dot1dStpPortEntry 7 }
+
+dot1dStpPortDesignatedBridge OBJECT-TYPE
+ SYNTAX BridgeId
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Bridge Identifier of the bridge that this
+ port considers to be the Designated Bridge for
+ this port's segment."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.6"
+ ::= { dot1dStpPortEntry 8 }
+
+dot1dStpPortDesignatedPort OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (2))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Port Identifier of the port on the Designated
+ Bridge for this port's segment."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 8.5.5.7"
+ ::= { dot1dStpPortEntry 9 }
+
+dot1dStpPortForwardTransitions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this port has transitioned
+ from the Learning state to the Forwarding state."
+ ::= { dot1dStpPortEntry 10 }
+
+dot1dStpPortPathCost32 OBJECT-TYPE
+ SYNTAX Integer32 (1..200000000)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The contribution of this port to the path cost of
+ paths towards the spanning tree root which include
+ this port. 802.1D-1998 recommends that the default
+ value of this parameter be in inverse proportion to
+ the speed of the attached LAN.
+
+ This object replaces dot1dStpPortPathCost to support
+ IEEE 802.1t."
+ REFERENCE
+ "IEEE 802.1t clause 8.10.2, Table 8-5."
+ ::= { dot1dStpPortEntry 11 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dTp subtree
+-- ---------------------------------------------------------- --
+-- Implementation of the dot1dTp subtree is optional. It is
+-- implemented by those bridges that support the transparent
+-- bridging mode. A transparent or SRT bridge will implement
+-- this subtree.
+-- ---------------------------------------------------------- --
+
+dot1dTpLearnedEntryDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Forwarding Database entries that
+ have been or would have been learned, but have been
+ discarded due to a lack of storage space in the
+ Forwarding Database. If this counter is increasing, it
+ indicates that the Forwarding Database is regularly
+ becoming full (a condition that has unpleasant
+ performance effects on the subnetwork). If this counter
+ has a significant value but is not presently increasing,
+ it indicates that the problem has been occurring but is
+ not persistent."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.1.1.3"
+ ::= { dot1dTp 1 }
+
+dot1dTpAgingTime OBJECT-TYPE
+ SYNTAX Integer32 (10..1000000)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The timeout period in seconds for aging out
+ dynamically-learned forwarding information.
+ 802.1D-1998 recommends a default of 300 seconds."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.1.1.3"
+ ::= { dot1dTp 2 }
+
+-- ---------------------------------------------------------- --
+-- The Forwarding Database for Transparent Bridges
+-- ---------------------------------------------------------- --
+
+dot1dTpFdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dTpFdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains information about unicast
+ entries for which the bridge has forwarding and/or
+ filtering information. This information is used
+ by the transparent bridging function in
+ determining how to propagate a received frame."
+ ::= { dot1dTp 3 }
+
+dot1dTpFdbEntry OBJECT-TYPE
+ SYNTAX Dot1dTpFdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a specific unicast MAC address
+ for which the bridge has some forwarding and/or
+ filtering information."
+ INDEX { dot1dTpFdbAddress }
+ ::= { dot1dTpFdbTable 1 }
+
+Dot1dTpFdbEntry ::=
+ SEQUENCE {
+ dot1dTpFdbAddress
+ MacAddress,
+ dot1dTpFdbPort
+ Integer32,
+ dot1dTpFdbStatus
+ INTEGER
+ }
+
+dot1dTpFdbAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unicast MAC address for which the bridge has
+ forwarding and/or filtering information."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"
+ ::= { dot1dTpFdbEntry 1 }
+
+dot1dTpFdbPort OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Either the value '0', or the port number of the port on
+ which a frame having a source address equal to the value
+ of the corresponding instance of dot1dTpFdbAddress has
+ been seen. A value of '0' indicates that the port
+ number has not been learned, but that the bridge does
+ have some forwarding/filtering information about this
+ address (e.g., in the dot1dStaticTable). Implementors
+ are encouraged to assign the port value to this object
+ whenever it is learned, even for addresses for which the
+ corresponding value of dot1dTpFdbStatus is not
+ learned(3)."
+ ::= { dot1dTpFdbEntry 2 }
+
+dot1dTpFdbStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ invalid(2),
+ learned(3),
+ self(4),
+ mgmt(5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The status of this entry. The meanings of the
+ values are:
+ other(1) - none of the following. This would
+ include the case where some other MIB object
+ (not the corresponding instance of
+ dot1dTpFdbPort, nor an entry in the
+ dot1dStaticTable) is being used to determine if
+ and how frames addressed to the value of the
+ corresponding instance of dot1dTpFdbAddress are
+ being forwarded.
+ invalid(2) - this entry is no longer valid (e.g.,
+ it was learned but has since aged out), but has
+ not yet been flushed from the table.
+ learned(3) - the value of the corresponding instance
+ of dot1dTpFdbPort was learned, and is being
+ used.
+ self(4) - the value of the corresponding instance of
+ dot1dTpFdbAddress represents one of the bridge's
+ addresses. The corresponding instance of
+ dot1dTpFdbPort indicates which of the bridge's
+ ports has this address.
+ mgmt(5) - the value of the corresponding instance of
+ dot1dTpFdbAddress is also the value of an
+ existing instance of dot1dStaticAddress."
+ ::= { dot1dTpFdbEntry 3 }
+
+-- ---------------------------------------------------------- --
+-- Port Table for Transparent Bridges
+-- ---------------------------------------------------------- --
+
+dot1dTpPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dTpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table that contains information about every port that
+ is associated with this transparent bridge."
+ ::= { dot1dTp 4 }
+
+dot1dTpPortEntry OBJECT-TYPE
+ SYNTAX Dot1dTpPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information for each port of a transparent
+ bridge."
+ INDEX { dot1dTpPort }
+ ::= { dot1dTpPortTable 1 }
+
+Dot1dTpPortEntry ::=
+ SEQUENCE {
+ dot1dTpPort
+ Integer32,
+ dot1dTpPortMaxInfo
+ Integer32,
+ dot1dTpPortInFrames
+ Counter32,
+ dot1dTpPortOutFrames
+ Counter32,
+ dot1dTpPortInDiscards
+ Counter32
+ }
+
+dot1dTpPort OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The port number of the port for which this entry
+ contains Transparent bridging management information."
+ ::= { dot1dTpPortEntry 1 }
+
+-- It would be nice if we could use ifMtu as the size of the
+-- largest INFO field, but we can't because ifMtu is defined
+-- to be the size that the (inter-)network layer can use, which
+-- can differ from the MAC layer (especially if several layers
+-- of encapsulation are used).
+
+dot1dTpPortMaxInfo OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum size of the INFO (non-MAC) field that
+
+ this port will receive or transmit."
+ ::= { dot1dTpPortEntry 2 }
+
+dot1dTpPortInFrames OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "frames"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames that have been received by this
+ port from its segment. Note that a frame received on the
+ interface corresponding to this port is only counted by
+ this object if and only if it is for a protocol being
+ processed by the local bridging function, including
+ bridge management frames."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dTpPortEntry 3 }
+
+dot1dTpPortOutFrames OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "frames"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of frames that have been transmitted by this
+ port to its segment. Note that a frame transmitted on
+ the interface corresponding to this port is only counted
+ by this object if and only if it is for a protocol being
+ processed by the local bridging function, including
+ bridge management frames."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dTpPortEntry 4 }
+
+dot1dTpPortInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "frames"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of received valid frames that were discarded
+ (i.e., filtered) by the Forwarding Process."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.6.1.1.3"
+ ::= { dot1dTpPortEntry 5 }
+
+-- ---------------------------------------------------------- --
+
+-- The Static (Destination-Address Filtering) Database
+-- ---------------------------------------------------------- --
+-- Implementation of this subtree is optional.
+-- ---------------------------------------------------------- --
+
+dot1dStaticTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dStaticEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing filtering information configured
+ into the bridge by (local or network) management
+ specifying the set of ports to which frames received
+ from specific ports and containing specific destination
+ addresses are allowed to be forwarded. The value of
+ zero in this table, as the port number from which frames
+ with a specific destination address are received, is
+ used to specify all ports for which there is no specific
+ entry in this table for that particular destination
+ address. Entries are valid for unicast and for
+ group/broadcast addresses."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.2"
+ ::= { dot1dStatic 1 }
+
+dot1dStaticEntry OBJECT-TYPE
+ SYNTAX Dot1dStaticEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Filtering information configured into the bridge by
+ (local or network) management specifying the set of
+ ports to which frames received from a specific port and
+ containing a specific destination address are allowed to
+ be forwarded."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 14.7.2"
+ INDEX { dot1dStaticAddress, dot1dStaticReceivePort }
+ ::= { dot1dStaticTable 1 }
+
+Dot1dStaticEntry ::=
+ SEQUENCE {
+ dot1dStaticAddress MacAddress,
+ dot1dStaticReceivePort Integer32,
+ dot1dStaticAllowedToGoTo OCTET STRING,
+ dot1dStaticStatus INTEGER
+ }
+
+dot1dStaticAddress OBJECT-TYPE
+ SYNTAX MacAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The destination MAC address in a frame to which this
+ entry's filtering information applies. This object can
+ take the value of a unicast address, a group address, or
+ the broadcast address."
+ REFERENCE
+ "IEEE 802.1D-1998: clause 7.9.1, 7.9.2"
+ ::= { dot1dStaticEntry 1 }
+
+dot1dStaticReceivePort OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Either the value '0', or the port number of the port
+ from which a frame must be received in order for this
+ entry's filtering information to apply. A value of zero
+ indicates that this entry applies on all ports of the
+ bridge for which there is no other applicable entry."
+ ::= { dot1dStaticEntry 2 }
+
+dot1dStaticAllowedToGoTo OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..512))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of ports to which frames received from a
+ specific port and destined for a specific MAC address,
+ are allowed to be forwarded. Each octet within the
+ value of this object specifies a set of eight ports,
+ with the first octet specifying ports 1 through 8, the
+ second octet specifying ports 9 through 16, etc. Within
+ each octet, the most significant bit represents the
+ lowest numbered port, and the least significant bit
+ represents the highest numbered port. Thus, each port
+ of the bridge is represented by a single bit within the
+ value of this object. If that bit has a value of '1',
+ then that port is included in the set of ports; the port
+ is not included if its bit has a value of '0'. (Note
+ that the setting of the bit corresponding to the port
+ from which a frame is received is irrelevant.) The
+ default value of this object is a string of ones of
+ appropriate length.
+
+ The value of this object may exceed the required minimum
+ maximum message size of some SNMP transport (484 bytes,
+ in the case of SNMP over UDP, see RFC 3417, section 3.2).
+ SNMP engines on bridges supporting a large number of
+ ports must support appropriate maximum message sizes."
+ ::= { dot1dStaticEntry 3 }
+
+dot1dStaticStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ invalid(2),
+ permanent(3),
+ deleteOnReset(4),
+ deleteOnTimeout(5)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object indicates the status of this entry.
+ The default value is permanent(3).
+ other(1) - this entry is currently in use but the
+ conditions under which it will remain so are
+ different from each of the following values.
+ invalid(2) - writing this value to the object
+ removes the corresponding entry.
+ permanent(3) - this entry is currently in use and
+ will remain so after the next reset of the
+ bridge.
+ deleteOnReset(4) - this entry is currently in use
+ and will remain so until the next reset of the
+ bridge.
+ deleteOnTimeout(5) - this entry is currently in use
+ and will remain so until it is aged out."
+ ::= { dot1dStaticEntry 4 }
+
+-- ---------------------------------------------------------- --
+-- Notifications for use by Bridges
+-- ---------------------------------------------------------- --
+-- Notifications for the Spanning Tree Protocol
+-- ---------------------------------------------------------- --
+
+newRoot NOTIFICATION-TYPE
+ -- OBJECTS { }
+ STATUS current
+ DESCRIPTION
+ "The newRoot trap indicates that the sending agent has
+ become the new root of the Spanning Tree; the trap is
+ sent by a bridge soon after its election as the new
+
+ root, e.g., upon expiration of the Topology Change Timer,
+ immediately subsequent to its election. Implementation
+ of this trap is optional."
+ ::= { dot1dNotifications 1 }
+
+topologyChange NOTIFICATION-TYPE
+ -- OBJECTS { }
+ STATUS current
+ DESCRIPTION
+ "A topologyChange trap is sent by a bridge when any of
+ its configured ports transitions from the Learning state
+ to the Forwarding state, or from the Forwarding state to
+ the Blocking state. The trap is not sent if a newRoot
+ trap is sent for the same transition. Implementation of
+ this trap is optional."
+ ::= { dot1dNotifications 2 }
+
+-- ---------------------------------------------------------- --
+-- IEEE 802.1D MIB - Conformance Information
+-- ---------------------------------------------------------- --
+
+dot1dGroups OBJECT IDENTIFIER ::= { dot1dConformance 1 }
+dot1dCompliances OBJECT IDENTIFIER ::= { dot1dConformance 2 }
+
+-- ---------------------------------------------------------- --
+-- units of conformance
+-- ---------------------------------------------------------- --
+
+-- ---------------------------------------------------------- --
+-- the dot1dBase group
+-- ---------------------------------------------------------- --
+
+dot1dBaseBridgeGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dBaseBridgeAddress,
+ dot1dBaseNumPorts,
+ dot1dBaseType
+ }
+ STATUS current
+ DESCRIPTION
+ "Bridge level information for this device."
+ ::= { dot1dGroups 1 }
+
+dot1dBasePortGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dBasePort,
+ dot1dBasePortIfIndex,
+ dot1dBasePortCircuit,
+ dot1dBasePortDelayExceededDiscards,
+ dot1dBasePortMtuExceededDiscards
+ }
+ STATUS current
+ DESCRIPTION
+ "Information for each port on this device."
+ ::= { dot1dGroups 2 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dStp group
+-- ---------------------------------------------------------- --
+
+dot1dStpBridgeGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dStpProtocolSpecification,
+ dot1dStpPriority,
+ dot1dStpTimeSinceTopologyChange,
+ dot1dStpTopChanges,
+ dot1dStpDesignatedRoot,
+ dot1dStpRootCost,
+ dot1dStpRootPort,
+ dot1dStpMaxAge,
+ dot1dStpHelloTime,
+ dot1dStpHoldTime,
+ dot1dStpForwardDelay,
+ dot1dStpBridgeMaxAge,
+ dot1dStpBridgeHelloTime,
+ dot1dStpBridgeForwardDelay
+ }
+ STATUS current
+ DESCRIPTION
+ "Bridge level Spanning Tree data for this device."
+ ::= { dot1dGroups 3 }
+
+dot1dStpPortGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dStpPort,
+ dot1dStpPortPriority,
+ dot1dStpPortState,
+ dot1dStpPortEnable,
+ dot1dStpPortPathCost,
+ dot1dStpPortDesignatedRoot,
+ dot1dStpPortDesignatedCost,
+ dot1dStpPortDesignatedBridge,
+ dot1dStpPortDesignatedPort,
+ dot1dStpPortForwardTransitions
+ }
+ STATUS current
+ DESCRIPTION
+ "Spanning Tree data for each port on this device."
+ ::= { dot1dGroups 4 }
+
+dot1dStpPortGroup2 OBJECT-GROUP
+ OBJECTS {
+ dot1dStpPort,
+ dot1dStpPortPriority,
+ dot1dStpPortState,
+ dot1dStpPortEnable,
+ dot1dStpPortDesignatedRoot,
+ dot1dStpPortDesignatedCost,
+ dot1dStpPortDesignatedBridge,
+ dot1dStpPortDesignatedPort,
+ dot1dStpPortForwardTransitions,
+ dot1dStpPortPathCost32
+ }
+ STATUS current
+ DESCRIPTION
+ "Spanning Tree data for each port on this device."
+ ::= { dot1dGroups 5 }
+
+dot1dStpPortGroup3 OBJECT-GROUP
+ OBJECTS {
+ dot1dStpPortPathCost32
+ }
+ STATUS current
+ DESCRIPTION
+ "Spanning Tree data for devices supporting 32-bit
+ path costs."
+ ::= { dot1dGroups 6 }
+
+-- ---------------------------------------------------------- --
+-- the dot1dTp group
+-- ---------------------------------------------------------- --
+
+dot1dTpBridgeGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dTpLearnedEntryDiscards,
+ dot1dTpAgingTime
+ }
+ STATUS current
+ DESCRIPTION
+ "Bridge level Transparent Bridging data."
+ ::= { dot1dGroups 7 }
+
+dot1dTpFdbGroup OBJECT-GROUP
+ OBJECTS {
+
+ dot1dTpFdbAddress,
+ dot1dTpFdbPort,
+ dot1dTpFdbStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Filtering Database information for the Bridge."
+ ::= { dot1dGroups 8 }
+
+dot1dTpGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dTpPort,
+ dot1dTpPortMaxInfo,
+ dot1dTpPortInFrames,
+ dot1dTpPortOutFrames,
+ dot1dTpPortInDiscards
+ }
+ STATUS current
+ DESCRIPTION
+ "Dynamic Filtering Database information for each port of
+ the Bridge."
+ ::= { dot1dGroups 9 }
+
+-- ---------------------------------------------------------- --
+-- The Static (Destination-Address Filtering) Database
+-- ---------------------------------------------------------- --
+
+dot1dStaticGroup OBJECT-GROUP
+ OBJECTS {
+ dot1dStaticAddress,
+ dot1dStaticReceivePort,
+ dot1dStaticAllowedToGoTo,
+ dot1dStaticStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Static Filtering Database information for each port of
+ the Bridge."
+ ::= { dot1dGroups 10 }
+
+-- ---------------------------------------------------------- --
+-- The Trap Notification Group
+-- ---------------------------------------------------------- --
+
+dot1dNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ newRoot,
+ topologyChange
+ }
+ STATUS current
+ DESCRIPTION
+ "Group of objects describing notifications (traps)."
+ ::= { dot1dGroups 11 }
+
+-- ---------------------------------------------------------- --
+-- compliance statements
+-- ---------------------------------------------------------- --
+
+bridgeCompliance1493 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for device support of bridging
+ services, as per RFC1493."
+
+ MODULE
+ MANDATORY-GROUPS {
+ dot1dBaseBridgeGroup,
+ dot1dBasePortGroup
+ }
+
+ GROUP dot1dStpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the Spanning Tree Protocol."
+
+ GROUP dot1dStpPortGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the Spanning Tree Protocol."
+
+ GROUP dot1dTpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the transparent bridging mode. A
+ transparent or SRT bridge will implement this group."
+
+ GROUP dot1dTpFdbGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the transparent bridging mode. A
+ transparent or SRT bridge will implement this group."
+
+ GROUP dot1dTpGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+
+ that support the transparent bridging mode. A
+ transparent or SRT bridge will implement this group."
+
+ GROUP dot1dStaticGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+
+ GROUP dot1dNotificationGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+ ::= { dot1dCompliances 1 }
+
+bridgeCompliance4188 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for device support of bridging
+ services. This supports 32-bit Path Cost values and the
+ more restricted bridge and port priorities, as per IEEE
+ 802.1t.
+
+ Full support for the 802.1D management objects requires that
+ the SNMPv2-MIB [RFC3418] objects sysDescr, and sysUpTime, as
+ well as the IF-MIB [RFC2863] objects ifIndex, ifType,
+ ifDescr, ifPhysAddress, and ifLastChange are implemented."
+
+ MODULE
+ MANDATORY-GROUPS {
+ dot1dBaseBridgeGroup,
+ dot1dBasePortGroup
+ }
+
+ GROUP dot1dStpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the Spanning Tree Protocol."
+
+ OBJECT dot1dStpPriority
+ SYNTAX Integer32 (0|4096|8192|12288|16384|20480|24576
+ |28672|32768|36864|40960|45056|49152
+ |53248|57344|61440)
+ DESCRIPTION
+ "The possible values defined by IEEE 802.1t."
+
+ GROUP dot1dStpPortGroup2
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the Spanning Tree Protocol."
+
+ GROUP dot1dStpPortGroup3
+ DESCRIPTION
+ "Implementation of this group is mandatory for bridges
+ that support the Spanning Tree Protocol and 32-bit path
+ costs. In particular, this includes devices supporting
+ IEEE 802.1t and IEEE 802.1w."
+
+ OBJECT dot1dStpPortPriority
+ SYNTAX Integer32 (0|16|32|48|64|80|96|112|128
+ |144|160|176|192|208|224|240)
+ DESCRIPTION
+ "The possible values defined by IEEE 802.1t."
+
+ GROUP dot1dTpBridgeGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the transparent bridging
+ mode. A transparent or SRT bridge will implement
+ this group."
+
+ GROUP dot1dTpFdbGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the transparent bridging
+ mode. A transparent or SRT bridge will implement
+ this group."
+
+ GROUP dot1dTpGroup
+ DESCRIPTION
+ "Implementation of this group is mandatory for
+ bridges that support the transparent bridging
+ mode. A transparent or SRT bridge will implement
+ this group."
+
+ GROUP dot1dStaticGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+
+ GROUP dot1dNotificationGroup
+ DESCRIPTION
+ "Implementation of this group is optional."
+ ::= { dot1dCompliances 2 }
+
+END
diff --git a/mibs/DISMAN-EVENT-MIB.txt b/mibs/DISMAN-EVENT-MIB.txt
new file mode 100644
index 00000000..f00c7cc8
--- /dev/null
+++ b/mibs/DISMAN-EVENT-MIB.txt
@@ -0,0 +1,1882 @@
+DISMAN-EVENT-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Unsigned32,
+ NOTIFICATION-TYPE, Counter32,
+ Gauge32, mib-2, zeroDotZero FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, RowStatus,
+ TruthValue FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ sysUpTime FROM SNMPv2-MIB
+ SnmpTagValue FROM SNMP-TARGET-MIB
+ SnmpAdminString FROM SNMP-FRAMEWORK-MIB;
+
+dismanEventMIB MODULE-IDENTITY
+ LAST-UPDATED "200010160000Z" -- 16 October 2000
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO "Ramanathan Kavasseri
+ Cisco Systems, Inc.
+ 170 West Tasman Drive,
+ San Jose CA 95134-1706.
+ Phone: +1 408 526 4527
+ Email: ramk@cisco.com"
+ DESCRIPTION
+ "The MIB module for defining event triggers and actions
+ for network management purposes."
+-- Revision History
+
+ REVISION "200010160000Z" -- 16 October 2000
+ DESCRIPTION "This is the initial version of this MIB.
+ Published as RFC 2981"
+ ::= { mib-2 88 }
+
+dismanEventMIBObjects OBJECT IDENTIFIER ::= { dismanEventMIB 1 }
+
+-- Management Triggered Event (MTE) objects
+
+mteResource OBJECT IDENTIFIER ::= { dismanEventMIBObjects 1 }
+mteTrigger OBJECT IDENTIFIER ::= { dismanEventMIBObjects 2 }
+mteObjects OBJECT IDENTIFIER ::= { dismanEventMIBObjects 3 }
+mteEvent OBJECT IDENTIFIER ::= { dismanEventMIBObjects 4 }
+
+--
+-- Textual Conventions
+--
+
+FailureReason ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Reasons for failures in an attempt to perform a management
+ request.
+
+ The first group of errors, numbered less than 0, are related
+ to problems in sending the request. The existence of a
+ particular error code here does not imply that all
+ implementations are capable of sensing that error and
+
+ returning that code.
+
+ The second group, numbered greater than 0, are copied
+ directly from SNMP protocol operations and are intended to
+ carry exactly the meanings defined for the protocol as returned
+ in an SNMP response.
+
+ localResourceLack some local resource such as memory
+ lacking or
+ mteResourceSampleInstanceMaximum
+ exceeded
+ badDestination unrecognized domain name or otherwise
+ invalid destination address
+ destinationUnreachable can't get to destination address
+ noResponse no response to SNMP request
+ badType the data syntax of a retrieved object
+ as not as expected
+ sampleOverrun another sample attempt occurred before
+ the previous one completed"
+ SYNTAX INTEGER { localResourceLack(-1),
+ badDestination(-2),
+ destinationUnreachable(-3),
+ noResponse(-4),
+ badType(-5),
+ sampleOverrun(-6),
+ noError(0),
+ tooBig(1),
+ noSuchName(2),
+ badValue(3),
+ readOnly(4),
+ genErr(5),
+ noAccess(6),
+ wrongType(7),
+ wrongLength(8),
+ wrongEncoding(9),
+ wrongValue(10),
+ noCreation(11),
+ inconsistentValue(12),
+ resourceUnavailable(13),
+ commitFailed(14),
+ undoFailed(15),
+ authorizationError(16),
+ notWritable(17),
+ inconsistentName(18) }
+--
+
+-- Resource Control Section
+--
+
+mteResourceSampleMinimum OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The minimum mteTriggerFrequency this system will
+ accept. A system may use the larger values of this minimum to
+ lessen the impact of constant sampling. For larger
+ sampling intervals the system samples less often and
+ suffers less overhead. This object provides a way to enforce
+ such lower overhead for all triggers created after it is
+ set.
+
+ Unless explicitly resource limited, a system's value for
+ this object SHOULD be 1, allowing as small as a 1 second
+ interval for ongoing trigger sampling.
+
+ Changing this value will not invalidate an existing setting
+ of mteTriggerFrequency."
+ ::= { mteResource 1 }
+
+mteResourceSampleInstanceMaximum OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "instances"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of instance entries this system will
+ support for sampling.
+
+ These are the entries that maintain state, one for each
+ instance of each sampled object as selected by
+ mteTriggerValueID. Note that wildcarded objects result
+ in multiple instances of this state.
+
+ A value of 0 indicates no preset limit, that is, the limit
+ is dynamic based on system operation and resources.
+
+ Unless explicitly resource limited, a system's value for
+ this object SHOULD be 0.
+
+ Changing this value will not eliminate or inhibit existing
+ sample state but could prevent allocation of additional state
+ information."
+ ::= { mteResource 2 }
+
+mteResourceSampleInstances OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of currently active instance entries as
+ defined for mteResourceSampleInstanceMaximum."
+ ::= { mteResource 3 }
+
+mteResourceSampleInstancesHigh OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The highest value of mteResourceSampleInstances that has
+ occurred since initialization of the management system."
+ ::= { mteResource 4 }
+
+mteResourceSampleInstanceLacks OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this system could not take a new sample
+ because that allocation would have exceeded the limit set by
+ mteResourceSampleInstanceMaximum."
+ ::= { mteResource 5 }
+
+--
+-- Trigger Section
+--
+
+-- Counters
+
+mteTriggerFailures OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "failures"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an attempt to check for a trigger
+ condition has failed. This counts individually for each
+ attempt in a group of targets or each attempt for a
+
+ wildcarded object."
+ ::= { mteTrigger 1 }
+
+--
+-- Trigger Table
+--
+
+mteTriggerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information."
+ ::= { mteTrigger 2 }
+
+mteTriggerEntry OBJECT-TYPE
+ SYNTAX MteTriggerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single trigger. Applications create and
+ delete entries using mteTriggerEntryStatus."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerTable 1 }
+
+MteTriggerEntry ::= SEQUENCE {
+ mteOwner SnmpAdminString,
+ mteTriggerName SnmpAdminString,
+ mteTriggerComment SnmpAdminString,
+ mteTriggerTest BITS,
+ mteTriggerSampleType INTEGER,
+ mteTriggerValueID OBJECT IDENTIFIER,
+ mteTriggerValueIDWildcard TruthValue,
+ mteTriggerTargetTag SnmpTagValue,
+ mteTriggerContextName SnmpAdminString,
+ mteTriggerContextNameWildcard TruthValue,
+ mteTriggerFrequency Unsigned32,
+ mteTriggerObjectsOwner SnmpAdminString,
+ mteTriggerObjects SnmpAdminString,
+ mteTriggerEnabled TruthValue,
+ mteTriggerEntryStatus RowStatus
+}
+
+mteOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The owner of this entry. The exact semantics of this
+ string are subject to the security policy defined by the
+ security administrator."
+ ::= { mteTriggerEntry 1 }
+
+mteTriggerName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A locally-unique, administratively assigned name for the
+ trigger within the scope of mteOwner."
+ ::= { mteTriggerEntry 2 }
+
+mteTriggerComment OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A description of the trigger's function and use."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 3 }
+
+mteTriggerTest OBJECT-TYPE
+ SYNTAX BITS { existence(0), boolean(1), threshold(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of trigger test to perform. For 'boolean' and
+ 'threshold' tests, the object at mteTriggerValueID MUST
+ evaluate to an integer, that is, anything that ends up encoded
+ for transmission (that is, in BER, not ASN.1) as an integer.
+
+ For 'existence', the specific test is as selected by
+ mteTriggerExistenceTest. When an object appears, vanishes
+ or changes value, the trigger fires. If the object's
+ appearance caused the trigger firing, the object MUST
+ vanish before the trigger can be fired again for it, and
+ vice versa. If the trigger fired due to a change in the
+ object's value, it will be fired again on every successive
+ value change for that object.
+
+ For 'boolean', the specific test is as selected by
+ mteTriggerBooleanTest. If the test result is true the trigger
+ fires. The trigger will not fire again until the value has
+ become false and come back to true.
+
+ For 'threshold' the test works as described below for
+
+ mteTriggerThresholdStartup, mteTriggerThresholdRising, and
+ mteTriggerThresholdFalling.
+
+ Note that combining 'boolean' and 'threshold' tests on the
+ same object may be somewhat redundant."
+ DEFVAL { { boolean } }
+ ::= { mteTriggerEntry 4 }
+
+mteTriggerSampleType OBJECT-TYPE
+ SYNTAX INTEGER { absoluteValue(1), deltaValue(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of sampling to perform.
+
+ An 'absoluteValue' sample requires only a single sample to be
+ meaningful, and is exactly the value of the object at
+ mteTriggerValueID at the sample time.
+
+ A 'deltaValue' requires two samples to be meaningful and is
+ thus not available for testing until the second and subsequent
+ samples after the object at mteTriggerValueID is first found
+ to exist. It is the difference between the two samples. For
+ unsigned values it is always positive, based on unsigned
+ arithmetic. For signed values it can be positive or negative.
+
+ For SNMP counters to be meaningful they should be sampled as a
+ 'deltaValue'.
+
+ For 'deltaValue' mteTriggerDeltaTable contains further
+ parameters.
+
+ If only 'existence' is set in mteTriggerTest this object has
+ no meaning."
+ DEFVAL { absoluteValue }
+ ::= { mteTriggerEntry 5 }
+
+mteTriggerValueID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object identifier of the MIB object to sample to see
+ if the trigger should fire.
+
+ This may be wildcarded by truncating all or part of the
+ instance portion, in which case the value is obtained
+ as if with a GetNext function, checking multiple values
+
+ if they exist. If such wildcarding is applied,
+ mteTriggerValueIDWildcard must be 'true' and if not it must
+ be 'false'.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteTriggerValueIDWildcard result
+ in operation as one would expect when providing the wrong
+ identifier to a Get or GetNext operation. The Get will fail
+ or get the wrong object. The GetNext will indeed get whatever
+ is next, proceeding until it runs past the initial part of the
+ identifier and perhaps many unintended objects for confusing
+ results. If the value syntax of those objects is not usable,
+ that results in a 'badType' error that terminates the scan.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time."
+ DEFVAL { zeroDotZero }
+ ::= { mteTriggerEntry 6 }
+
+mteTriggerValueIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteTriggerValueID is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard."
+ DEFVAL { false }
+ ::= { mteTriggerEntry 7 }
+
+mteTriggerTargetTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The tag for the target(s) from which to obtain the condition
+ for a trigger check.
+
+ A length of 0 indicates the local system. In this case,
+ access to the objects indicated by mteTriggerValueID is under
+ the security credentials of the requester that set
+ mteTriggerEntryStatus to 'active'. Those credentials are the
+ input parameters for isAccessAllowed from the Architecture for
+ Describing SNMP Management Frameworks.
+
+ Otherwise access rights are checked according to the security
+
+ parameters resulting from the tag."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 8 }
+
+mteTriggerContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The management context from which to obtain mteTriggerValueID.
+
+ This may be wildcarded by leaving characters off the end. For
+ example use 'Repeater' to wildcard to 'Repeater1',
+ 'Repeater2', 'Repeater-999.87b', and so on. To indicate such
+ wildcarding is intended, mteTriggerContextNameWildcard must
+ be 'true'.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time.
+
+ Operation of this feature assumes that the local system has a
+ list of available contexts against which to apply the
+ wildcard. If the objects are being read from the local
+ system, this is clearly the system's own list of contexts.
+ For a remote system a local version of such a list is not
+ defined by any current standard and may not be available, so
+ this function MAY not be supported."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 9 }
+
+mteTriggerContextNameWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteTriggerContextName is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard."
+ DEFVAL { false }
+ ::= { mteTriggerEntry 10 }
+
+mteTriggerFrequency OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds to wait between trigger samples. To
+ encourage consistency in sampling, the interval is measured
+ from the beginning of one check to the beginning of the next
+ and the timer is restarted immediately when it expires, not
+ when the check completes.
+
+ If the next sample begins before the previous one completed the
+ system may either attempt to make the check or treat this as an
+ error condition with the error 'sampleOverrun'.
+
+ A frequency of 0 indicates instantaneous recognition of the
+ condition. This is not possible in many cases, but may
+ be supported in cases where it makes sense and the system is
+ able to do so. This feature allows the MIB to be used in
+ implementations where such interrupt-driven behavior is
+ possible and is not likely to be supported for all MIB objects
+ even then since such sampling generally has to be tightly
+ integrated into low-level code.
+
+ Systems that can support this SHOULD document those cases
+ where it can be used. In cases where it can not, setting this
+ object to 0 should be disallowed."
+ DEFVAL { 600 }
+ ::= { mteTriggerEntry 11 }
+
+mteTriggerObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerObjects, the mteOwner of a group of
+ objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 12 }
+
+mteTriggerObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger.
+
+ A list of objects may also be added based on the event or on
+ the value of mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerEntry 13 }
+
+mteTriggerEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control to allow a trigger to be configured but not used.
+ When the value is 'false' the trigger is not sampled."
+ DEFVAL { false }
+ ::= { mteTriggerEntry 14 }
+
+mteTriggerEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries.
+ Once made active an entry may not be modified except to
+ delete it."
+ ::= { mteTriggerEntry 15 }
+
+--
+-- Trigger Delta Table
+--
+
+mteTriggerDeltaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerDeltaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for delta
+ sampling."
+ ::= { mteTrigger 3 }
+
+mteTriggerDeltaEntry OBJECT-TYPE
+ SYNTAX MteTriggerDeltaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single trigger's delta sampling. Entries
+ automatically exist in this this table for each mteTriggerEntry
+ that has mteTriggerSampleType set to 'deltaValue'."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerDeltaTable 1 }
+
+MteTriggerDeltaEntry ::= SEQUENCE {
+ mteTriggerDeltaDiscontinuityID OBJECT IDENTIFIER,
+ mteTriggerDeltaDiscontinuityIDWildcard TruthValue,
+ mteTriggerDeltaDiscontinuityIDType INTEGER
+}
+
+sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
+
+mteTriggerDeltaDiscontinuityID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or
+ DateAndTime object that indicates a discontinuity in the value
+ at mteTriggerValueID.
+
+ The OID may be for a leaf object (e.g. sysUpTime.0) or may
+ be wildcarded to match mteTriggerValueID.
+
+ This object supports normal checking for a discontinuity in a
+ counter. Note that if this object does not point to sysUpTime
+ discontinuity checking MUST still check sysUpTime for an overall
+ discontinuity.
+
+ If the object identified is not accessible the sample attempt
+ is in error, with the error code as from an SNMP request.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteDeltaDiscontinuityIDWildcard
+ result in operation as one would expect when providing the
+ wrong identifier to a Get operation. The Get will fail or get
+ the wrong object. If the value syntax of those objects is not
+ usable, that results in an error that terminates the sample
+ with a 'badType' error code."
+ DEFVAL { sysUpTimeInstance }
+ ::= { mteTriggerDeltaEntry 1 }
+
+mteTriggerDeltaDiscontinuityIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteTriggerDeltaDiscontinuityID is to be
+ treated as fully-specified or wildcarded, with 'true'
+ indicating wildcard. Note that the value of this object will
+ be the same as that of the corresponding instance of
+ mteTriggerValueIDWildcard when the corresponding
+
+ mteTriggerSampleType is 'deltaValue'."
+ DEFVAL { false }
+ ::= { mteTriggerDeltaEntry 2 }
+
+mteTriggerDeltaDiscontinuityIDType OBJECT-TYPE
+ SYNTAX INTEGER { timeTicks(1), timeStamp(2), dateAndTime(3) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value 'timeTicks' indicates the
+ mteTriggerDeltaDiscontinuityID of this row is of syntax
+ TimeTicks. The value 'timeStamp' indicates syntax TimeStamp.
+ The value 'dateAndTime' indicates syntax DateAndTime."
+ DEFVAL { timeTicks }
+ ::= { mteTriggerDeltaEntry 3 }
+
+--
+-- Trigger Existence Table
+--
+
+mteTriggerExistenceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerExistenceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for existence
+ triggers."
+ ::= { mteTrigger 4 }
+
+mteTriggerExistenceEntry OBJECT-TYPE
+ SYNTAX MteTriggerExistenceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single existence trigger. Entries
+ automatically exist in this this table for each mteTriggerEntry
+ that has 'existence' set in mteTriggerTest."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerExistenceTable 1 }
+
+MteTriggerExistenceEntry ::= SEQUENCE {
+ mteTriggerExistenceTest BITS,
+ mteTriggerExistenceStartup BITS,
+ mteTriggerExistenceObjectsOwner SnmpAdminString,
+ mteTriggerExistenceObjects SnmpAdminString,
+ mteTriggerExistenceEventOwner SnmpAdminString,
+ mteTriggerExistenceEvent SnmpAdminString
+}
+
+mteTriggerExistenceTest OBJECT-TYPE
+ SYNTAX BITS { present(0), absent(1), changed(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The type of existence test to perform. The trigger fires
+ when the object at mteTriggerValueID is seen to go from
+ present to absent, from absent to present, or to have it's
+ value changed, depending on which tests are selected:
+
+ present(0) - when this test is selected, the trigger fires
+ when the mteTriggerValueID object goes from absent to present.
+
+ absent(1) - when this test is selected, the trigger fires
+ when the mteTriggerValueID object goes from present to absent.
+ changed(2) - when this test is selected, the trigger fires
+ the mteTriggerValueID object value changes.
+
+ Once the trigger has fired for either presence or absence it
+ will not fire again for that state until the object has been
+ to the other state. "
+ DEFVAL { { present, absent } }
+ ::= { mteTriggerExistenceEntry 1 }
+
+mteTriggerExistenceStartup OBJECT-TYPE
+ SYNTAX BITS { present(0), absent(1) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether an event may be triggered when this entry
+ is first set to 'active' and the test specified by
+ mteTriggerExistenceTest is true. Setting an option causes
+ that trigger to fire when its test is true."
+ DEFVAL { { present, absent } }
+ ::= { mteTriggerExistenceEntry 2 }
+
+mteTriggerExistenceObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerExistenceObjects, the mteOwner of a
+ group of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 3 }
+
+mteTriggerExistenceObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger for
+ this test.
+
+ A list of objects may also be added based on the overall
+ trigger, the event or other settings in mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 4 }
+
+mteTriggerExistenceEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerExistenceEvent, the mteOwner of an event
+ entry from the mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 5 }
+
+mteTriggerExistenceEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'existence' and this trigger fires. A length of 0 indicates no
+ event."
+ DEFVAL { ''H }
+ ::= { mteTriggerExistenceEntry 6 }
+
+--
+-- Trigger Boolean Table
+--
+
+mteTriggerBooleanTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerBooleanEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for boolean
+ triggers."
+ ::= { mteTrigger 5 }
+
+mteTriggerBooleanEntry OBJECT-TYPE
+ SYNTAX MteTriggerBooleanEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single boolean trigger. Entries
+ automatically exist in this this table for each mteTriggerEntry
+ that has 'boolean' set in mteTriggerTest."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerBooleanTable 1 }
+
+MteTriggerBooleanEntry ::= SEQUENCE {
+ mteTriggerBooleanComparison INTEGER,
+ mteTriggerBooleanValue Integer32,
+ mteTriggerBooleanStartup TruthValue,
+ mteTriggerBooleanObjectsOwner SnmpAdminString,
+ mteTriggerBooleanObjects SnmpAdminString,
+ mteTriggerBooleanEventOwner SnmpAdminString,
+ mteTriggerBooleanEvent SnmpAdminString
+}
+
+mteTriggerBooleanComparison OBJECT-TYPE
+ SYNTAX INTEGER { unequal(1), equal(2),
+ less(3), lessOrEqual(4),
+ greater(5), greaterOrEqual(6) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The type of boolean comparison to perform.
+
+ The value at mteTriggerValueID is compared to
+ mteTriggerBooleanValue, so for example if
+ mteTriggerBooleanComparison is 'less' the result would be true
+ if the value at mteTriggerValueID is less than the value of
+ mteTriggerBooleanValue."
+ DEFVAL { unequal }
+ ::= { mteTriggerBooleanEntry 1 }
+
+mteTriggerBooleanValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value to use for the test specified by
+ mteTriggerBooleanTest."
+ DEFVAL { 0 }
+ ::= { mteTriggerBooleanEntry 2 }
+
+mteTriggerBooleanStartup OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether an event may be triggered when this entry
+ is first set to 'active' or a new instance of the object at
+ mteTriggerValueID is found and the test specified by
+ mteTriggerBooleanComparison is true. In that case an event is
+ triggered if mteTriggerBooleanStartup is 'true'."
+ DEFVAL { true }
+ ::= { mteTriggerBooleanEntry 3 }
+
+mteTriggerBooleanObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerBooleanObjects, the mteOwner of a group
+ of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 4 }
+
+mteTriggerBooleanObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger for
+ this test.
+
+ A list of objects may also be added based on the overall
+ trigger, the event or other settings in mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 5 }
+
+mteTriggerBooleanEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerBooleanEvent, the mteOwner of an event
+ entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 6 }
+
+mteTriggerBooleanEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'boolean' and this trigger fires. A length of 0 indicates no
+ event."
+ DEFVAL { ''H }
+ ::= { mteTriggerBooleanEntry 7 }
+
+--
+-- Trigger Threshold Table
+--
+
+mteTriggerThresholdTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteTriggerThresholdEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event trigger information for threshold
+ triggers."
+ ::= { mteTrigger 6 }
+
+mteTriggerThresholdEntry OBJECT-TYPE
+ SYNTAX MteTriggerThresholdEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single threshold trigger. Entries
+ automatically exist in this table for each mteTriggerEntry
+ that has 'threshold' set in mteTriggerTest."
+ INDEX { mteOwner, IMPLIED mteTriggerName }
+ ::= { mteTriggerThresholdTable 1 }
+
+MteTriggerThresholdEntry ::= SEQUENCE {
+ mteTriggerThresholdStartup INTEGER,
+ mteTriggerThresholdRising Integer32,
+ mteTriggerThresholdFalling Integer32,
+ mteTriggerThresholdDeltaRising Integer32,
+ mteTriggerThresholdDeltaFalling Integer32,
+ mteTriggerThresholdObjectsOwner SnmpAdminString,
+ mteTriggerThresholdObjects SnmpAdminString,
+ mteTriggerThresholdRisingEventOwner SnmpAdminString,
+ mteTriggerThresholdRisingEvent SnmpAdminString,
+ mteTriggerThresholdFallingEventOwner SnmpAdminString,
+ mteTriggerThresholdFallingEvent SnmpAdminString,
+ mteTriggerThresholdDeltaRisingEventOwner SnmpAdminString,
+ mteTriggerThresholdDeltaRisingEvent SnmpAdminString,
+ mteTriggerThresholdDeltaFallingEventOwner SnmpAdminString,
+ mteTriggerThresholdDeltaFallingEvent SnmpAdminString
+}
+
+mteTriggerThresholdStartup OBJECT-TYPE
+ SYNTAX INTEGER { rising(1), falling(2), risingOrFalling(3) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The event that may be triggered when this entry is first
+ set to 'active' and a new instance of the object at
+ mteTriggerValueID is found. If the first sample after this
+ instance becomes active is greater than or equal to
+ mteTriggerThresholdRising and mteTriggerThresholdStartup is
+ equal to 'rising' or 'risingOrFalling', then one
+ mteTriggerThresholdRisingEvent is triggered for that instance.
+ If the first sample after this entry becomes active is less
+ than or equal to mteTriggerThresholdFalling and
+ mteTriggerThresholdStartup is equal to 'falling' or
+ 'risingOrFalling', then one mteTriggerThresholdRisingEvent is
+ triggered for that instance."
+ DEFVAL { risingOrFalling }
+ ::= { mteTriggerThresholdEntry 1 }
+
+mteTriggerThresholdRising OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the current sampled value is greater than or equal to
+ this threshold, and the value at the last sampling interval
+ was less than this threshold, one
+ mteTriggerThresholdRisingEvent is triggered. That event is
+ also triggered if the first sample after this entry becomes
+ active is greater than or equal to this threshold and
+ mteTriggerThresholdStartup is equal to 'rising' or
+ 'risingOrFalling'.
+
+ After a rising event is generated, another such event is not
+ triggered until the sampled value falls below this threshold
+ and reaches mteTriggerThresholdFalling."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 2 }
+
+mteTriggerThresholdFalling OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the current sampled value is less than or equal to this
+ threshold, and the value at the last sampling interval was
+ greater than this threshold, one
+ mteTriggerThresholdFallingEvent is triggered. That event is
+ also triggered if the first sample after this entry becomes
+ active is less than or equal to this threshold and
+ mteTriggerThresholdStartup is equal to 'falling' or
+ 'risingOrFalling'.
+
+ After a falling event is generated, another such event is not
+ triggered until the sampled value rises above this threshold
+ and reaches mteTriggerThresholdRising."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 3 }
+
+mteTriggerThresholdDeltaRising OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the delta value (difference) between the current sampled
+ value (value(n)) and the previous sampled value (value(n-1))
+ is greater than or equal to this threshold,
+ and the delta value calculated at the last sampling interval
+ (i.e. value(n-1) - value(n-2)) was less than this threshold,
+ one mteTriggerThresholdDeltaRisingEvent is triggered. That event
+ is also triggered if the first delta value calculated after this
+ entry becomes active, i.e. value(2) - value(1), where value(1)
+ is the first sample taken of that instance, is greater than or
+ equal to this threshold.
+
+ After a rising event is generated, another such event is not
+ triggered until the delta value falls below this threshold and
+ reaches mteTriggerThresholdDeltaFalling."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 4 }
+
+mteTriggerThresholdDeltaFalling OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A threshold value to check against if mteTriggerType is
+ 'threshold'.
+
+ When the delta value (difference) between the current sampled
+ value (value(n)) and the previous sampled value (value(n-1))
+ is less than or equal to this threshold,
+ and the delta value calculated at the last sampling interval
+ (i.e. value(n-1) - value(n-2)) was greater than this threshold,
+ one mteTriggerThresholdDeltaFallingEvent is triggered. That event
+ is also triggered if the first delta value calculated after this
+ entry becomes active, i.e. value(2) - value(1), where value(1)
+ is the first sample taken of that instance, is less than or
+ equal to this threshold.
+
+ After a falling event is generated, another such event is not
+ triggered until the delta value falls below this threshold and
+ reaches mteTriggerThresholdDeltaRising."
+ DEFVAL { 0 }
+ ::= { mteTriggerThresholdEntry 5 }
+
+mteTriggerThresholdObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdObjects, the mteOwner of a group
+ of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 6 }
+
+mteTriggerThresholdObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable. These objects are to be added to any
+ Notification resulting from the firing of this trigger for
+ this test.
+
+ A list of objects may also be added based on the overall
+
+ trigger, the event or other settings in mteTriggerTest.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 7 }
+
+mteTriggerThresholdRisingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdRisingEvent, the mteOwner of an
+ event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 8 }
+
+mteTriggerThresholdRisingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdRising. A length of 0 indicates no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 9 }
+
+mteTriggerThresholdFallingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdFallingEvent, the mteOwner of an
+ event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 10 }
+
+mteTriggerThresholdFallingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdFalling. A length of 0 indicates no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 11 }
+
+mteTriggerThresholdDeltaRisingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdDeltaRisingEvent, the mteOwner
+ of an event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 12 }
+
+mteTriggerThresholdDeltaRisingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdDeltaRising. A length of 0 indicates
+ no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 13 }
+
+mteTriggerThresholdDeltaFallingEventOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteTriggerThresholdDeltaFallingEvent, the mteOwner
+ of an event entry from mteEventTable."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 14 }
+
+mteTriggerThresholdDeltaFallingEvent OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteEventName of the event to invoke when mteTriggerType is
+ 'threshold' and this trigger fires based on
+ mteTriggerThresholdDeltaFalling. A length of 0 indicates
+ no event."
+ DEFVAL { ''H }
+ ::= { mteTriggerThresholdEntry 15 }
+
+--
+-- Objects Table
+--
+
+mteObjectsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteObjectsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of objects that can be added to notifications based
+ on the trigger, trigger test, or event, as pointed to by
+ entries in those tables."
+ ::= { mteObjects 1 }
+
+mteObjectsEntry OBJECT-TYPE
+ SYNTAX MteObjectsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A group of objects. Applications create and delete entries
+ using mteObjectsEntryStatus.
+
+ When adding objects to a notification they are added in the
+ lexical order of their index in this table. Those associated
+ with a trigger come first, then trigger test, then event."
+ INDEX { mteOwner, mteObjectsName, mteObjectsIndex }
+ ::= { mteObjectsTable 1 }
+
+MteObjectsEntry ::= SEQUENCE {
+ mteObjectsName SnmpAdminString,
+ mteObjectsIndex Unsigned32,
+ mteObjectsID OBJECT IDENTIFIER,
+ mteObjectsIDWildcard TruthValue,
+ mteObjectsEntryStatus RowStatus
+ }
+
+mteObjectsName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A locally-unique, administratively assigned name for a group
+ of objects."
+ ::= { mteObjectsEntry 1 }
+
+mteObjectsIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An arbitrary integer for the purpose of identifying
+ individual objects within a mteObjectsName group.
+
+ Objects within a group are placed in the notification in the
+ numerical order of this index.
+
+ Groups are placed in the notification in the order of the
+ selections for overall trigger, trigger test, and event.
+ Within trigger test they are in the same order as the
+ numerical values of the bits defined for mteTriggerTest.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteDeltaDiscontinuityIDWildcard
+ result in operation as one would expect when providing the
+ wrong identifier to a Get operation. The Get will fail or get
+ the wrong object. If the object is not available it is omitted
+ from the notification."
+ ::= { mteObjectsEntry 2 }
+
+mteObjectsID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object identifier of a MIB object to add to a
+ Notification that results from the firing of a trigger.
+
+ This may be wildcarded by truncating all or part of the
+ instance portion, in which case the instance portion of the
+ OID for obtaining this object will be the same as that used
+ in obtaining the mteTriggerValueID that fired. If such
+ wildcarding is applied, mteObjectsIDWildcard must be
+ 'true' and if not it must be 'false'.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time."
+ DEFVAL { zeroDotZero }
+ ::= { mteObjectsEntry 3 }
+
+mteObjectsIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteObjectsID is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard."
+ DEFVAL { false }
+ ::= { mteObjectsEntry 4 }
+
+mteObjectsEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries.
+ Once made active an entry MAY not be modified except to
+ delete it."
+ ::= { mteObjectsEntry 5 }
+
+--
+-- Event Section
+--
+
+-- Counters
+
+mteEventFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times an attempt to invoke an event
+ has failed. This counts individually for each
+ attempt in a group of targets or each attempt for a
+ wildcarded trigger object."
+ ::= { mteEvent 1 }
+
+--
+-- Event Table
+--
+
+mteEventTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteEventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event action information."
+ ::= { mteEvent 2 }
+
+mteEventEntry OBJECT-TYPE
+ SYNTAX MteEventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single event. Applications create and
+ delete entries using mteEventEntryStatus."
+ INDEX { mteOwner, IMPLIED mteEventName }
+ ::= { mteEventTable 1 }
+
+MteEventEntry ::= SEQUENCE {
+ mteEventName SnmpAdminString,
+ mteEventComment SnmpAdminString,
+ mteEventActions BITS,
+ mteEventEnabled TruthValue,
+ mteEventEntryStatus RowStatus
+ }
+
+mteEventName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A locally-unique, administratively assigned name for the
+ event."
+ ::= { mteEventEntry 1 }
+
+mteEventComment OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A description of the event's function and use."
+ DEFVAL { ''H }
+ ::= { mteEventEntry 2 }
+
+mteEventActions OBJECT-TYPE
+ SYNTAX BITS { notification(0), set(1) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The actions to perform when this event occurs.
+
+ For 'notification', Traps and/or Informs are sent according
+ to the configuration in the SNMP Notification MIB.
+
+ For 'set', an SNMP Set operation is performed according to
+ control values in this entry."
+ DEFVAL { {} } -- No bits set.
+ ::= { mteEventEntry 3 }
+
+mteEventEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control to allow an event to be configured but not used.
+ When the value is 'false' the event does not execute even if
+
+ triggered."
+ DEFVAL { false }
+ ::= { mteEventEntry 4 }
+
+mteEventEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries.
+ Once made active an entry MAY not be modified except to
+ delete it."
+ ::= { mteEventEntry 5 }
+
+--
+-- Event Notification Table
+--
+
+mteEventNotificationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteEventNotificationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of information about notifications to be sent as a
+ consequence of management events."
+ ::= { mteEvent 3 }
+
+mteEventNotificationEntry OBJECT-TYPE
+ SYNTAX MteEventNotificationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single event's notification. Entries
+ automatically exist in this this table for each mteEventEntry
+ that has 'notification' set in mteEventActions."
+ INDEX { mteOwner, IMPLIED mteEventName }
+ ::= { mteEventNotificationTable 1 }
+
+MteEventNotificationEntry ::= SEQUENCE {
+ mteEventNotification OBJECT IDENTIFIER,
+ mteEventNotificationObjectsOwner SnmpAdminString,
+ mteEventNotificationObjects SnmpAdminString
+ }
+
+mteEventNotification OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The object identifier from the NOTIFICATION-TYPE for the
+ notification to use if metEventActions has 'notification' set."
+ DEFVAL { zeroDotZero }
+ ::= { mteEventNotificationEntry 1 }
+
+mteEventNotificationObjectsOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "To go with mteEventNotificationObjects, the mteOwner of a
+ group of objects from mteObjectsTable."
+ DEFVAL { ''H }
+ ::= { mteEventNotificationEntry 2 }
+
+mteEventNotificationObjects OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The mteObjectsName of a group of objects from
+ mteObjectsTable if mteEventActions has 'notification' set.
+ These objects are to be added to any Notification generated by
+ this event.
+
+ Objects may also be added based on the trigger that stimulated
+ the event.
+
+ A length of 0 indicates no additional objects."
+ DEFVAL { ''H }
+ ::= { mteEventNotificationEntry 3 }
+
+--
+-- Event Set Table
+--
+
+mteEventSetTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MteEventSetEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of management event action information."
+ ::= { mteEvent 4 }
+
+mteEventSetEntry OBJECT-TYPE
+ SYNTAX MteEventSetEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single event's set option. Entries
+ automatically exist in this this table for each mteEventEntry
+ that has 'set' set in mteEventActions."
+ INDEX { mteOwner, IMPLIED mteEventName }
+ ::= { mteEventSetTable 1 }
+
+MteEventSetEntry ::= SEQUENCE {
+ mteEventSetObject OBJECT IDENTIFIER,
+ mteEventSetObjectWildcard TruthValue,
+ mteEventSetValue Integer32,
+ mteEventSetTargetTag SnmpTagValue,
+ mteEventSetContextName SnmpAdminString,
+ mteEventSetContextNameWildcard TruthValue
+ }
+
+mteEventSetObject OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The object identifier from the MIB object to set if
+ mteEventActions has 'set' set.
+
+ This object identifier may be wildcarded by leaving
+ sub-identifiers off the end, in which case
+ nteEventSetObjectWildCard must be 'true'.
+
+ If mteEventSetObject is wildcarded the instance used to set the
+ object to which it points is the same as the instance from the
+ value of mteTriggerValueID that triggered the event.
+
+ Each instance that fills the wildcard is independent of any
+ additional instances, that is, wildcarded objects operate
+ as if there were a separate table entry for each instance
+ that fills the wildcard without having to actually predict
+ all possible instances ahead of time.
+
+ Bad object identifiers or a mismatch between truncating the
+ identifier and the value of mteSetObjectWildcard
+ result in operation as one would expect when providing the
+ wrong identifier to a Set operation. The Set will fail or set
+ the wrong object. If the value syntax of the destination
+ object is not correct, the Set fails with the normal SNMP
+ error code."
+ DEFVAL { zeroDotZero }
+ ::= { mteEventSetEntry 1 }
+
+mteEventSetObjectWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control over whether mteEventSetObject is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard
+ if mteEventActions has 'set' set."
+ DEFVAL { false }
+ ::= { mteEventSetEntry 2 }
+
+mteEventSetValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value to which to set the object at mteEventSetObject
+ if mteEventActions has 'set' set."
+ DEFVAL { 0 }
+ ::= { mteEventSetEntry 3 }
+
+mteEventSetTargetTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The tag for the target(s) at which to set the object at
+ mteEventSetObject to mteEventSetValue if mteEventActions
+ has 'set' set.
+
+ Systems limited to self management MAY reject a non-zero
+ length for the value of this object.
+
+ A length of 0 indicates the local system. In this case,
+ access to the objects indicated by mteEventSetObject is under
+ the security credentials of the requester that set
+ mteTriggerEntryStatus to 'active'. Those credentials are the
+ input parameters for isAccessAllowed from the Architecture for
+ Describing SNMP Management Frameworks.
+
+ Otherwise access rights are checked according to the security
+ parameters resulting from the tag."
+ DEFVAL { ''H }
+ ::= { mteEventSetEntry 4 }
+
+mteEventSetContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The management context in which to set mteEventObjectID.
+ if mteEventActions has 'set' set.
+
+ This may be wildcarded by leaving characters off the end. To
+ indicate such wildcarding mteEventSetContextNameWildcard must
+ be 'true'.
+
+ If this context name is wildcarded the value used to complete
+ the wildcarding of mteTriggerContextName will be appended."
+ DEFVAL { ''H }
+ ::= { mteEventSetEntry 5 }
+
+mteEventSetContextNameWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Control for whether mteEventSetContextName is to be treated as
+ fully-specified or wildcarded, with 'true' indicating wildcard
+ if mteEventActions has 'set' set."
+ DEFVAL { false }
+ ::= { mteEventSetEntry 6 }
+
+--
+-- Notifications
+--
+
+dismanEventMIBNotificationPrefix OBJECT IDENTIFIER ::=
+ { dismanEventMIB 2 }
+dismanEventMIBNotifications OBJECT IDENTIFIER ::=
+ { dismanEventMIBNotificationPrefix 0 }
+dismanEventMIBNotificationObjects OBJECT IDENTIFIER
+ ::= { dismanEventMIBNotificationPrefix 1 }
+
+--
+-- Notification Objects
+--
+
+mteHotTrigger OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The name of the trigger causing the notification."
+ ::= { dismanEventMIBNotificationObjects 1 }
+
+mteHotTargetName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The SNMP Target MIB's snmpTargetAddrName related to the
+ notification."
+ ::= { dismanEventMIBNotificationObjects 2 }
+
+mteHotContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The context name related to the notification. This MUST be as
+ fully-qualified as possible, including filling in wildcard
+ information determined in processing."
+ ::= { dismanEventMIBNotificationObjects 3 }
+
+mteHotOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The object identifier of the destination object related to the
+ notification. This MUST be as fully-qualified as possible,
+ including filling in wildcard information determined in
+ processing.
+
+ For a trigger-related notification this is from
+ mteTriggerValueID.
+
+ For a set failure this is from mteEventSetObject."
+ ::= { dismanEventMIBNotificationObjects 4 }
+
+mteHotValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The value of the object at mteTriggerValueID when a
+ trigger fired."
+ ::= { dismanEventMIBNotificationObjects 5 }
+
+mteFailedReason OBJECT-TYPE
+ SYNTAX FailureReason
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The reason for the failure of an attempt to check for a
+ trigger condition or set an object in response to an event."
+ ::= { dismanEventMIBNotificationObjects 6 }
+
+--
+-- Notifications
+--
+
+mteTriggerFired NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue }
+ STATUS current
+ DESCRIPTION
+ "Notification that the trigger indicated by the object
+ instances has fired, for triggers with mteTriggerType
+ 'boolean' or 'existence'."
+ ::= { dismanEventMIBNotifications 1 }
+
+mteTriggerRising NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue }
+ STATUS current
+ DESCRIPTION
+ "Notification that the rising threshold was met for triggers
+ with mteTriggerType 'threshold'."
+ ::= { dismanEventMIBNotifications 2 }
+
+mteTriggerFalling NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue }
+ STATUS current
+ DESCRIPTION
+ "Notification that the falling threshold was met for triggers
+ with mteTriggerType 'threshold'."
+ ::= { dismanEventMIBNotifications 3 }
+
+mteTriggerFailure NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteFailedReason }
+ STATUS current
+ DESCRIPTION
+ "Notification that an attempt to check a trigger has failed.
+
+ The network manager must enable this notification only with
+ a certain fear and trembling, as it can easily crowd out more
+ important information. It should be used only to help diagnose
+ a problem that has appeared in the error counters and can not
+ be found otherwise."
+ ::= { dismanEventMIBNotifications 4 }
+
+mteEventSetFailure NOTIFICATION-TYPE
+ OBJECTS { mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteFailedReason }
+ STATUS current
+ DESCRIPTION
+ "Notification that an attempt to do a set in response to an
+ event has failed.
+
+ The network manager must enable this notification only with
+ a certain fear and trembling, as it can easily crowd out more
+ important information. It should be used only to help diagnose
+ a problem that has appeared in the error counters and can not
+ be found otherwise."
+ ::= { dismanEventMIBNotifications 5 }
+
+--
+-- Conformance
+--
+
+dismanEventMIBConformance OBJECT IDENTIFIER ::= { dismanEventMIB 3 }
+dismanEventMIBCompliances OBJECT IDENTIFIER ::=
+ { dismanEventMIBConformance 1 }
+dismanEventMIBGroups OBJECT IDENTIFIER ::=
+ { dismanEventMIBConformance 2 }
+
+-- Compliance
+
+dismanEventMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Event MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ dismanEventResourceGroup,
+ dismanEventTriggerGroup,
+ dismanEventObjectsGroup,
+ dismanEventEventGroup,
+ dismanEventNotificationObjectGroup,
+ dismanEventNotificationGroup
+ }
+
+ OBJECT mteTriggerTargetTag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus limiting
+ monitoring to the local system or pre-configured
+ remote systems."
+
+ OBJECT mteEventSetTargetTag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus limiting
+ setting to the local system or pre-configured
+ remote systems."
+
+ OBJECT mteTriggerValueIDWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+
+ OBJECT mteTriggerContextNameWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+
+ OBJECT mteObjectsIDWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+
+ OBJECT mteEventSetContextNameWildcard
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, thus allowing
+ the system not to implement wildcarding."
+ ::= { dismanEventMIBCompliances 1 }
+
+-- Units of Conformance
+
+dismanEventResourceGroup OBJECT-GROUP
+ OBJECTS {
+ mteResourceSampleMinimum,
+ mteResourceSampleInstanceMaximum,
+ mteResourceSampleInstances,
+ mteResourceSampleInstancesHigh,
+ mteResourceSampleInstanceLacks
+ }
+ STATUS current
+ DESCRIPTION
+ "Event resource status and control objects."
+ ::= { dismanEventMIBGroups 1 }
+
+dismanEventTriggerGroup OBJECT-GROUP
+ OBJECTS {
+ mteTriggerFailures,
+ mteTriggerComment,
+ mteTriggerTest,
+ mteTriggerSampleType,
+ mteTriggerValueID,
+ mteTriggerValueIDWildcard,
+ mteTriggerTargetTag,
+ mteTriggerContextName,
+ mteTriggerContextNameWildcard,
+ mteTriggerFrequency,
+ mteTriggerObjectsOwner,
+ mteTriggerObjects,
+ mteTriggerEnabled,
+ mteTriggerEntryStatus,
+ mteTriggerDeltaDiscontinuityID,
+ mteTriggerDeltaDiscontinuityIDWildcard,
+ mteTriggerDeltaDiscontinuityIDType,
+ mteTriggerExistenceTest,
+ mteTriggerExistenceStartup,
+ mteTriggerExistenceObjectsOwner,
+ mteTriggerExistenceObjects,
+ mteTriggerExistenceEventOwner,
+ mteTriggerExistenceEvent,
+ mteTriggerBooleanComparison,
+ mteTriggerBooleanValue,
+ mteTriggerBooleanStartup,
+ mteTriggerBooleanObjectsOwner,
+ mteTriggerBooleanObjects,
+ mteTriggerBooleanEventOwner,
+ mteTriggerBooleanEvent,
+ mteTriggerThresholdStartup,
+ mteTriggerThresholdObjectsOwner,
+ mteTriggerThresholdObjects,
+ mteTriggerThresholdRising,
+ mteTriggerThresholdFalling,
+ mteTriggerThresholdDeltaRising,
+ mteTriggerThresholdDeltaFalling,
+ mteTriggerThresholdRisingEventOwner,
+ mteTriggerThresholdRisingEvent,
+ mteTriggerThresholdFallingEventOwner,
+ mteTriggerThresholdFallingEvent,
+ mteTriggerThresholdDeltaRisingEventOwner,
+ mteTriggerThresholdDeltaRisingEvent,
+ mteTriggerThresholdDeltaFallingEventOwner,
+ mteTriggerThresholdDeltaFallingEvent
+ }
+ STATUS current
+ DESCRIPTION
+ "Event triggers."
+ ::= { dismanEventMIBGroups 2 }
+
+dismanEventObjectsGroup OBJECT-GROUP
+ OBJECTS {
+ mteObjectsID,
+ mteObjectsIDWildcard,
+ mteObjectsEntryStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Supplemental objects."
+ ::= { dismanEventMIBGroups 3 }
+
+dismanEventEventGroup OBJECT-GROUP
+ OBJECTS {
+ mteEventFailures,
+ mteEventComment,
+ mteEventActions,
+ mteEventEnabled,
+ mteEventEntryStatus,
+ mteEventNotification,
+ mteEventNotificationObjectsOwner,
+ mteEventNotificationObjects,
+ mteEventSetObject,
+ mteEventSetObjectWildcard,
+ mteEventSetValue,
+ mteEventSetTargetTag,
+ mteEventSetContextName,
+ mteEventSetContextNameWildcard
+ }
+ STATUS current
+ DESCRIPTION
+ "Events."
+ ::= { dismanEventMIBGroups 4 }
+
+dismanEventNotificationObjectGroup OBJECT-GROUP
+ OBJECTS {
+ mteHotTrigger,
+ mteHotTargetName,
+ mteHotContextName,
+ mteHotOID,
+ mteHotValue,
+ mteFailedReason
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification objects."
+ ::= { dismanEventMIBGroups 5 }
+
+dismanEventNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ mteTriggerFired,
+ mteTriggerRising,
+ mteTriggerFalling,
+ mteTriggerFailure,
+ mteEventSetFailure
+ }
+ STATUS current
+ DESCRIPTION
+ "Notifications."
+ ::= { dismanEventMIBGroups 6 }
+
+END
diff --git a/mibs/DISMAN-EXPRESSION-MIB.txt b/mibs/DISMAN-EXPRESSION-MIB.txt
new file mode 100644
index 00000000..f73e5bf5
--- /dev/null
+++ b/mibs/DISMAN-EXPRESSION-MIB.txt
@@ -0,0 +1,1182 @@
+DISMAN-EXPRESSION-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Gauge32, Unsigned32,
+ Counter32, Counter64, IpAddress,
+ TimeTicks, mib-2, zeroDotZero FROM SNMPv2-SMI
+ RowStatus, TruthValue, TimeStamp FROM SNMPv2-TC
+ sysUpTime FROM SNMPv2-MIB
+ SnmpAdminString FROM SNMP-FRAMEWORK-MIB
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
+
+dismanExpressionMIB MODULE-IDENTITY
+ LAST-UPDATED "200010160000Z" -- 16 October 2000
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO "Ramanathan Kavasseri
+ Cisco Systems, Inc.
+ 170 West Tasman Drive,
+ San Jose CA 95134-1706.
+ Phone: +1 408 527 2446
+ Email: ramk@cisco.com"
+ DESCRIPTION
+ "The MIB module for defining expressions of MIB objects for
+ management purposes."
+-- Revision History
+
+ REVISION "200010160000Z" -- 16 October 2000
+ DESCRIPTION "This is the initial version of this MIB.
+ Published as RFC 2982"
+ ::= { mib-2 90 }
+
+dismanExpressionMIBObjects OBJECT IDENTIFIER ::=
+ { dismanExpressionMIB 1 }
+
+expResource OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 1 }
+expDefine OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 2 }
+expValue OBJECT IDENTIFIER ::= { dismanExpressionMIBObjects 3 }
+
+--
+-- Resource Control
+--
+
+expResourceDeltaMinimum OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 1..600)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The minimum expExpressionDeltaInterval this system will
+ accept. A system may use the larger values of this minimum to
+ lessen the impact of constantly computing deltas. For larger
+ delta sampling intervals the system samples less often and
+ suffers less overhead. This object provides a way to enforce
+ such lower overhead for all expressions created after it is
+ set.
+
+ The value -1 indicates that expResourceDeltaMinimum is
+ irrelevant as the system will not accept 'deltaValue' as a
+ value for expObjectSampleType.
+
+ Unless explicitly resource limited, a system's value for
+ this object should be 1, allowing as small as a 1 second
+ interval for ongoing delta sampling.
+
+ Changing this value will not invalidate an existing setting
+ of expObjectSampleType."
+ ::= { expResource 1 }
+
+expResourceDeltaWildcardInstanceMaximum OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "instances"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "For every instance of a deltaValue object, one dynamic instance
+ entry is needed for holding the instance value from the previous
+ sample, i.e. to maintain state.
+
+ This object limits maximum number of dynamic instance entries
+ this system will support for wildcarded delta objects in
+ expressions. For a given delta expression, the number of
+ dynamic instances is the number of values that meet all criteria
+ to exist times the number of delta values in the expression.
+
+ A value of 0 indicates no preset limit, that is, the limit
+ is dynamic based on system operation and resources.
+
+ Unless explicitly resource limited, a system's value for
+ this object should be 0.
+
+ Changing this value will not eliminate or inhibit existing delta
+ wildcard instance objects but will prevent the creation of more
+ such objects.
+
+ An attempt to allocate beyond the limit results in expErrorCode
+ being tooManyWildcardValues for that evaluation attempt."
+ ::= { expResource 2 }
+
+expResourceDeltaWildcardInstances OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of currently active instance entries as
+ defined for expResourceDeltaWildcardInstanceMaximum."
+ ::= { expResource 3 }
+
+expResourceDeltaWildcardInstancesHigh OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The highest value of expResourceDeltaWildcardInstances
+ that has occurred since initialization of the managed
+ system."
+ ::= { expResource 4 }
+
+expResourceDeltaWildcardInstanceResourceLacks OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "instances"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this system could not evaluate an
+ expression because that would have created a value instance in
+ excess of expResourceDeltaWildcardInstanceMaximum."
+ ::= { expResource 5 }
+
+--
+
+-- Definition
+--
+-- Expression Definition Table
+--
+
+expExpressionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpExpressionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of expression definitions."
+ ::= { expDefine 1 }
+
+expExpressionEntry OBJECT-TYPE
+ SYNTAX ExpExpressionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single expression. New expressions
+ can be created using expExpressionRowStatus.
+
+ To create an expression first create the named entry in this
+ table. Then use expExpressionName to populate expObjectTable.
+ For expression evaluation to succeed all related entries in
+ expExpressionTable and expObjectTable must be 'active'. If
+ these conditions are not met the corresponding values in
+ expValue simply are not instantiated.
+
+ Deleting an entry deletes all related entries in expObjectTable
+ and expErrorTable.
+
+ Because of the relationships among the multiple tables for an
+ expression (expExpressionTable, expObjectTable, and
+ expValueTable) and the SNMP rules for independence in setting
+ object values, it is necessary to do final error checking when
+ an expression is evaluated, that is, when one of its instances
+ in expValueTable is read or a delta interval expires. Earlier
+ checking need not be done and an implementation may not impose
+ any ordering on the creation of objects related to an
+ expression.
+
+ To maintain security of MIB information, when creating a new row in
+ this table, the managed system must record the security credentials
+ of the requester. These security credentials are the parameters
+ necessary as inputs to isAccessAllowed from the Architecture for
+
+ Describing SNMP Management Frameworks. When obtaining the objects
+ that make up the expression, the system must (conceptually) use
+ isAccessAllowed to ensure that it does not violate security.
+
+ The evaluation of the expression takes place under the
+ security credentials of the creator of its expExpressionEntry.
+
+ Values of read-write objects in this table may be changed
+
+ at any time."
+ INDEX { expExpressionOwner, expExpressionName }
+ ::= { expExpressionTable 1 }
+
+ExpExpressionEntry ::= SEQUENCE {
+ expExpressionOwner SnmpAdminString,
+ expExpressionName SnmpAdminString,
+ expExpression OCTET STRING,
+ expExpressionValueType INTEGER,
+ expExpressionComment SnmpAdminString,
+ expExpressionDeltaInterval Integer32,
+ expExpressionPrefix OBJECT IDENTIFIER,
+ expExpressionErrors Counter32,
+ expExpressionEntryStatus RowStatus
+}
+
+expExpressionOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The owner of this entry. The exact semantics of this
+ string are subject to the security policy defined by the
+ security administrator."
+ ::= { expExpressionEntry 1 }
+
+expExpressionName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of the expression. This is locally unique, within
+ the scope of an expExpressionOwner."
+ ::= { expExpressionEntry 2 }
+
+expExpression OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..1024))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The expression to be evaluated. This object is the same
+ as a DisplayString (RFC 1903) except for its maximum length.
+
+ Except for the variable names the expression is in ANSI C
+ syntax. Only the subset of ANSI C operators and functions
+ listed here is allowed.
+
+ Variables are expressed as a dollar sign ('$') and an
+
+ integer that corresponds to an expObjectIndex. An
+ example of a valid expression is:
+
+ ($1-$5)*100
+
+ Expressions must not be recursive, that is although an expression
+ may use the results of another expression, it must not contain
+ any variable that is directly or indirectly a result of its own
+ evaluation. The managed system must check for recursive
+ expressions.
+
+ The only allowed operators are:
+
+ ( )
+ - (unary)
+ + - * / %
+ & | ^ << >> ~
+ ! && || == != > >= < <=
+
+ Note the parentheses are included for parenthesizing the
+ expression, not for casting data types.
+
+ The only constant types defined are:
+
+ int (32-bit signed)
+ long (64-bit signed)
+ unsigned int
+ unsigned long
+ hexadecimal
+ character
+ string
+ oid
+
+ The default type for a positive integer is int unless it is too
+ large in which case it is long.
+
+ All but oid are as defined for ANSI C. Note that a
+ hexadecimal constant may end up as a scalar or an array of
+ 8-bit integers. A string constant is enclosed in double
+ quotes and may contain back-slashed individual characters
+ as in ANSI C.
+
+ An oid constant comprises 32-bit, unsigned integers and at
+ least one period, for example:
+
+ 0.
+ .0
+ 1.3.6.1
+
+ No additional leading or trailing subidentifiers are automatically
+ added to an OID constant. The constant is taken as expressed.
+
+ Integer-typed objects are treated as 32- or 64-bit, signed
+ or unsigned integers, as appropriate. The results of
+ mixing them are as for ANSI C, including the type of the
+ result. Note that a 32-bit value is thus promoted to 64 bits
+ only in an operation with a 64-bit value. There is no
+ provision for larger values to handle overflow.
+
+ Relative to SNMP data types, a resulting value becomes
+ unsigned when calculating it uses any unsigned value,
+ including a counter. To force the final value to be of
+ data type counter the expression must explicitly use the
+ counter32() or counter64() function (defined below).
+
+ OCTET STRINGS and OBJECT IDENTIFIERs are treated as
+ one-dimensioned arrays of unsigned 8-bit integers and
+ unsigned 32-bit integers, respectively.
+
+ IpAddresses are treated as 32-bit, unsigned integers in
+ network byte order, that is, the hex version of 255.0.0.0 is
+ 0xff000000.
+
+ Conditional expressions result in a 32-bit, unsigned integer
+ of value 0 for false or 1 for true. When an arbitrary value
+ is used as a boolean 0 is false and non-zero is true.
+
+ Rules for the resulting data type from an operation, based on
+ the operator:
+
+ For << and >> the result is the same as the left hand operand.
+
+ For &&, ||, ==, !=, <, <=, >, and >= the result is always
+ Unsigned32.
+
+ For unary - the result is always Integer32.
+
+ For +, -, *, /, %, &, |, and ^ the result is promoted according
+ to the following rules, in order from most to least preferred:
+
+ If left hand and right hand operands are the same type,
+ use that.
+
+ If either side is Counter64, use that.
+
+ If either side is IpAddress, use that.
+
+ If either side is TimeTicks, use that.
+
+ If either side is Counter32, use that.
+
+ Otherwise use Unsigned32.
+
+ The following rules say what operators apply with what data
+ types. Any combination not explicitly defined does not work.
+
+ For all operators any of the following can be the left hand or
+ right hand operand: Integer32, Counter32, Unsigned32, Counter64.
+
+ The operators +, -, *, /, %, <, <=, >, and >= work with
+ TimeTicks.
+
+ The operators &, |, and ^ work with IpAddress.
+
+ The operators << and >> work with IpAddress but only as the
+ left hand operand.
+
+ The + operator performs a concatenation of two OCTET STRINGs or
+ two OBJECT IDENTIFIERs.
+
+ The operators &, | perform bitwise operations on OCTET STRINGs.
+ If the OCTET STRING happens to be a DisplayString the results
+ may be meaningless, but the agent system does not check this as
+ some such systems do not have this information.
+
+ The operators << and >> perform bitwise operations on OCTET
+ STRINGs appearing as the left hand operand.
+
+ The only functions defined are:
+
+ counter32
+ counter64
+ arraySection
+ stringBegins
+ stringEnds
+ stringContains
+ oidBegins
+ oidEnds
+ oidContains
+ average
+ maximum
+ minimum
+ sum
+ exists
+
+ The following function definitions indicate their parameters by
+ naming the data type of the parameter in the parameter's position
+ in the parameter list. The parameter must be of the type indicated
+ and generally may be a constant, a MIB object, a function, or an
+ expression.
+
+ counter32(integer) - wrapped around an integer value counter32
+ forces Counter32 as a data type.
+
+ counter64(integer) - similar to counter32 except that the
+ resulting data type is 'counter64'.
+
+ arraySection(array, integer, integer) - selects a piece of an
+ array (i.e. part of an OCTET STRING or OBJECT IDENTIFIER). The
+ integer arguments are in the range 0 to 4,294,967,295. The
+ first is an initial array index (one-dimensioned) and the second
+ is an ending array index. A value of 0 indicates first or last
+ element, respectively. If the first element is larger than the
+ array length the result is 0 length. If the second integer is
+ less than or equal to the first, the result is 0 length. If the
+ second is larger than the array length it indicates last
+ element.
+
+ stringBegins/Ends/Contains(octetString, octetString) - looks for
+ the second string (which can be a string constant) in the first
+ and returns the one-dimensioned arrayindex where the match began.
+ A return value of 0 indicates no match (i.e. boolean false).
+
+ oidBegins/Ends/Contains(oid, oid) - looks for the second OID
+ (which can be an OID constant) in the first and returns the
+ the one-dimensioned index where the match began. A return value
+ of 0 indicates no match (i.e. boolean false).
+
+ average/maximum/minimum(integer) - calculates the average,
+ minimum, or maximum value of the integer valued object over
+ multiple sample times. If the object disappears for any
+ sample period, the accumulation and the resulting value object
+ cease to exist until the object reappears at which point the
+ calculation starts over.
+
+ sum(integerObject*) - sums all available values of the
+ wildcarded integer object, resulting in an integer scalar. Must
+ be used with caution as it wraps on overflow with no
+ notification.
+
+ exists(anyTypeObject) - verifies the object instance exists. A
+ return value of 0 indicates NoSuchInstance (i.e. boolean
+ false)."
+ ::= { expExpressionEntry 3 }
+
+expExpressionValueType OBJECT-TYPE
+ SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
+ integer32(4), ipAddress(5), octetString(6),
+ objectId(7), counter64(8) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of the expression value. One and only one of the
+ value objects in expValueTable will be instantiated to match
+ this type.
+
+ If the result of the expression can not be made into this type,
+ an invalidOperandType error will occur."
+ DEFVAL { counter32 }
+ ::= { expExpressionEntry 4 }
+
+expExpressionComment OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A comment to explain the use or meaning of the expression."
+ DEFVAL { ''H }
+ ::= { expExpressionEntry 5 }
+
+expExpressionDeltaInterval OBJECT-TYPE
+ SYNTAX Integer32 (0..86400)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Sampling interval for objects in this expression with
+ expObjectSampleType 'deltaValue'.
+
+ This object has no effect if the the expression has no
+ deltaValue objects.
+
+ A value of 0 indicates no automated sampling. In this case
+ the delta is the difference from the last time the expression
+ was evaluated. Note that this is subject to unpredictable
+ delta times in the face of retries or multiple managers.
+
+ A value greater than zero is the number of seconds between
+ automated samples.
+
+ Until the delta interval has expired once the delta for the
+
+ object is effectively not instantiated and evaluating
+ the expression has results as if the object itself were not
+ instantiated.
+
+ Note that delta values potentially consume large amounts of
+ system CPU and memory. Delta state and processing must
+ continue constantly even if the expression is not being used.
+ That is, the expression is being evaluated every delta interval,
+ even if no application is reading those values. For wildcarded
+ objects this can be substantial overhead.
+
+ Note that delta intervals, external expression value sampling
+ intervals and delta intervals for expressions within other
+ expressions can have unusual interactions as they are impossible
+ to synchronize accurately. In general one interval embedded
+ below another must be enough shorter that the higher sample
+ sees relatively smooth, predictable behavior. So, for example,
+ to avoid the higher level getting the same sample twice, the
+ lower level should sample at least twice as fast as the higher
+ level does."
+ DEFVAL { 0 }
+ ::= { expExpressionEntry 6 }
+
+expExpressionPrefix OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An object prefix to assist an application in determining
+ the instance indexing to use in expValueTable, relieving the
+ application of the need to scan the expObjectTable to
+ determine such a prefix.
+
+ See expObjectTable for information on wildcarded objects.
+
+ If the expValueInstance portion of the value OID may
+ be treated as a scalar (that is, normally, 0) the value of
+ expExpressionPrefix is zero length, that is, no OID at all.
+ Note that zero length implies a null OID, not the OID 0.0.
+
+ Otherwise, the value of expExpressionPrefix is the expObjectID
+ value of any one of the wildcarded objects for the expression.
+ This is sufficient, as the remainder, that is, the instance
+ fragment relevant to instancing the values, must be the same for
+ all wildcarded objects in the expression."
+ ::= { expExpressionEntry 7 }
+
+expExpressionErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of errors encountered while evaluating this
+ expression.
+
+ Note that an object in the expression not being accessible,
+ is not considered an error. An example of an inaccessible
+ object is when the object is excluded from the view of the
+ user whose security credentials are used in the expression
+ evaluation. In such cases, it is a legitimate condition
+ that causes the corresponding expression value not to be
+ instantiated."
+ ::= { expExpressionEntry 8 }
+
+expExpressionEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation and deletion of entries."
+ ::= { expExpressionEntry 9 }
+
+--
+-- Expression Error Table
+--
+
+expErrorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of expression errors."
+ ::= { expDefine 2 }
+
+expErrorEntry OBJECT-TYPE
+ SYNTAX ExpErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about errors in processing an expression.
+
+ Entries appear in this table only when there is a matching
+ expExpressionEntry and then only when there has been an
+ error for that expression as reflected by the error codes
+ defined for expErrorCode."
+ INDEX { expExpressionOwner, expExpressionName }
+ ::= { expErrorTable 1 }
+
+ExpErrorEntry ::= SEQUENCE {
+ expErrorTime TimeStamp,
+ expErrorIndex Integer32,
+ expErrorCode INTEGER,
+ expErrorInstance OBJECT IDENTIFIER
+}
+
+expErrorTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime the last time an error caused a
+ failure to evaluate this expression."
+ ::= { expErrorEntry 1 }
+
+expErrorIndex OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The one-dimensioned character array index into
+ expExpression for where the error occurred. The value
+ zero indicates irrelevance."
+ ::= { expErrorEntry 2 }
+
+expErrorCode OBJECT-TYPE
+ SYNTAX INTEGER {
+ invalidSyntax(1),
+ undefinedObjectIndex(2),
+ unrecognizedOperator(3),
+ unrecognizedFunction(4),
+ invalidOperandType(5),
+ unmatchedParenthesis(6),
+ tooManyWildcardValues(7),
+ recursion(8),
+ deltaTooShort(9),
+ resourceUnavailable(10),
+ divideByZero(11)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The error that occurred. In the following explanations the
+ expected timing of the error is in parentheses. 'S' means
+ the error occurs on a Set request. 'E' means the error
+
+ occurs on the attempt to evaluate the expression either due to
+ Get from expValueTable or in ongoing delta processing.
+
+ invalidSyntax the value sent for expExpression is not
+ valid Expression MIB expression syntax
+ (S)
+ undefinedObjectIndex an object reference ($n) in
+ expExpression does not have a matching
+ instance in expObjectTable (E)
+ unrecognizedOperator the value sent for expExpression held an
+ unrecognized operator (S)
+ unrecognizedFunction the value sent for expExpression held an
+ unrecognized function name (S)
+ invalidOperandType an operand in expExpression is not the
+ right type for the associated operator
+ or result (SE)
+ unmatchedParenthesis the value sent for expExpression is not
+ correctly parenthesized (S)
+ tooManyWildcardValues evaluating the expression exceeded the
+ limit set by
+ expResourceDeltaWildcardInstanceMaximum
+ (E)
+ recursion through some chain of embedded
+ expressions the expression invokes itself
+ (E)
+ deltaTooShort the delta for the next evaluation passed
+ before the system could evaluate the
+ present sample (E)
+ resourceUnavailable some resource, typically dynamic memory,
+ was unavailable (SE)
+ divideByZero an attempt to divide by zero occurred
+ (E)
+
+ For the errors that occur when the attempt is made to set
+ expExpression Set request fails with the SNMP error code
+ 'wrongValue'. Such failures refer to the most recent failure to
+ Set expExpression, not to the present value of expExpression
+ which must be either unset or syntactically correct.
+
+ Errors that occur during evaluation for a Get* operation return
+ the SNMP error code 'genErr' except for 'tooManyWildcardValues'
+ and 'resourceUnavailable' which return the SNMP error code
+ 'resourceUnavailable'."
+ ::= { expErrorEntry 3 }
+
+expErrorInstance OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The expValueInstance being evaluated when the error
+ occurred. A zero-length indicates irrelevance."
+ ::= { expErrorEntry 4 }
+
+--
+-- Object Table
+--
+
+expObjectTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpObjectEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of object definitions for each expExpression.
+
+ Wildcarding instance IDs:
+
+ It is legal to omit all or part of the instance portion for
+ some or all of the objects in an expression. (See the
+ DESCRIPTION of expObjectID for details. However, note that
+ if more than one object in the same expression is wildcarded
+ in this way, they all must be objects where that portion of
+ the instance is the same. In other words, all objects may be
+ in the same SEQUENCE or in different SEQUENCEs but with the
+ same semantic index value (e.g., a value of ifIndex)
+ for the wildcarded portion."
+ ::= { expDefine 3 }
+
+expObjectEntry OBJECT-TYPE
+ SYNTAX ExpObjectEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about an object. An application uses
+ expObjectEntryStatus to create entries in this table while
+ in the process of defining an expression.
+
+ Values of read-create objects in this table may be
+ changed at any time."
+ INDEX { expExpressionOwner, expExpressionName, expObjectIndex }
+ ::= { expObjectTable 1 }
+
+ExpObjectEntry ::= SEQUENCE {
+ expObjectIndex Unsigned32,
+ expObjectID OBJECT IDENTIFIER,
+ expObjectIDWildcard TruthValue,
+ expObjectSampleType INTEGER,
+ expObjectDeltaDiscontinuityID OBJECT IDENTIFIER,
+ expObjectDiscontinuityIDWildcard TruthValue,
+ expObjectDiscontinuityIDType INTEGER,
+ expObjectConditional OBJECT IDENTIFIER,
+ expObjectConditionalWildcard TruthValue,
+ expObjectEntryStatus RowStatus
+}
+
+expObjectIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Within an expression, a unique, numeric identification for an
+ object. Prefixed with a dollar sign ('$') this is used to
+ reference the object in the corresponding expExpression."
+ ::= { expObjectEntry 1 }
+
+expObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of this object. The OID may be
+ fully qualified, meaning it includes a complete instance
+ identifier part (e.g., ifInOctets.1 or sysUpTime.0), or it
+ may not be fully qualified, meaning it may lack all or part
+ of the instance identifier. If the expObjectID is not fully
+ qualified, then expObjectWildcard must be set to true(1).
+ The value of the expression will be multiple
+ values, as if done for a GetNext sweep of the object.
+
+ An object here may itself be the result of an expression but
+ recursion is not allowed.
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ ::= { expObjectEntry 2 }
+
+expObjectIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A true value indicates the expObjecID of this row is a wildcard
+ object. False indicates that expObjectID is fully instanced.
+ If all expObjectWildcard values for a given expression are FALSE,
+ expExpressionPrefix will reflect a scalar object (i.e. will
+ be 0.0).
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ DEFVAL { false }
+ ::= { expObjectEntry 3 }
+
+expObjectSampleType OBJECT-TYPE
+ SYNTAX INTEGER { absoluteValue(1), deltaValue(2),
+ changedValue(3) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The method of sampling the selected variable.
+
+ An 'absoluteValue' is simply the present value of the object.
+
+ A 'deltaValue' is the present value minus the previous value,
+ which was sampled expExpressionDeltaInterval seconds ago.
+ This is intended primarily for use with SNMP counters, which are
+ meaningless as an 'absoluteValue', but may be used with any
+ integer-based value.
+
+ A 'changedValue' is a boolean for whether the present value is
+ different from the previous value. It is applicable to any data
+ type and results in an Unsigned32 with value 1 if the object's
+ value is changed and 0 if not. In all other respects it is as a
+ 'deltaValue' and all statements and operation regarding delta
+ values apply to changed values.
+
+ When an expression contains both delta and absolute values
+ the absolute values are obtained at the end of the delta
+ period."
+ DEFVAL { absoluteValue }
+ ::= { expObjectEntry 4 }
+
+sysUpTimeInstance OBJECT IDENTIFIER ::= { sysUpTime 0 }
+
+expObjectDeltaDiscontinuityID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of a TimeTicks, TimeStamp, or
+ DateAndTime object that indicates a discontinuity in the value
+ at expObjectID.
+
+ This object is instantiated only if expObjectSampleType is
+ 'deltaValue' or 'changedValue'.
+
+ The OID may be for a leaf object (e.g. sysUpTime.0) or may
+ be wildcarded to match expObjectID.
+
+ This object supports normal checking for a discontinuity in a
+ counter. Note that if this object does not point to sysUpTime
+ discontinuity checking must still check sysUpTime for an overall
+ discontinuity.
+
+ If the object identified is not accessible no discontinuity
+ check will be made."
+ DEFVAL { sysUpTimeInstance }
+ ::= { expObjectEntry 5 }
+
+expObjectDiscontinuityIDWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A true value indicates the expObjectDeltaDiscontinuityID of
+ this row is a wildcard object. False indicates that
+ expObjectDeltaDiscontinuityID is fully instanced.
+
+ This object is instantiated only if expObjectSampleType is
+ 'deltaValue' or 'changedValue'.
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ DEFVAL { false }
+ ::= { expObjectEntry 6 }
+
+expObjectDiscontinuityIDType OBJECT-TYPE
+ SYNTAX INTEGER { timeTicks(1), timeStamp(2), dateAndTime(3) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value 'timeTicks' indicates the expObjectDeltaDiscontinuityID
+ of this row is of syntax TimeTicks. The value 'timeStamp' indicates
+ syntax TimeStamp. The value 'dateAndTime indicates syntax
+ DateAndTime.
+
+ This object is instantiated only if expObjectSampleType is
+ 'deltaValue' or 'changedValue'."
+ DEFVAL { timeTicks }
+ ::= { expObjectEntry 7 }
+
+expObjectConditional OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OBJECT IDENTIFIER (OID) of an object that overrides
+ whether the instance of expObjectID is to be considered
+ usable. If the value of the object at expObjectConditional
+ is 0 or not instantiated, the object at expObjectID is
+ treated as if it is not instantiated. In other words,
+ expObjectConditional is a filter that controls whether or
+ not to use the value at expObjectID.
+
+ The OID may be for a leaf object (e.g. sysObjectID.0) or may be
+ wildcarded to match expObjectID. If expObject is wildcarded and
+ expObjectID in the same row is not, the wild portion of
+ expObjectConditional must match the wildcarding of the rest of
+ the expression. If no object in the expression is wildcarded
+ but expObjectConditional is, use the lexically first instance
+ (if any) of expObjectConditional.
+
+ If the value of expObjectConditional is 0.0 operation is
+ as if the value pointed to by expObjectConditional is a
+ non-zero (true) value.
+
+ Note that expObjectConditional can not trivially use an object
+ of syntax TruthValue, since the underlying value is not 0 or 1."
+ DEFVAL { zeroDotZero }
+ ::= { expObjectEntry 8 }
+
+ expObjectConditionalWildcard OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A true value indicates the expObjectConditional of this row is
+ a wildcard object. False indicates that expObjectConditional is
+ fully instanced.
+
+ NOTE: The simplest implementations of this MIB may not allow
+ wildcards."
+ DEFVAL { false }
+ ::= { expObjectEntry 9 }
+
+expObjectEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The control that allows creation/deletion of entries.
+
+ Objects in this table may be changed while
+ expObjectEntryStatus is in any state."
+ ::= { expObjectEntry 10 }
+
+--
+-- Expression Value Table
+--
+
+expValueTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ExpValueEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of values from evaluated expressions."
+ ::= { expValue 1 }
+
+expValueEntry OBJECT-TYPE
+ SYNTAX ExpValueEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single value from an evaluated expression. For a given
+ instance, only one 'Val' object in the conceptual row will be
+ instantiated, that is, the one with the appropriate type for
+ the value. For values that contain no objects of
+ expObjectSampleType 'deltaValue' or 'changedValue', reading a
+ value from the table causes the evaluation of the expression
+ for that value. For those that contain a 'deltaValue' or
+ 'changedValue' the value read is as of the last sampling
+ interval.
+
+ If in the attempt to evaluate the expression one or more
+ of the necessary objects is not available, the corresponding
+ entry in this table is effectively not instantiated.
+
+ To maintain security of MIB information, when creating a new
+ row in this table, the managed system must record the security
+ credentials of the requester. These security credentials are
+ the parameters necessary as inputs to isAccessAllowed from
+ [RFC2571]. When obtaining the objects that make up the
+ expression, the system must (conceptually) use isAccessAllowed to
+ ensure that it does not violate security.
+
+ The evaluation of that expression takes place under the
+
+ security credentials of the creator of its expExpressionEntry.
+
+ To maintain security of MIB information, expression evaluation must
+ take place using security credentials for the implied Gets of the
+ objects in the expression as inputs (conceptually) to
+ isAccessAllowed from the Architecture for Describing SNMP
+ Management Frameworks. These are the security credentials of the
+ creator of the corresponding expExpressionEntry."
+ INDEX { expExpressionOwner, expExpressionName,
+ IMPLIED expValueInstance }
+ ::= { expValueTable 1 }
+
+ExpValueEntry ::= SEQUENCE {
+ expValueInstance OBJECT IDENTIFIER,
+ expValueCounter32Val Counter32,
+ expValueUnsigned32Val Unsigned32,
+ expValueTimeTicksVal TimeTicks,
+ expValueInteger32Val Integer32,
+ expValueIpAddressVal IpAddress,
+ expValueOctetStringVal OCTET STRING,
+ expValueOidVal OBJECT IDENTIFIER,
+ expValueCounter64Val Counter64
+}
+
+expValueInstance OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The final instance portion of a value's OID according to
+ the wildcarding in instances of expObjectID for the
+ expression. The prefix of this OID fragment is 0.0,
+ leading to the following behavior.
+
+ If there is no wildcarding, the value is 0.0.0. In other
+ words, there is one value which standing alone would have
+ been a scalar with a 0 at the end of its OID.
+
+ If there is wildcarding, the value is 0.0 followed by
+ a value that the wildcard can take, thus defining one value
+ instance for each real, possible value of the wildcard.
+ So, for example, if the wildcard worked out to be an ifIndex,
+ there is an expValueInstance for each applicable ifIndex."
+ ::= { expValueEntry 1 }
+
+expValueCounter32Val OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'counter32'."
+ ::= { expValueEntry 2 }
+
+expValueUnsigned32Val OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'unsigned32'."
+ ::= { expValueEntry 3 }
+
+expValueTimeTicksVal OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'timeTicks'."
+ ::= { expValueEntry 4 }
+
+expValueInteger32Val OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'integer32'."
+ ::= { expValueEntry 5 }
+
+expValueIpAddressVal OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'ipAddress'."
+ ::= { expValueEntry 6 }
+
+expValueOctetStringVal OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..65536))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'octetString'."
+ ::= { expValueEntry 7 }
+
+expValueOidVal OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'objectId'."
+ ::= { expValueEntry 8 }
+
+expValueCounter64Val OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when expExpressionValueType is 'counter64'."
+ ::= { expValueEntry 9 }
+
+--
+-- Conformance
+--
+
+dismanExpressionMIBConformance OBJECT IDENTIFIER ::=
+ { dismanExpressionMIB 3 }
+dismanExpressionMIBCompliances OBJECT IDENTIFIER ::=
+ { dismanExpressionMIBConformance 1 }
+dismanExpressionMIBGroups OBJECT IDENTIFIER ::=
+ { dismanExpressionMIBConformance 2 }
+
+-- Compliance
+
+dismanExpressionMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Expression MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ dismanExpressionResourceGroup,
+ dismanExpressionDefinitionGroup,
+ dismanExpressionValueGroup
+ }
+
+ OBJECT expResourceDeltaMinimum
+ SYNTAX Integer32 (-1 | 60..600)
+ DESCRIPTION
+ "Implementation need not allow deltas or it may
+ implement them and restrict them to higher values."
+
+ OBJECT expObjectSampleType
+ WRITE-SYNTAX INTEGER { absoluteValue(1) }
+ DESCRIPTION
+ "Implementation may disallow deltas calculation or
+
+ change detection."
+
+ OBJECT expObjectIDWildcard
+ WRITE-SYNTAX INTEGER { false(2) }
+ DESCRIPTION
+ "Implementation may allow wildcards."
+
+ OBJECT expObjectDiscontinuityIDWildcard
+ WRITE-SYNTAX INTEGER { false(2) }
+ DESCRIPTION
+ "Implementation need not allow wildcards."
+
+ OBJECT expObjectConditionalWildcard
+ WRITE-SYNTAX INTEGER { false(2) }
+ DESCRIPTION
+ "Implementation need not allow deltas wildcards."
+ ::= { dismanExpressionMIBCompliances 1 }
+
+-- Units of Conformance
+
+dismanExpressionResourceGroup OBJECT-GROUP
+ OBJECTS {
+ expResourceDeltaMinimum,
+ expResourceDeltaWildcardInstanceMaximum,
+ expResourceDeltaWildcardInstances,
+ expResourceDeltaWildcardInstancesHigh,
+ expResourceDeltaWildcardInstanceResourceLacks
+ }
+ STATUS current
+ DESCRIPTION
+ "Expression definition resource management."
+ ::= { dismanExpressionMIBGroups 1 }
+
+dismanExpressionDefinitionGroup OBJECT-GROUP
+ OBJECTS {
+ expExpression,
+ expExpressionValueType,
+ expExpressionComment,
+ expExpressionDeltaInterval,
+ expExpressionPrefix,
+ expExpressionErrors,
+ expExpressionEntryStatus,
+ expErrorTime,
+ expErrorIndex,
+ expErrorCode,
+ expErrorInstance,
+ expObjectID,
+ expObjectIDWildcard,
+ expObjectSampleType,
+ expObjectDeltaDiscontinuityID,
+ expObjectDiscontinuityIDWildcard,
+ expObjectDiscontinuityIDType,
+ expObjectConditional,
+ expObjectConditionalWildcard,
+ expObjectEntryStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Expression definition."
+ ::= { dismanExpressionMIBGroups 2 }
+
+dismanExpressionValueGroup OBJECT-GROUP
+ OBJECTS {
+ expValueCounter32Val,
+ expValueUnsigned32Val,
+ expValueTimeTicksVal,
+ expValueInteger32Val,
+ expValueIpAddressVal,
+ expValueOctetStringVal,
+ expValueOidVal,
+ expValueCounter64Val
+ }
+ STATUS current
+ DESCRIPTION
+ "Expression value."
+ ::= { dismanExpressionMIBGroups 3 }
+
+END
diff --git a/mibs/DISMAN-NSLOOKUP-MIB.txt b/mibs/DISMAN-NSLOOKUP-MIB.txt
new file mode 100644
index 00000000..b12ca53d
--- /dev/null
+++ b/mibs/DISMAN-NSLOOKUP-MIB.txt
@@ -0,0 +1,509 @@
+DISMAN-NSLOOKUP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Unsigned32, mib-2, Integer32
+ FROM SNMPv2-SMI -- RFC2578
+ RowStatus
+ FROM SNMPv2-TC -- RFC2579
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF -- RFC2580
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC3411
+ InetAddressType, InetAddress
+ FROM INET-ADDRESS-MIB; -- RFC4001
+
+ lookupMIB MODULE-IDENTITY
+ LAST-UPDATED "200606130000Z" -- 13 June 2006
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "Juergen Quittek
+
+ NEC Europe Ltd.
+ Network Laboratories
+ Kurfuersten-Anlage 36
+ 69115 Heidelberg
+ Germany
+
+ Phone: +49 6221 4342-115
+ Email: quittek@netlab.nec.de"
+ DESCRIPTION
+ "The Lookup MIB (DISMAN-NSLOOKUP-MIB) enables determination
+ of either the name(s) corresponding to a host address or of
+ the address(es) associated with a host name at a remote
+ host.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4560; see the RFC itself for
+ full legal notices."
+
+ -- Revision history
+
+ REVISION "200606130000Z" -- 13 June 2006
+ DESCRIPTION
+ "Updated version, published as RFC 4560.
+ - Replaced references to RFC 2575 by RFC 3415
+ - Replaced references to RFC 2571 by RFC 3411
+ - Replaced references to RFC 2851 by RFC 4001
+ - Added value enabled(1) to SYNTAX clause of
+ lookupCtlOperStatus
+ - Added lookupMinimumCompliance
+ - Defined semantics of value 0 for object
+ lookupPurgeTime
+ - Added DEFVAL { unknown } to object
+ lookupCtlTargetAddressType OBJECT-TYPE"
+
+ REVISION "200009210000Z" -- 21 September 2000
+ DESCRIPTION
+ "Initial version, published as RFC 2925."
+ ::= { mib-2 82 }
+
+ -- Top level structure of the MIB
+
+ lookupObjects OBJECT IDENTIFIER ::= { lookupMIB 1 }
+ lookupConformance OBJECT IDENTIFIER ::= { lookupMIB 2 }
+
+ -- Simple Object Definitions
+
+ lookupMaxConcurrentRequests OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "requests"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrent active lookup requests
+ that are allowed within an agent implementation. A value
+ of 0 for this object implies that there is no limit for
+ the number of concurrent active requests in effect.
+
+ The limit applies only to new requests being activated.
+ When a new value is set, the agent will continue processing
+ all the requests already active, even if their number
+ exceed the limit just imposed."
+ DEFVAL { 10 }
+ ::= { lookupObjects 1 }
+
+ lookupPurgeTime OBJECT-TYPE
+ SYNTAX Unsigned32 (0..86400)
+ UNITS "seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The amount of time to wait before automatically
+ deleting an entry in the lookupCtlTable and any
+ dependent lookupResultsTable entries
+ after the lookup operation represented by a
+ lookupCtlEntry has been completed.
+ A lookupCtEntry is considered complete
+ when its lookupCtlOperStatus object has a
+ value of completed(3).
+
+ A value of 0 indicates that automatic deletion
+ of entries is disabled."
+ DEFVAL { 900 } -- 15 minutes as default
+ ::= { lookupObjects 2 }
+
+ -- Lookup Control Table
+
+ lookupCtlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LookupCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Lookup Control Table for providing
+ the capability of performing a lookup operation
+ for a symbolic host name or for a host address
+ from a remote host."
+ ::= { lookupObjects 3 }
+
+ lookupCtlEntry OBJECT-TYPE
+ SYNTAX LookupCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the lookupCtlTable. A
+ lookupCtlEntry is initially indexed by
+ lookupCtlOwnerIndex, which is a type of SnmpAdminString,
+ a textual convention that allows for the use of the SNMPv3
+ View-Based Access Control Model (RFC 3415, VACM)
+ and that also allows a management application to identify
+ its entries. The second index element,
+ lookupCtlOperationName, enables the same
+ lookupCtlOwnerIndex entity to have multiple outstanding
+ requests. The value of lookupCtlTargetAddressType
+ determines which lookup function to perform."
+ INDEX {
+ lookupCtlOwnerIndex,
+ lookupCtlOperationName
+ }
+ ::= { lookupCtlTable 1 }
+
+ LookupCtlEntry ::=
+ SEQUENCE {
+ lookupCtlOwnerIndex SnmpAdminString,
+ lookupCtlOperationName SnmpAdminString,
+ lookupCtlTargetAddressType InetAddressType,
+ lookupCtlTargetAddress InetAddress,
+ lookupCtlOperStatus INTEGER,
+ lookupCtlTime Unsigned32,
+ lookupCtlRc Integer32,
+ lookupCtlRowStatus RowStatus
+ }
+
+ lookupCtlOwnerIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "To facilitate the provisioning of access control by a
+ security administrator using the View-Based Access
+ Control Model (RFC 2575, VACM) for tables in which
+ multiple users may need to create or
+ modify entries independently, the initial index is used as
+ an 'owner index'. Such an initial index has a syntax of
+ SnmpAdminString and can thus be trivially mapped to a
+
+ securityName or groupName defined in VACM, in
+ accordance with a security policy.
+
+ When used in conjunction with such a security policy all
+ entries in the table belonging to a particular user (or
+ group) will have the same value for this initial index.
+ For a given user's entries in a particular table, the
+ object identifiers for the information in these entries
+ will have the same subidentifiers (except for the
+ 'column' subidentifier) up to the end of the encoded
+ owner index. To configure VACM to permit access to this
+ portion of the table, one would create
+ vacmViewTreeFamilyTable entries with the value of
+ vacmViewTreeFamilySubtree including the owner index
+ portion, and vacmViewTreeFamilyMask 'wildcarding' the
+ column subidentifier. More elaborate configurations
+ are possible."
+ ::= { lookupCtlEntry 1 }
+
+ lookupCtlOperationName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of a lookup operation. This is locally unique,
+ within the scope of an lookupCtlOwnerIndex."
+ ::= { lookupCtlEntry 2 }
+
+ lookupCtlTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of address for performing a
+ lookup operation for a symbolic host name or for a host
+ address from a remote host.
+
+ Specification of dns(16) as the value for this object
+ means that a function such as, for example, getaddrinfo()
+ or gethostbyname() should be performed to return one or
+ more numeric addresses. Use of a value of either ipv4(1)
+ or ipv6(2) means that a functions such as, for example,
+ getnameinfo() or gethostbyaddr() should be used to return
+ the symbolic names associated with a host."
+ DEFVAL { unknown }
+ ::= { lookupCtlEntry 3 }
+
+ lookupCtlTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the address used for a resolver lookup at a
+ remote host. The corresponding lookupCtlTargetAddressType
+ objects determines its type, as well as the function
+ that can be requested.
+
+ A value for this object MUST be set prior to
+ transitioning its corresponding lookupCtlEntry to
+ active(1) via lookupCtlRowStatus."
+ ::= { lookupCtlEntry 4 }
+
+ lookupCtlOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- operation is active
+ notStarted(2), -- operation has not started
+ completed(3) -- operation is done
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the operational state of an lookupCtlEntry:
+
+ enabled(1) - Operation is active.
+ notStarted(2) - Operation has not been enabled.
+ completed(3) - Operation has been completed.
+
+ An operation is automatically enabled(1) when its
+ lookupCtlRowStatus object is transitioned to active(1)
+ status. Until this occurs, lookupCtlOperStatus MUST
+ report a value of notStarted(2). After the lookup
+ operation is completed (success or failure), the value
+ for lookupCtlOperStatus MUST be transitioned to
+ completed(3)."
+ ::= { lookupCtlEntry 5 }
+
+ lookupCtlTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reports the number of milliseconds that a lookup
+ operation required to be completed at a remote host.
+ Completed means operation failure as well as
+
+ success."
+ ::= { lookupCtlEntry 6 }
+
+ lookupCtlRc OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system-specific return code from a lookup
+ operation. All implementations MUST return a value
+ of 0 for this object when the remote lookup
+ operation succeeds. A non-zero value for this
+ objects indicates failure. It is recommended that
+ implementations return the error codes that are
+ generated by the lookup function used."
+ ::= { lookupCtlEntry 7 }
+
+ lookupCtlRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object allows entries to be created and deleted
+ in the lookupCtlTable.
+
+ A remote lookup operation is started when an
+ entry in this table is created via an SNMP set
+ request and the entry is activated. This
+ occurs by setting the value of this object
+ to CreateAndGo(4) during row creation or
+ by setting this object to active(1) after
+ the row is created.
+
+ A value MUST be specified for lookupCtlTargetAddress
+ prior to the acceptance of a transition to active(1) state.
+ A remote lookup operation starts when its entry
+ first becomes active(1). Transitions in and
+ out of active(1) state have no effect on the
+ operational behavior of a remote lookup
+ operation, with the exception that deletion of
+ an entry in this table by setting its RowStatus
+ object to destroy(6) will stop an active
+ remote lookup operation.
+
+ The operational state of a remote lookup operation
+ can be determined by examination of its
+ lookupCtlOperStatus object."
+ REFERENCE
+ "See definition of RowStatus in RFC 2579,
+ 'Textual Conventions for SMIv2.'"
+ ::= { lookupCtlEntry 8 }
+
+-- Lookup Results Table
+
+ lookupResultsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LookupResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Lookup Results Table for providing
+ the capability of determining the results of a
+ operation at a remote host.
+
+ One or more entries are added to the
+ lookupResultsTable when a lookup operation,
+ as reflected by an lookupCtlEntry, is completed
+ successfully. All entries related to a
+ successful lookup operation MUST be added
+ to the lookupResultsTable at the same time
+ that the associating lookupCtlOperStatus
+ object is transitioned to completed(2).
+
+ The number of entries added depends on the
+ results determined for a particular lookup
+ operation. All entries associated with an
+ lookupCtlEntry are removed when the
+ lookupCtlEntry is deleted.
+
+ A remote host can be multi-homed and have more than one IP
+ address associated with it (returned by lookup function),
+ or it can have more than one symbolic name (returned
+ by lookup function).
+
+ A function such as, for example, getnameinfo() or
+ gethostbyaddr() is called with a host address as its
+ parameter and is used primarily to determine a symbolic
+ name to associate with the host address. Entries in the
+ lookupResultsTable MUST be made for each host name
+ returned. If the function identifies an 'official host
+ name,' then this symbolic name MUST be assigned a
+ lookupResultsIndex of 1.
+
+ A function such as, for example, getaddrinfo() or
+ gethostbyname() is called with a symbolic host name and is
+ used primarily to retrieve a host address. The entries
+
+ MUST be stored in the order that they are retrieved from
+ the lookup function. lookupResultsIndex 1 MUST be
+ assigned to the first entry."
+ ::= { lookupObjects 4 }
+
+ lookupResultsEntry OBJECT-TYPE
+ SYNTAX LookupResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the lookupResultsTable. The
+ first two index elements identify the
+ lookupCtlEntry that a lookupResultsEntry belongs
+ to. The third index element selects a single
+ lookup operation result."
+ INDEX {
+ lookupCtlOwnerIndex,
+ lookupCtlOperationName,
+ lookupResultsIndex
+ }
+ ::= { lookupResultsTable 1 }
+
+ LookupResultsEntry ::=
+ SEQUENCE {
+ lookupResultsIndex Unsigned32,
+ lookupResultsAddressType InetAddressType,
+ lookupResultsAddress InetAddress
+ }
+
+ lookupResultsIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Entries in the lookupResultsTable are created when
+ the result of a lookup operation is determined.
+
+ Entries MUST be stored in the lookupResultsTable in
+ the order that they are retrieved. Values assigned
+ to lookupResultsIndex MUST start at 1 and increase
+ consecutively."
+ ::= { lookupResultsEntry 1 }
+
+ lookupResultsAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the type of result of a remote lookup
+ operation. A value of unknown(0) implies either that
+ the operation hasn't been started or that
+ it has failed."
+ ::= { lookupResultsEntry 2 }
+
+ lookupResultsAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects a result for a remote lookup operation
+ as per the value of lookupResultsAddressType.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of lookupResultsAddress."
+ ::= { lookupResultsEntry 3 }
+
+ -- Conformance information
+ -- Compliance statements
+
+ lookupCompliances OBJECT IDENTIFIER ::= { lookupConformance 1 }
+ lookupGroups OBJECT IDENTIFIER ::= { lookupConformance 2 }
+
+ -- Compliance statements
+
+ lookupCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ fully implement the DISMAN-NSLOOKUP-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { lookupGroup }
+
+ OBJECT lookupMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT lookupPurgeTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support a set
+ operation to this object."
+ ::= { lookupCompliances 1 }
+
+ lookupMinimumCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The minimum compliance statement for SNMP entities
+ that implement the minimal subset of the
+ DISMAN-NSLOOKUP-MIB. Implementors might choose this
+ subset for small devices with limited resources."
+ MODULE -- this module
+ MANDATORY-GROUPS { lookupGroup }
+
+ OBJECT lookupMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT lookupPurgeTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support a set
+ operation to this object."
+
+ OBJECT lookupCtlRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, then at least one entry in the
+ lookupCtlTable MUST be established already when the SNMP
+ agent starts offering access to the NSLOOKUP-MIB module.
+ If, in such a case, only a single entry is offered, then
+ it is RECOMMENDED that this entry use strings with a
+ length of 0 for both of its two index objects."
+ ::= { lookupCompliances 2 }
+
+ -- MIB groupings
+
+ lookupGroup OBJECT-GROUP
+ OBJECTS {
+ lookupMaxConcurrentRequests,
+ lookupPurgeTime,
+ lookupCtlOperStatus,
+ lookupCtlTargetAddressType,
+ lookupCtlTargetAddress,
+ lookupCtlTime,
+ lookupCtlRc,
+ lookupCtlRowStatus,
+ lookupResultsAddressType,
+ lookupResultsAddress
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the remote
+ Lookup operation."
+ ::= { lookupGroups 1 }
+
+END
diff --git a/mibs/DISMAN-PING-MIB.txt b/mibs/DISMAN-PING-MIB.txt
new file mode 100644
index 00000000..645ff8c7
--- /dev/null
+++ b/mibs/DISMAN-PING-MIB.txt
@@ -0,0 +1,1561 @@
+DISMAN-PING-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32,
+ Unsigned32, Gauge32, mib-2,
+ NOTIFICATION-TYPE, OBJECT-IDENTITY
+ FROM SNMPv2-SMI -- RFC2578
+ TEXTUAL-CONVENTION, RowStatus,
+ StorageType, DateAndTime, TruthValue
+ FROM SNMPv2-TC -- RFC2579
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP
+ FROM SNMPv2-CONF -- RFC2580
+ InterfaceIndexOrZero -- RFC2863
+ FROM IF-MIB
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC3411
+ InetAddressType, InetAddress
+ FROM INET-ADDRESS-MIB; -- RFC4001
+
+ pingMIB MODULE-IDENTITY
+ LAST-UPDATED "200606130000Z" -- 13 June 2006
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "Juergen Quittek
+
+ NEC Europe Ltd.
+ Network Laboratories
+ Kurfuersten-Anlage 36
+ 69115 Heidelberg
+ Germany
+
+ Phone: +49 6221 4342-115
+
+ Email: quittek@netlab.nec.de"
+ DESCRIPTION
+ "The Ping MIB (DISMAN-PING-MIB) provides the capability of
+ controlling the use of the ping function at a remote
+ host.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4560; see the RFC itself for
+ full legal notices."
+
+ -- Revision history
+
+ REVISION "200606130000Z" -- 13 June 2006
+ DESCRIPTION
+ "Updated version, published as RFC 4560.
+ - Correctly considered IPv6 in DESCRIPTION
+ clause of pingCtlDataSize
+ - Replaced references to RFC 2575 by RFC 3415
+ - Replaced references to RFC 2571 by RFC 3411
+ - Replaced references to RFC 2851 by RFC 4001
+ - Added DEFVAL { {} } to definition of
+ pingCtlTrapGeneration
+ - Changed DEFVAL of object pingCtlDescr from
+ DEFVAL { '00'H } to DEFVAL { ''H }
+ - Changed DEFVAL of object pingCtlSourceAddressType
+ from DEFVAL { ipv4 } to DEFVAL { unknown }
+ - Extended DESCRIPTION clause of pingResultsTable
+ describing re-initialization of entries
+ - Changed SYNTAX of pingResultsProbeResponses and
+ pingResultsSentProbes from Unsigned32 to Gauge32
+ - Changed status of pingCompliance to deprecated
+ - Added pingFullCompliance and pingMinimumCompliance
+ - Changed status of pingGroup and pingTimeStampGroup
+ to deprecated
+ - Added pingMinimumGroup, pingCtlRowStatusGroup,
+ and pingHistoryGroup"
+
+ REVISION "200009210000Z" -- 21 September 2000
+ DESCRIPTION
+ "Initial version, published as RFC 2925."
+ ::= { mib-2 80 }
+
+ -- Textual Conventions
+
+ OperationResponseStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Used to report the result of an operation:
+
+ responseReceived(1) - Operation is completed successfully.
+ unknown(2) - Operation failed due to unknown error.
+ internalError(3) - An implementation detected an error
+ in its own processing that caused an operation
+ to fail.
+ requestTimedOut(4) - Operation failed to receive a
+ valid reply within the time limit imposed on it.
+ unknownDestinationAddress(5) - Invalid destination
+ address.
+ noRouteToTarget(6) - Could not find a route to target.
+ interfaceInactiveToTarget(7) - The interface to be
+ used in sending a probe is inactive, and an
+ alternate route does not exist.
+ arpFailure(8) - Unable to resolve a target address to a
+ media-specific address.
+ maxConcurrentLimitReached(9) - The maximum number of
+ concurrent active operations would have been exceeded
+ if the corresponding operation was allowed.
+ unableToResolveDnsName(10) - The DNS name specified was
+ unable to be mapped to an IP address.
+ invalidHostAddress(11) - The IP address for a host
+ has been determined to be invalid. Examples of this
+ are broadcast or multicast addresses."
+ SYNTAX INTEGER {
+ responseReceived(1),
+ unknown(2),
+ internalError(3),
+ requestTimedOut(4),
+ unknownDestinationAddress(5),
+ noRouteToTarget(6),
+ interfaceInactiveToTarget(7),
+ arpFailure(8),
+ maxConcurrentLimitReached(9),
+ unableToResolveDnsName(10),
+ invalidHostAddress(11)
+ }
+
+ -- Top level structure of the MIB
+
+ pingNotifications OBJECT IDENTIFIER ::= { pingMIB 0 }
+ pingObjects OBJECT IDENTIFIER ::= { pingMIB 1 }
+ pingConformance OBJECT IDENTIFIER ::= { pingMIB 2 }
+
+ -- The registration node (point) for ping implementation types
+
+ pingImplementationTypeDomains OBJECT IDENTIFIER ::= { pingMIB 3 }
+
+ pingIcmpEcho OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using the Internet
+ Control Message Protocol (ICMP) 'ECHO' facility."
+ ::= { pingImplementationTypeDomains 1 }
+
+ pingUdpEcho OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using the UDP echo
+ port (7)."
+ REFERENCE
+ "RFC 862, 'Echo Protocol'."
+ ::= { pingImplementationTypeDomains 2 }
+
+ pingSnmpQuery OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using an SNMP query
+ to calculate a round trip time."
+ ::= { pingImplementationTypeDomains 3 }
+
+ pingTcpConnectionAttempt OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is attempting to
+ connect to a TCP port in order to calculate a round
+ trip time."
+ ::= { pingImplementationTypeDomains 4 }
+
+ -- Simple Object Definitions
+
+ pingMaxConcurrentRequests OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "requests"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrent active ping requests
+ that are allowed within an agent implementation. A value
+ of 0 for this object implies that there is no limit for
+ the number of concurrent active requests in effect.
+
+ The limit applies only to new requests being activated.
+ When a new value is set, the agent will continue processing
+ all the requests already active, even if their number
+ exceeds the limit just imposed."
+ DEFVAL { 10 }
+ ::= { pingObjects 1 }
+
+ -- Ping Control Table
+
+ pingCtlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PingCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the ping Control Table for providing, via SNMP,
+ the capability of performing ping operations at
+ a remote host. The results of these operations are
+ stored in the pingResultsTable and the
+ pingProbeHistoryTable."
+ ::= { pingObjects 2 }
+
+ pingCtlEntry OBJECT-TYPE
+ SYNTAX PingCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the pingCtlTable. The first index
+ element, pingCtlOwnerIndex, is of type SnmpAdminString,
+ a textual convention that allows for use of the SNMPv3
+ View-Based Access Control Model (RFC 3415, VACM)
+ and that allows a management application to identify its
+ entries. The second index, pingCtlTestName (also an
+ SnmpAdminString), enables the same management
+ application to have multiple outstanding requests."
+ INDEX {
+ pingCtlOwnerIndex,
+ pingCtlTestName
+ }
+ ::= { pingCtlTable 1 }
+
+ PingCtlEntry ::=
+ SEQUENCE {
+ pingCtlOwnerIndex SnmpAdminString,
+ pingCtlTestName SnmpAdminString,
+ pingCtlTargetAddressType InetAddressType,
+ pingCtlTargetAddress InetAddress,
+ pingCtlDataSize Unsigned32,
+ pingCtlTimeOut Unsigned32,
+ pingCtlProbeCount Unsigned32,
+ pingCtlAdminStatus INTEGER,
+ pingCtlDataFill OCTET STRING,
+ pingCtlFrequency Unsigned32,
+ pingCtlMaxRows Unsigned32,
+ pingCtlStorageType StorageType,
+ pingCtlTrapGeneration BITS,
+ pingCtlTrapProbeFailureFilter Unsigned32,
+ pingCtlTrapTestFailureFilter Unsigned32,
+ pingCtlType OBJECT IDENTIFIER,
+ pingCtlDescr SnmpAdminString,
+ pingCtlSourceAddressType InetAddressType,
+ pingCtlSourceAddress InetAddress,
+ pingCtlIfIndex InterfaceIndexOrZero,
+ pingCtlByPassRouteTable TruthValue,
+ pingCtlDSField Unsigned32,
+ pingCtlRowStatus RowStatus
+ }
+
+ pingCtlOwnerIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "To facilitate the provisioning of access control by a
+ security administrator using the View-Based Access
+ Control Model (RFC 2575, VACM) for tables in which
+ multiple users may need to create or
+ modify entries independently, the initial index is used
+ as an 'owner index'. Such an initial index has a syntax
+ of SnmpAdminString and can thus be trivially mapped to a
+ securityName or groupName defined in VACM, in
+ accordance with a security policy.
+
+ When used in conjunction with such a security policy, all
+ entries in the table belonging to a particular user (or
+ group) will have the same value for this initial index.
+ For a given user's entries in a particular table, the
+ object identifiers for the information in these entries
+ will have the same subidentifiers (except for the 'column'
+ subidentifier) up to the end of the encoded owner index.
+ To configure VACM to permit access to this portion of the
+ table, one would create vacmViewTreeFamilyTable entries
+ with the value of vacmViewTreeFamilySubtree including
+ the owner index portion, and vacmViewTreeFamilyMask
+ 'wildcarding' the column subidentifier. More elaborate
+ configurations are possible."
+ ::= { pingCtlEntry 1 }
+
+ pingCtlTestName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of the ping test. This is locally unique, within
+ the scope of a pingCtlOwnerIndex."
+ ::= { pingCtlEntry 2 }
+
+ pingCtlTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of host address to be used at a remote
+ host for performing a ping operation."
+ DEFVAL { unknown }
+ ::= { pingCtlEntry 3 }
+
+ pingCtlTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the host address to be used at a remote host for
+ performing a ping operation. The host address type is
+ determined by the value of the corresponding
+ pingCtlTargetAddressType.
+
+ A value for this object MUST be set prior to transitioning
+ its corresponding pingCtlEntry to active(1) via
+ pingCtlRowStatus."
+ DEFVAL { ''H }
+ ::= { pingCtlEntry 4 }
+
+ pingCtlDataSize OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65507)
+ UNITS "octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the size of the data portion to be
+ transmitted in a ping operation, in octets. Whether this
+ value can be applied depends on the selected
+ implementation method for performing a ping operation,
+ indicated by pingCtlType in the same conceptual row.
+ If the method used allows applying the value contained
+
+ in this object, then it MUST be applied. If the specified
+ size is not appropriate for the chosen ping method, the
+ implementation SHOULD use whatever size (appropriate to
+ the method) is closest to the specified size.
+
+ The maximum value for this object was computed by
+ subtracting the smallest possible IP header size of
+ 20 octets (IPv4 header with no options) and the UDP
+ header size of 8 octets from the maximum IP packet size.
+ An IP packet has a maximum size of 65535 octets
+ (excluding IPv6 Jumbograms)."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 5 }
+
+ pingCtlTimeOut OBJECT-TYPE
+ SYNTAX Unsigned32 (1..60)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the time-out value, in seconds, for a
+ remote ping operation."
+ DEFVAL { 3 }
+ ::= { pingCtlEntry 6 }
+
+ pingCtlProbeCount OBJECT-TYPE
+ SYNTAX Unsigned32 (1..15)
+ UNITS "probes"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the number of times to perform a ping
+ operation at a remote host as part of a single ping test."
+ DEFVAL { 1 }
+ ::= { pingCtlEntry 7 }
+
+ pingCtlAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- test should be started
+ disabled(2) -- test should be stopped
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Reflects the desired state that a pingCtlEntry should be
+ in:
+
+ enabled(1) - Attempt to activate the test as defined by
+ this pingCtlEntry.
+ disabled(2) - Deactivate the test as defined by this
+ pingCtlEntry.
+
+ Refer to the corresponding pingResultsOperStatus to
+ determine the operational state of the test defined by
+ this entry."
+ DEFVAL { disabled }
+ ::= { pingCtlEntry 8 }
+
+ pingCtlDataFill OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..1024))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The content of this object is used together with the
+ corresponding pingCtlDataSize value to determine how to
+ fill the data portion of a probe packet. The option of
+ selecting a data fill pattern can be useful when links
+ are compressed or have data pattern sensitivities. The
+ contents of pingCtlDataFill should be repeated in a ping
+ packet when the size of the data portion of the ping
+ packet is greater than the size of pingCtlDataFill."
+ DEFVAL { '00'H }
+ ::= { pingCtlEntry 9 }
+
+ pingCtlFrequency OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds to wait before repeating a ping test
+ as defined by the value of the various objects in the
+ corresponding row.
+
+ A single ping test consists of a series of ping probes.
+ The number of probes is determined by the value of the
+ corresponding pingCtlProbeCount object. After a single
+ test is completed the number of seconds as defined by the
+ value of pingCtlFrequency MUST elapse before the
+ next ping test is started.
+
+ A value of 0 for this object implies that the test
+ as defined by the corresponding entry will not be
+ repeated."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 10 }
+
+ pingCtlMaxRows OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "rows"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of corresponding entries allowed
+ in the pingProbeHistoryTable. An implementation of this
+ MIB will remove the oldest corresponding entry in the
+ pingProbeHistoryTable to allow the addition of an
+ new entry once the number of corresponding rows in the
+ pingProbeHistoryTable reaches this value.
+
+ Old entries are not removed when a new test is
+ started. Entries are added to the pingProbeHistoryTable
+ until pingCtlMaxRows is reached before entries begin to
+ be removed.
+
+ A value of 0 for this object disables creation of
+ pingProbeHistoryTable entries."
+ DEFVAL { 50 }
+ ::= { pingCtlEntry 11 }
+
+ pingCtlStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { pingCtlEntry 12 }
+
+ pingCtlTrapGeneration OBJECT-TYPE
+ SYNTAX BITS {
+ probeFailure(0),
+ testFailure(1),
+ testCompletion(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object determines when and whether
+ to generate a notification for this entry:
+
+ probeFailure(0) - Generate a pingProbeFailed
+ notification subject to the value of
+ pingCtlTrapProbeFailureFilter. The object
+ pingCtlTrapProbeFailureFilter can be used
+ to specify the number of consecutive probe
+ failures that are required before a
+ pingProbeFailed notification can be generated.
+ testFailure(1) - Generate a pingTestFailed
+ notification. In this instance the object
+ pingCtlTrapTestFailureFilter can be used to
+ determine the number of probe failures that
+ signal when a test fails.
+ testCompletion(2) - Generate a pingTestCompleted
+ notification.
+
+ By default, no bits are set, indicating that
+ none of the above options is selected."
+ DEFVAL { {} } -- no bits set.
+ ::= { pingCtlEntry 13 }
+
+ pingCtlTrapProbeFailureFilter OBJECT-TYPE
+ SYNTAX Unsigned32 (0..15)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used to determine when
+ to generate a pingProbeFailed NOTIFICATION.
+
+ Setting BIT probeFailure(0) of object
+ pingCtlTrapGeneration to '1' implies that a
+ pingProbeFailed NOTIFICATION is generated only when
+
+ a number of consecutive ping probes equal to the
+ value of pingCtlTrapProbeFailureFilter fail within
+ a given ping test. After triggering the notification,
+ the probe failure counter is reset to zero."
+ DEFVAL { 1 }
+ ::= { pingCtlEntry 14 }
+
+ pingCtlTrapTestFailureFilter OBJECT-TYPE
+ SYNTAX Unsigned32 (0..15)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used to determine when
+ to generate a pingTestFailed NOTIFICATION.
+
+ Setting BIT testFailure(1) of object
+
+ pingCtlTrapGeneration to '1' implies that a
+ pingTestFailed NOTIFICATION is generated only when
+ a number of consecutive ping tests equal to the
+ value of pingCtlTrapProbeFailureFilter fail.
+ After triggering the notification, the test failure
+ counter is reset to zero."
+ DEFVAL { 1 }
+ ::= { pingCtlEntry 15 }
+
+ pingCtlType OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used either to report or
+ to select the implementation method to be used for
+ calculating a ping response time. The value of this
+ object MAY be selected from pingImplementationTypeDomains.
+
+ Additional implementation types SHOULD be allocated as
+ required by implementers of the DISMAN-PING-MIB under
+ their enterprise-specific registration point and not
+ beneath pingImplementationTypeDomains."
+ DEFVAL { pingIcmpEcho }
+ ::= { pingCtlEntry 16 }
+
+ pingCtlDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to provide a
+ descriptive name of the remote ping test."
+ DEFVAL { ''H }
+ ::= { pingCtlEntry 17 }
+
+ pingCtlSourceAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of the source address,
+ pingCtlSourceAddress, to be used at a remote host
+ when a ping operation is performed."
+ DEFVAL { unknown }
+ ::= { pingCtlEntry 18 }
+
+ pingCtlSourceAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Use the specified IP address (which must be given in
+ numeric form, not as a hostname) as the source address
+ in outgoing probe packets. On hosts with more than one
+ IP address, this option can be used to select the address
+ to be used. If the IP address is not one of this
+ machine's interface addresses, an error is returned and
+ nothing is sent. A zero-length octet string value for
+ this object disables source address specification.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of pingCtlSourceAddressType."
+ DEFVAL { ''H }
+ ::= { pingCtlEntry 19 }
+
+ pingCtlIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Setting this object to an interface's ifIndex prior
+ to starting a remote ping operation directs
+ the ping probes to be transmitted over the
+ specified interface. A value of zero for this object
+ means that this option is not enabled."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 20 }
+
+ pingCtlByPassRouteTable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to enable optional
+ bypassing the route table. If enabled, the remote
+ host will bypass the normal routing tables and send
+ directly to a host on an attached network. If the
+ host is not on a directly attached network, an
+ error is returned. This option can be used to perform
+ the ping operation to a local host through an
+ interface that has no route defined (e.g., after the
+ interface was dropped by the routing daemon at the host)."
+ DEFVAL { false }
+ ::= { pingCtlEntry 21 }
+
+ pingCtlDSField OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the value to store in the Type of Service
+ (TOS) octet in the IPv4 header or in the Traffic
+ Class octet in the IPv6 header, respectively, of the
+ IP packet used to encapsulate the ping probe.
+
+ The octet to be set in the IP header contains the
+ Differentiated Services (DS) Field in the six most
+ significant bits.
+
+ This option can be used to determine what effect an
+ explicit DS Field setting has on a ping response.
+ Not all values are legal or meaningful. A value of 0
+ means that the function represented by this option is
+ not supported. DS Field usage is often not supported
+ by IP implementations, and not all values are supported.
+ Refer to RFC 2474 and RFC 3260 for guidance on usage of
+ this field."
+ REFERENCE
+ "Refer to RFC 1812 for the definition of the IPv4 TOS
+ octet and to RFC 2460 for the definition of the IPv6
+ Traffic Class octet. Refer to RFC 2474 and RFC 3260
+ for the definition of the Differentiated Services Field."
+ DEFVAL { 0 }
+ ::= { pingCtlEntry 22 }
+
+ pingCtlRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object allows entries to be created and deleted
+ in the pingCtlTable. Deletion of an entry in this
+ table results in the deletion of all corresponding (same
+ pingCtlOwnerIndex and pingCtlTestName index values)
+ pingResultsTable and pingProbeHistoryTable entries.
+
+ A value MUST be specified for pingCtlTargetAddress
+ prior to acceptance of a transition to active(1) state.
+
+ When a value for pingCtlTargetAddress is set,
+ the value of object pingCtlRowStatus changes
+ from notReady(3) to notInService(2).
+
+ Activation of a remote ping operation is controlled
+ via pingCtlAdminStatus, not by changing
+ this object's value to active(1).
+
+ Transitions in and out of active(1) state are not
+ allowed while an entry's pingResultsOperStatus is
+ active(1), with the exception that deletion of
+ an entry in this table by setting its RowStatus
+ object to destroy(6) will stop an active
+ ping operation.
+
+ The operational state of a ping operation
+ can be determined by examination of its
+ pingResultsOperStatus object."
+ REFERENCE
+ "See definition of RowStatus in RFC 2579, 'Textual
+ Conventions for SMIv2.'"
+ ::= { pingCtlEntry 23 }
+
+-- Ping Results Table
+
+ pingResultsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PingResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Ping Results Table for providing
+ the capability of performing ping operations at
+ a remote host. The results of these operations are
+ stored in the pingResultsTable and the pingProbeHistoryTable.
+
+ An entry is added to the pingResultsTable when an
+ pingCtlEntry is started by successful transition
+ of its pingCtlAdminStatus object to enabled(1).
+
+ If the object pingCtlAdminStatus already has the value
+ enabled(1), and if the corresponding pingResultsOperStatus
+ object has the value completed(3), then successfully writing
+ enabled(1) to object pingCtlAdminStatus re-initializes the
+ already existing entry in the pingResultsTable. The values
+ of objects in the re-initialized entry are the same as the
+ values of objects in a new entry would be.
+
+ An entry is removed from the pingResultsTable when
+ its corresponding pingCtlEntry is deleted."
+ ::= { pingObjects 3 }
+
+ pingResultsEntry OBJECT-TYPE
+ SYNTAX PingResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the pingResultsTable. The
+ pingResultsTable has the same indexing as the
+ pingCtlTable so that a pingResultsEntry
+ corresponds to the pingCtlEntry that caused it to
+ be created."
+ INDEX {
+ pingCtlOwnerIndex,
+ pingCtlTestName
+ }
+ ::= { pingResultsTable 1 }
+
+ PingResultsEntry ::=
+ SEQUENCE {
+ pingResultsOperStatus INTEGER,
+ pingResultsIpTargetAddressType InetAddressType,
+ pingResultsIpTargetAddress InetAddress,
+ pingResultsMinRtt Unsigned32,
+ pingResultsMaxRtt Unsigned32,
+ pingResultsAverageRtt Unsigned32,
+ pingResultsProbeResponses Gauge32,
+ pingResultsSentProbes Gauge32,
+ pingResultsRttSumOfSquares Unsigned32,
+ pingResultsLastGoodProbe DateAndTime
+ }
+
+ pingResultsOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- test is in progress
+ disabled(2), -- test has stopped
+ completed(3) -- test is completed
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the operational state of a pingCtlEntry:
+
+ enabled(1) - Test is active.
+ disabled(2) - Test has stopped.
+ completed(3) - Test is completed."
+ ::= { pingResultsEntry 1 }
+
+ pingResultsIpTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates the type of address stored
+ in the corresponding pingResultsIpTargetAddress
+ object."
+ DEFVAL { unknown }
+ ::= { pingResultsEntry 2 }
+
+ pingResultsIpTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object reports the IP address associated
+ with a pingCtlTargetAddress value when the destination
+ address is specified as a DNS name. The value of
+ this object should be a zero-length octet string
+ when a DNS name is not specified or when a
+ specified DNS name fails to resolve.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of pingResultsIpTargetAddressType."
+ DEFVAL { ''H }
+ ::= { pingResultsEntry 3 }
+
+ pingResultsMinRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum ping round-trip-time (RTT) received. A value
+ of 0 for this object implies that no RTT has been received."
+ ::= { pingResultsEntry 4 }
+
+ pingResultsMaxRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum ping round-trip-time (RTT) received. A value
+ of 0 for this object implies that no RTT has been received."
+ ::= { pingResultsEntry 5 }
+
+ pingResultsAverageRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current average ping round-trip-time (RTT)."
+ ::= { pingResultsEntry 6 }
+
+ pingResultsProbeResponses OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "responses"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of responses received for the corresponding
+ pingCtlEntry and pingResultsEntry. The value of this object
+ MUST be reported as 0 when no probe responses have been
+ received."
+ ::= { pingResultsEntry 7 }
+
+ pingResultsSentProbes OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "probes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object reflects the number of probes sent
+ for the corresponding pingCtlEntry and pingResultsEntry.
+ The value of this object MUST be reported as 0 when no probes
+ have been sent."
+ ::= { pingResultsEntry 8 }
+
+ pingResultsRttSumOfSquares OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the sum of the squares for all ping
+ responses received. Its purpose is to enable standard
+ deviation calculation. The value of this object MUST
+ be reported as 0 when no ping responses have been
+ received."
+ ::= { pingResultsEntry 9 }
+
+ pingResultsLastGoodProbe OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Date and time when the last response was received for
+ a probe."
+ ::= { pingResultsEntry 10 }
+
+ -- Ping Probe History Table
+
+ pingProbeHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF PingProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines a table for storing the results of ping
+ operations. The number of entries in this table is
+ limited per entry in the pingCtlTable by the value
+ of the corresponding pingCtlMaxRows object.
+
+ An entry in this table is created when the result of
+ a ping probe is determined. The initial 2 instance
+ identifier index values identify the pingCtlEntry
+ that a probe result (pingProbeHistoryEntry) belongs
+ to. An entry is removed from this table when
+ its corresponding pingCtlEntry is deleted.
+
+ An implementation of this MIB will remove the oldest
+ entry in the pingProbeHistoryTable of the
+ corresponding entry in the pingCtlTable to allow
+ the addition of an new entry once the number of rows
+ in the pingProbeHistoryTable reaches the value
+ specified by pingCtlMaxRows for the corresponding
+ entry in the pingCtlTable."
+ ::= { pingObjects 4 }
+
+ pingProbeHistoryEntry OBJECT-TYPE
+ SYNTAX PingProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the pingProbeHistoryTable.
+ The first two index elements identify the
+ pingCtlEntry that a pingProbeHistoryEntry belongs
+ to. The third index element selects a single
+ probe result."
+ INDEX {
+
+ pingCtlOwnerIndex,
+ pingCtlTestName,
+ pingProbeHistoryIndex
+ }
+ ::= { pingProbeHistoryTable 1 }
+
+ PingProbeHistoryEntry ::=
+ SEQUENCE {
+ pingProbeHistoryIndex Unsigned32,
+ pingProbeHistoryResponse Unsigned32,
+ pingProbeHistoryStatus OperationResponseStatus,
+ pingProbeHistoryLastRC Integer32,
+ pingProbeHistoryTime DateAndTime
+ }
+
+ pingProbeHistoryIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table is created when the result of
+ a ping probe is determined. The initial 2 instance
+ identifier index values identify the pingCtlEntry
+ that a probe result (pingProbeHistoryEntry) belongs
+ to.
+
+ An implementation MUST start assigning
+ pingProbeHistoryIndex values at 1 and wrap after
+ exceeding the maximum possible value as defined by
+ the limit of this object ('ffffffff'h)."
+ ::= { pingProbeHistoryEntry 1 }
+
+ pingProbeHistoryResponse OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time measured in milliseconds from when
+ a probe was sent to when its response was received or
+ when it timed out. The value of this object is reported
+ as 0 when it is not possible to transmit a probe."
+ ::= { pingProbeHistoryEntry 2 }
+
+ pingProbeHistoryStatus OBJECT-TYPE
+ SYNTAX OperationResponseStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The result of a particular probe done by a remote host."
+ ::= { pingProbeHistoryEntry 3 }
+
+ pingProbeHistoryLastRC OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last implementation-method-specific reply code received.
+ If the ICMP Echo capability is being used, then a successful
+ probe ends when an ICMP response is received that contains
+ the code ICMP_ECHOREPLY(0). The ICMP codes are maintained
+ by IANA. Standardized ICMP codes are listed at
+ http://www.iana.org/assignments/icmp-parameters.
+ The ICMPv6 codes are listed at
+ http://www.iana.org/assignments/icmpv6-parameters."
+ ::= { pingProbeHistoryEntry 4 }
+
+ pingProbeHistoryTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Timestamp for when this probe result was determined."
+ ::= { pingProbeHistoryEntry 5 }
+
+ -- Notification Definition section
+
+ pingProbeFailed NOTIFICATION-TYPE
+ OBJECTS {
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "Generated when a probe failure is detected, when the
+
+ corresponding pingCtlTrapGeneration object is set to
+ probeFailure(0), subject to the value of
+ pingCtlTrapProbeFailureFilter. The object
+ pingCtlTrapProbeFailureFilter can be used to specify the
+ number of consecutive probe failures that are required
+ before this notification can be generated."
+ ::= { pingNotifications 1 }
+
+ pingTestFailed NOTIFICATION-TYPE
+ OBJECTS {
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "Generated when a ping test is determined to have failed,
+ when the corresponding pingCtlTrapGeneration object is
+ set to testFailure(1). In this instance,
+ pingCtlTrapTestFailureFilter should specify the number of
+ probes in a test required to have failed in order to
+ consider the test failed."
+ ::= { pingNotifications 2 }
+
+ pingTestCompleted NOTIFICATION-TYPE
+ OBJECTS {
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+
+ }
+ STATUS current
+ DESCRIPTION
+ "Generated at the completion of a ping test when the
+ corresponding pingCtlTrapGeneration object has the
+ testCompletion(2) bit set."
+ ::= { pingNotifications 3 }
+
+ -- Conformance information
+
+ -- Compliance statements
+
+ pingCompliances OBJECT IDENTIFIER ::= { pingConformance 1 }
+ pingGroups OBJECT IDENTIFIER ::= { pingConformance 2 }
+
+ -- Compliance statements
+
+ pingFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ fully implement the DISMAN-PING-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ pingMinimumGroup,
+ pingCtlRowStatusGroup,
+ pingHistoryGroup,
+ pingNotificationsGroup
+ }
+
+ OBJECT pingMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT pingCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that MUST be supported by an implementation is
+ pingIcmpEcho."
+
+ OBJECT pingCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of its
+ implementation. The function represented by this
+ object is implementable if the setsockopt
+ SOL_SOCKET SO_DONTROUTE option is supported."
+
+ OBJECT pingCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingResultsIpTargetAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to
+
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingResultsIpTargetAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT pingResultsLastGoodProbe
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT pingProbeHistoryTime
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+ ::= { pingCompliances 2 }
+
+ pingMinimumCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The minimum compliance statement for SNMP entities
+ that implement the minimal subset of the
+ DISMAN-PING-MIB. Implementors might choose this
+ subset for small devices with limited resources."
+ MODULE -- this module
+ MANDATORY-GROUPS { pingMinimumGroup }
+
+ GROUP pingCtlRowStatusGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the pingCtlRowStatusGroup."
+
+ GROUP pingHistoryGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the pingHistoryGroup."
+
+ GROUP pingNotificationsGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+
+ the pingNotificationsGroup."
+
+ OBJECT pingMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlDataFill
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlFrequency
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlMaxRows
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ pingHistoryGroup is not implemented, then write
+ access to this object MUST be disabled, and the object
+ MUST return a value of 0 when retrieved."
+
+ OBJECT pingCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT pingCtlTrapGeneration
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ pingNotificationsGroup is not implemented, then write
+ access to this object MUST be disabled, and the object
+ MUST return a value with no bit set when retrieved.
+ No bit set indicates that not notification is
+ generated."
+
+ OBJECT pingCtlTrapProbeFailureFilter
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "If write access to pingCtlTrapGeneration is not
+ supported, then write access to this object must also
+ not be supported. In this case, return 0 as the value
+ of this object."
+
+ OBJECT pingCtlTrapTestFailureFilter
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "If write access to pingCtlTrapGeneration is not
+ supported, then write access to this object must also
+ not be supported. In this case, return 0 as the value
+ of this object."
+
+ OBJECT pingCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that MUST be supported by an implementation is
+ pingIcmpEcho."
+
+ OBJECT pingCtlDescr
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return false(2) as the value of this
+ object. A value of false(2) means that the function
+ represented by this option is not supported."
+
+ OBJECT pingCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingResultsIpTargetAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingResultsIpTargetAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT pingResultsLastGoodProbe
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT pingProbeHistoryTime
+ DESCRIPTION
+ "If the pingHistoryGroup is implemented, then this
+ object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+
+ be reported as '0000000000000000'H."
+ ::= { pingCompliances 3 }
+
+ pingCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for the DISMAN-PING-MIB. This
+ compliance statement has been deprecated because the
+ group pingGroup and the pingTimeStampGroup have been
+ split and deprecated. The pingFullCompliance statement
+ is semantically identical to the deprecated
+ pingCompliance statement."
+
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ pingGroup,
+ pingNotificationsGroup
+ }
+ GROUP pingTimeStampGroup
+ DESCRIPTION
+ "This group is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this group is not supported the values
+ for the objects in this group be reported as
+ '0000000000000000'H."
+
+ OBJECT pingMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT pingCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile
+ StorageType enumeration."
+
+ OBJECT pingCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that MUST be supported by an implementation is
+ pingIcmpEcho."
+
+ OBJECT pingCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of its implementation. The function
+ represented by this object is implementable if the
+ setsockopt SOL_SOCKET SO_DONTROUTE option is
+ supported."
+
+ OBJECT pingCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT pingCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 means that the function represented by
+ this option is not supported."
+
+ OBJECT pingResultsIpTargetAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT pingResultsIpTargetAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+ ::= { pingCompliances 1 }
+
+ -- MIB groupings
+
+ pingMinimumGroup OBJECT-GROUP
+ OBJECTS {
+ pingMaxConcurrentRequests,
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingCtlDataSize,
+ pingCtlTimeOut,
+ pingCtlProbeCount,
+ pingCtlAdminStatus,
+ pingCtlDataFill,
+ pingCtlFrequency,
+ pingCtlMaxRows,
+ pingCtlStorageType,
+ pingCtlTrapGeneration,
+ pingCtlTrapProbeFailureFilter,
+ pingCtlTrapTestFailureFilter,
+ pingCtlType,
+ pingCtlDescr,
+ pingCtlByPassRouteTable,
+ pingCtlSourceAddressType,
+ pingCtlSourceAddress,
+ pingCtlIfIndex,
+ pingCtlDSField,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingResultsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the remote ping
+ capability."
+ ::= { pingGroups 4 }
+
+ pingCtlRowStatusGroup OBJECT-GROUP
+ OBJECTS {
+ pingCtlRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RowStatus object of the pingCtlTable."
+ ::= { pingGroups 5 }
+
+ pingHistoryGroup OBJECT-GROUP
+ OBJECTS {
+ pingProbeHistoryResponse,
+ pingProbeHistoryStatus,
+ pingProbeHistoryLastRC,
+ pingProbeHistoryTime
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the history
+ capability."
+ ::= { pingGroups 6 }
+
+ pingNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ pingProbeFailed,
+ pingTestFailed,
+ pingTestCompleted
+ }
+ STATUS current
+ DESCRIPTION
+ "The notification that are required to be supported by
+ implementations of this MIB."
+ ::= { pingGroups 3 }
+
+ pingGroup OBJECT-GROUP
+ OBJECTS {
+ pingMaxConcurrentRequests,
+ pingCtlTargetAddressType,
+ pingCtlTargetAddress,
+ pingCtlDataSize,
+ pingCtlTimeOut,
+ pingCtlProbeCount,
+ pingCtlAdminStatus,
+ pingCtlDataFill,
+ pingCtlFrequency,
+ pingCtlMaxRows,
+ pingCtlStorageType,
+ pingCtlTrapGeneration,
+ pingCtlTrapProbeFailureFilter,
+ pingCtlTrapTestFailureFilter,
+ pingCtlType,
+ pingCtlDescr,
+ pingCtlByPassRouteTable,
+ pingCtlSourceAddressType,
+ pingCtlSourceAddress,
+ pingCtlIfIndex,
+ pingCtlDSField,
+ pingCtlRowStatus,
+ pingResultsOperStatus,
+ pingResultsIpTargetAddressType,
+ pingResultsIpTargetAddress,
+ pingResultsMinRtt,
+ pingResultsMaxRtt,
+ pingResultsAverageRtt,
+ pingResultsProbeResponses,
+ pingResultsSentProbes,
+ pingResultsRttSumOfSquares,
+ pingProbeHistoryResponse,
+ pingProbeHistoryStatus,
+ pingProbeHistoryLastRC
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of objects that constitute the remote ping
+ capability."
+ ::= { pingGroups 1 }
+
+ pingTimeStampGroup OBJECT-GROUP
+
+ OBJECTS {
+ pingResultsLastGoodProbe,
+ pingProbeHistoryTime
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of DateAndTime objects."
+ ::= { pingGroups 2 }
+
+END
diff --git a/mibs/DISMAN-SCHEDULE-MIB.txt b/mibs/DISMAN-SCHEDULE-MIB.txt
new file mode 100644
index 00000000..239595e9
--- /dev/null
+++ b/mibs/DISMAN-SCHEDULE-MIB.txt
@@ -0,0 +1,699 @@
+DISMAN-SCHEDULE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Integer32, Unsigned32, Counter32, mib-2, zeroDotZero
+ FROM SNMPv2-SMI
+
+ TEXTUAL-CONVENTION,
+ DateAndTime, RowStatus, StorageType, VariablePointer
+ FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+schedMIB MODULE-IDENTITY
+ LAST-UPDATED "200201070000Z"
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "WG EMail: disman@dorothy.bmc.com
+ Subscribe: disman-request@dorothy.bmc.com
+
+ Chair: Randy Presuhn
+ BMC Software, Inc.
+ Postal: Office 1-3141
+ 2141 North First Street
+ San Jose, California 95131
+ USA
+ EMail: rpresuhn@bmc.com
+ Phone: +1 408 546-1006
+
+ Editor: David B. Levi
+ Nortel Networks
+ Postal: 4401 Great America Parkway
+ Santa Clara, CA 95052-8185
+ USA
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Editor: Juergen Schoenwaelder
+ TU Braunschweig
+ Postal: Bueltenweg 74/75
+ 38106 Braunschweig
+ Germany
+ EMail: schoenw@ibr.cs.tu-bs.de
+ Phone: +49 531 391-3283"
+ DESCRIPTION
+ "This MIB module defines a MIB which provides mechanisms to
+ schedule SNMP set operations periodically or at specific
+ points in time."
+ REVISION "200201070000Z"
+ DESCRIPTION
+ "Revised version, published as RFC 3231.
+
+ This revision introduces a new object type called
+ schedTriggers. Created new conformance and compliance
+ statements that take care of the new schedTriggers object.
+
+ Several clarifications have been added to remove ambiguities
+ that were discovered and reported by implementors."
+ REVISION "199811171800Z"
+ DESCRIPTION
+ "Initial version, published as RFC 2591."
+ ::= { mib-2 63 }
+
+--
+-- The various groups defined within this MIB definition:
+--
+
+schedObjects OBJECT IDENTIFIER ::= { schedMIB 1 }
+schedNotifications OBJECT IDENTIFIER ::= { schedMIB 2 }
+schedConformance OBJECT IDENTIFIER ::= { schedMIB 3 }
+
+--
+-- Textual Conventions:
+--
+
+SnmpPduErrorStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This TC enumerates the SNMPv1 and SNMPv2 PDU error status
+ codes as defined in RFC 1157 and RFC 1905. It also adds a
+ pseudo error status code `noResponse' which indicates a
+ timeout condition."
+ SYNTAX INTEGER {
+ noResponse(-1),
+ noError(0),
+ tooBig(1),
+ noSuchName(2),
+ badValue(3),
+ readOnly(4),
+ genErr(5),
+ noAccess(6),
+ wrongType(7),
+ wrongLength(8),
+ wrongEncoding(9),
+ wrongValue(10),
+ noCreation(11),
+ inconsistentValue(12),
+ resourceUnavailable(13),
+ commitFailed(14),
+ undoFailed(15),
+ authorizationError(16),
+ notWritable(17),
+ inconsistentName(18)
+ }
+
+--
+-- Some scalars which provide information about the local time zone.
+--
+
+schedLocalTime OBJECT-TYPE
+ SYNTAX DateAndTime (SIZE (11))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local time used by the scheduler. Schedules which
+ refer to calendar time will use the local time indicated
+ by this object. An implementation MUST return all 11 bytes
+ of the DateAndTime textual-convention so that a manager
+ may retrieve the offset from GMT time."
+ ::= { schedObjects 1 }
+
+--
+-- The schedule table which controls the scheduler.
+--
+
+schedTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SchedEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table defines scheduled actions triggered by
+ SNMP set operations."
+ ::= { schedObjects 2 }
+
+schedEntry OBJECT-TYPE
+ SYNTAX SchedEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular scheduled action.
+
+ Unless noted otherwise, writable objects of this row
+ can be modified independent of the current value of
+ schedRowStatus, schedAdminStatus and schedOperStatus.
+ In particular, it is legal to modify schedInterval
+ and the objects in the schedCalendarGroup when
+ schedRowStatus is active and schedAdminStatus and
+ schedOperStatus are both enabled."
+ INDEX { schedOwner, schedName }
+ ::= { schedTable 1 }
+
+SchedEntry ::= SEQUENCE {
+ schedOwner SnmpAdminString,
+ schedName SnmpAdminString,
+ schedDescr SnmpAdminString,
+ schedInterval Unsigned32,
+ schedWeekDay BITS,
+ schedMonth BITS,
+ schedDay BITS,
+ schedHour BITS,
+ schedMinute BITS,
+ schedContextName SnmpAdminString,
+ schedVariable VariablePointer,
+ schedValue Integer32,
+ schedType INTEGER,
+ schedAdminStatus INTEGER,
+ schedOperStatus INTEGER,
+ schedFailures Counter32,
+ schedLastFailure SnmpPduErrorStatus,
+ schedLastFailed DateAndTime,
+ schedStorageType StorageType,
+ schedRowStatus RowStatus,
+ schedTriggers Counter32
+}
+
+schedOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The owner of this scheduling entry. The exact semantics of
+ this string are subject to the security policy defined by
+
+ the security administrator."
+ ::= { schedEntry 1 }
+
+schedName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally-unique, administratively assigned name for this
+ scheduling entry. This object allows a schedOwner to have
+ multiple entries in the schedTable."
+ ::= { schedEntry 2 }
+
+schedDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The human readable description of the purpose of this
+ scheduling entry."
+ DEFVAL { "" }
+ ::= { schedEntry 3 }
+
+schedInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds between two action invocations of
+ a periodic scheduler. Implementations must guarantee
+ that action invocations will not occur before at least
+ schedInterval seconds have passed.
+
+ The scheduler must ignore all periodic schedules that
+ have a schedInterval value of 0. A periodic schedule
+ with a scheduling interval of 0 seconds will therefore
+ never invoke an action.
+
+ Implementations may be forced to delay invocations in the
+ face of local constraints. A scheduled management function
+ should therefore not rely on the accuracy provided by the
+ scheduler implementation.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { 0 }
+ ::= { schedEntry 4 }
+
+schedWeekDay OBJECT-TYPE
+ SYNTAX BITS {
+ sunday(0),
+ monday(1),
+ tuesday(2),
+ wednesday(3),
+ thursday(4),
+ friday(5),
+ saturday(6)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of weekdays on which the scheduled action should
+ take place. Setting multiple bits will include several
+ weekdays in the set of possible weekdays for this schedule.
+ Setting all bits will cause the scheduler to ignore the
+ weekday.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 5 }
+
+schedMonth OBJECT-TYPE
+ SYNTAX BITS {
+ january(0),
+ february(1),
+ march(2),
+ april(3),
+ may(4),
+ june(5),
+ july(6),
+ august(7),
+ september(8),
+ october(9),
+ november(10),
+ december(11)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of months during which the scheduled action should
+ take place. Setting multiple bits will include several
+ months in the set of possible months for this schedule.
+
+ Setting all bits will cause the scheduler to ignore the
+ month.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 6 }
+
+schedDay OBJECT-TYPE
+ SYNTAX BITS {
+ d1(0), d2(1), d3(2), d4(3), d5(4),
+ d6(5), d7(6), d8(7), d9(8), d10(9),
+ d11(10), d12(11), d13(12), d14(13), d15(14),
+ d16(15), d17(16), d18(17), d19(18), d20(19),
+ d21(20), d22(21), d23(22), d24(23), d25(24),
+ d26(25), d27(26), d28(27), d29(28), d30(29),
+ d31(30),
+ r1(31), r2(32), r3(33), r4(34), r5(35),
+ r6(36), r7(37), r8(38), r9(39), r10(40),
+ r11(41), r12(42), r13(43), r14(44), r15(45),
+ r16(46), r17(47), r18(48), r19(49), r20(50),
+ r21(51), r22(52), r23(53), r24(54), r25(55),
+ r26(56), r27(57), r28(58), r29(59), r30(60),
+ r31(61)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of days in a month on which a scheduled action
+ should take place. There are two sets of bits one can
+ use to define the day within a month:
+
+ Enumerations starting with the letter 'd' indicate a
+ day in a month relative to the first day of a month.
+ The first day of the month can therefore be specified
+ by setting the bit d1(0) and d31(30) means the last
+ day of a month with 31 days.
+
+ Enumerations starting with the letter 'r' indicate a
+ day in a month in reverse order, relative to the last
+ day of a month. The last day in the month can therefore
+ be specified by setting the bit r1(31) and r31(61) means
+ the first day of a month with 31 days.
+
+ Setting multiple bits will include several days in the set
+ of possible days for this schedule. Setting all bits will
+ cause the scheduler to ignore the day within a month.
+
+ Setting all bits starting with the letter 'd' or the
+ letter 'r' will also cause the scheduler to ignore the
+ day within a month.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 7 }
+
+schedHour OBJECT-TYPE
+ SYNTAX BITS {
+ h0(0), h1(1), h2(2), h3(3), h4(4),
+ h5(5), h6(6), h7(7), h8(8), h9(9),
+ h10(10), h11(11), h12(12), h13(13), h14(14),
+ h15(15), h16(16), h17(17), h18(18), h19(19),
+ h20(20), h21(21), h22(22), h23(23)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of hours within a day during which the scheduled
+ action should take place.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 8 }
+
+schedMinute OBJECT-TYPE
+ SYNTAX BITS {
+ m0(0), m1(1), m2(2), m3(3), m4(4),
+ m5(5), m6(6), m7(7), m8(8), m9(9),
+ m10(10), m11(11), m12(12), m13(13), m14(14),
+ m15(15), m16(16), m17(17), m18(18), m19(19),
+ m20(20), m21(21), m22(22), m23(23), m24(24),
+ m25(25), m26(26), m27(27), m28(28), m29(29),
+ m30(30), m31(31), m32(32), m33(33), m34(34),
+ m35(35), m36(36), m37(37), m38(38), m39(39),
+ m40(40), m41(41), m42(42), m43(43), m44(44),
+ m45(45), m46(46), m47(47), m48(48), m49(49),
+ m50(50), m51(51), m52(52), m53(53), m54(54),
+ m55(55), m56(56), m57(57), m58(58), m59(59)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The set of minutes within an hour when the scheduled action
+ should take place.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { {} }
+ ::= { schedEntry 9 }
+
+schedContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The context which contains the local MIB variable pointed
+ to by schedVariable."
+ DEFVAL { "" }
+ ::= { schedEntry 10 }
+
+schedVariable OBJECT-TYPE
+ SYNTAX VariablePointer
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An object identifier pointing to a local MIB variable
+ which resolves to an ASN.1 primitive type of INTEGER."
+ DEFVAL { zeroDotZero }
+ ::= { schedEntry 11 }
+
+schedValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value which is written to the MIB object pointed to by
+ schedVariable when the scheduler invokes an action. The
+ implementation shall enforce the use of access control
+ rules when performing the set operation on schedVariable.
+ This is accomplished by calling the isAccessAllowed abstract
+ service interface as defined in RFC 2571.
+
+ Note that an implementation may choose to issue an SNMP Set
+ message to the SNMP engine and leave the access control
+ decision to the normal message processing procedure."
+ DEFVAL { 0 }
+ ::= { schedEntry 12 }
+
+schedType OBJECT-TYPE
+ SYNTAX INTEGER {
+ periodic(1),
+ calendar(2),
+ oneshot(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of this schedule. The value periodic(1) indicates
+ that this entry specifies a periodic schedule. A periodic
+ schedule is defined by the value of schedInterval. The
+ values of schedWeekDay, schedMonth, schedDay, schedHour
+ and schedMinute are ignored.
+
+ The value calendar(2) indicates that this entry describes a
+ calendar schedule. A calendar schedule is defined by the
+ values of schedWeekDay, schedMonth, schedDay, schedHour and
+ schedMinute. The value of schedInterval is ignored. A
+ calendar schedule will trigger on all local times that
+ satisfy the bits set in schedWeekDay, schedMonth, schedDay,
+ schedHour and schedMinute.
+
+ The value oneshot(3) indicates that this entry describes a
+ one-shot schedule. A one-shot schedule is similar to a
+ calendar schedule with the additional feature that it
+ disables itself by changing in the `finished'
+ schedOperStatus once the schedule triggers an action.
+
+ Note that implementations which maintain a list of pending
+ activations must re-calculate them when this object is
+ changed."
+ DEFVAL { periodic }
+ ::= { schedEntry 13 }
+
+schedAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The desired state of the schedule."
+ DEFVAL { disabled }
+ ::= { schedEntry 14 }
+
+schedOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ enabled(1),
+ disabled(2),
+ finished(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of this schedule. The state
+ enabled(1) indicates this entry is active and that the
+ scheduler will invoke actions at appropriate times. The
+ disabled(2) state indicates that this entry is currently
+ inactive and ignored by the scheduler. The finished(3)
+ state indicates that the schedule has ended. Schedules
+ in the finished(3) state are ignored by the scheduler.
+ A one-shot schedule enters the finished(3) state when it
+ deactivates itself.
+
+ Note that the operational state must not be enabled(1)
+ when the schedRowStatus is not active."
+ ::= { schedEntry 15 }
+
+schedFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable counts the number of failures while invoking
+ the scheduled action. This counter at most increments once
+ for a triggered action."
+ ::= { schedEntry 16 }
+
+schedLastFailure OBJECT-TYPE
+ SYNTAX SnmpPduErrorStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The most recent error that occurred during the invocation of
+ a scheduled action. The value noError(0) is returned
+ if no errors have occurred yet."
+ DEFVAL { noError }
+ ::= { schedEntry 17 }
+
+schedLastFailed OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the most recent failure occurred.
+
+ The value '0000000000000000'H is returned if no failure
+ occurred since the last re-initialization of the scheduler."
+ DEFVAL { '0000000000000000'H }
+ ::= { schedEntry 18 }
+
+schedStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object defines whether this scheduled action is kept
+ in volatile storage and lost upon reboot or if this row is
+ backed up by non-volatile or permanent storage.
+
+ Conceptual rows having the value `permanent' must allow
+ write access to the columnar objects schedDescr,
+ schedInterval, schedContextName, schedVariable, schedValue,
+ and schedAdminStatus. If an implementation supports the
+ schedCalendarGroup, write access must be also allowed to
+ the columnar objects schedWeekDay, schedMonth, schedDay,
+ schedHour, schedMinute."
+ DEFVAL { volatile }
+ ::= { schedEntry 19 }
+
+schedRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this scheduled action. A control that allows
+ entries to be added and removed from this table.
+
+ Note that the operational state must change to enabled
+ when the administrative state is enabled and the row
+ status changes to active(1).
+
+ Attempts to destroy(6) a row or to set a row
+ notInService(2) while the operational state is enabled
+ result in inconsistentValue errors.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { schedEntry 20 }
+
+schedTriggers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable counts the number of attempts (either
+ successful or failed) to invoke the scheduled action."
+ ::= { schedEntry 21 }
+
+--
+-- Notifications that are emitted to indicate failures. The
+-- definition of schedTraps makes notification registrations
+-- reversible (see STD 58, RFC 2578).
+--
+
+schedTraps OBJECT IDENTIFIER ::= { schedNotifications 0 }
+
+schedActionFailure NOTIFICATION-TYPE
+ OBJECTS { schedLastFailure, schedLastFailed }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated whenever the invocation of a
+ scheduled action fails."
+ ::= { schedTraps 1 }
+
+-- conformance information
+
+schedCompliances OBJECT IDENTIFIER ::= { schedConformance 1 }
+schedGroups OBJECT IDENTIFIER ::= { schedConformance 2 }
+
+-- compliance statements
+
+schedCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the scheduling MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ schedGroup2, schedNotificationsGroup
+ }
+ GROUP schedCalendarGroup
+ DESCRIPTION
+ "The schedCalendarGroup is mandatory only for those
+ implementations that support calendar based schedules."
+ OBJECT schedType
+ DESCRIPTION
+ "The values calendar(2) or oneshot(3) are not valid for
+ implementations that do not implement the
+ schedCalendarGroup. Such an implementation must return
+ inconsistentValue error responses for attempts to set
+ schedAdminStatus to calendar(2) or oneshot(3)."
+ ::= { schedCompliances 2 }
+
+schedGroup2 OBJECT-GROUP
+ OBJECTS {
+ schedDescr, schedInterval, schedContextName,
+ schedVariable, schedValue, schedType,
+ schedAdminStatus, schedOperStatus, schedFailures,
+ schedLastFailure, schedLastFailed, schedStorageType,
+ schedRowStatus, schedTriggers
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing scheduling capabilities."
+ ::= { schedGroups 4 }
+
+schedCalendarGroup OBJECT-GROUP
+ OBJECTS {
+ schedLocalTime, schedWeekDay, schedMonth,
+ schedDay, schedHour, schedMinute
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing calendar based schedules."
+ ::= { schedGroups 2 }
+
+schedNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ schedActionFailure
+ }
+ STATUS current
+ DESCRIPTION
+ "The notifications emitted by the scheduler."
+ ::= { schedGroups 3 }
+
+--
+-- Deprecated compliance and conformance group definitions
+-- from RFC 2591.
+--
+
+schedCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the scheduling MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ schedGroup, schedNotificationsGroup
+ }
+
+ GROUP schedCalendarGroup
+ DESCRIPTION
+ "The schedCalendarGroup is mandatory only for those
+ implementations that support calendar based schedules."
+ OBJECT schedType
+ DESCRIPTION
+ "The values calendar(2) or oneshot(3) are not valid for
+ implementations that do not implement the
+ schedCalendarGroup. Such an implementation must return
+ inconsistentValue error responses for attempts to set
+ schedAdminStatus to calendar(2) or oneshot(3)."
+ ::= { schedCompliances 1 }
+
+schedGroup OBJECT-GROUP
+ OBJECTS {
+ schedDescr, schedInterval, schedContextName,
+ schedVariable, schedValue, schedType,
+ schedAdminStatus, schedOperStatus, schedFailures,
+ schedLastFailure, schedLastFailed, schedStorageType,
+ schedRowStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing scheduling capabilities."
+ ::= { schedGroups 1 }
+
+END
diff --git a/mibs/DISMAN-SCRIPT-MIB.txt b/mibs/DISMAN-SCRIPT-MIB.txt
new file mode 100644
index 00000000..834f3047
--- /dev/null
+++ b/mibs/DISMAN-SCRIPT-MIB.txt
@@ -0,0 +1,1764 @@
+DISMAN-SCRIPT-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ Integer32, Unsigned32, mib-2
+ FROM SNMPv2-SMI
+
+ RowStatus, TimeInterval, DateAndTime, StorageType, DisplayString
+ FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+scriptMIB MODULE-IDENTITY
+ LAST-UPDATED "200108210000Z"
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "WG EMail: disman@dorothy.bmc.com
+ Subscribe: disman-request@dorothy.bmc.com
+
+ Chair: Randy Presuhn
+ BMC Software, Inc.
+
+ Postal: Office 1-3141
+ 2141 North First Street
+ San Jose, California 95131
+ USA
+ EMail: rpresuhn@bmc.com
+ Phone: +1 408 546-1006
+
+ Editor: David B. Levi
+ Nortel Networks
+ Postal: 4401 Great America Parkway
+ Santa Clara, CA 95052-8185
+ USA
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 423 686 0432
+
+ Editor: Juergen Schoenwaelder
+ TU Braunschweig
+ Postal: Bueltenweg 74/75
+ 38106 Braunschweig
+ Germany
+ EMail: schoenw@ibr.cs.tu-bs.de
+ Phone: +49 531 391-3283"
+ DESCRIPTION
+ "This MIB module defines a set of objects that allow to
+ delegate management scripts to distributed managers."
+ REVISION "200108210000Z"
+ DESCRIPTION
+ "Revised version, published as RFC 3165.
+
+ This revision introduces several new objects: smScriptError,
+ smScriptLastChange, smLaunchError, smLaunchLastChange,
+ smLaunchRowExpireTime, smRunResultTime, and smRunErrorTime.
+
+ The following existing objects were updated: the maximum
+ value of smRunLifeTime now disables the timer, an
+ autostart value was added to the smLaunchAdminStatus
+ object, and a new expired state was added to the
+ smLaunchOperStatus object.
+
+ A new smScriptException notification has been added to
+ support runtime error notifications.
+
+ Created new conformance and compliance statements that
+ take care of the new objects and notifications.
+
+ Clarifications have been added in several places to remove
+ ambiguities or contradictions that were discovered and
+ reported by implementors."
+
+ REVISION "199902221800Z"
+ DESCRIPTION
+ "Initial version, published as RFC 2592."
+ ::= { mib-2 64 }
+
+--
+-- The groups defined within this MIB module:
+--
+
+smObjects OBJECT IDENTIFIER ::= { scriptMIB 1 }
+smNotifications OBJECT IDENTIFIER ::= { scriptMIB 2 }
+smConformance OBJECT IDENTIFIER ::= { scriptMIB 3 }
+
+--
+-- Script language and language extensions.
+--
+-- This group defines tables which list the languages and the
+-- language extensions supported by a Script MIB implementation.
+-- Languages are uniquely identified by object identifier values.
+--
+
+smLangTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmLangEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists supported script languages."
+ ::= { smObjects 1 }
+
+smLangEntry OBJECT-TYPE
+ SYNTAX SmLangEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular language."
+ INDEX { smLangIndex }
+ ::= { smLangTable 1 }
+
+SmLangEntry ::= SEQUENCE {
+ smLangIndex Integer32,
+ smLangLanguage OBJECT IDENTIFIER,
+ smLangVersion SnmpAdminString,
+ smLangVendor OBJECT IDENTIFIER,
+ smLangRevision SnmpAdminString,
+ smLangDescr SnmpAdminString
+}
+
+smLangIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this language entry.
+
+ The value is expected to remain constant at least from one
+ re-initialization of the entity's network management system
+ to the next re-initialization.
+
+ Note that the data type and the range of this object must
+ be consistent with the definition of smScriptLanguage."
+ ::= { smLangEntry 1 }
+
+smLangLanguage OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The globally unique identification of the language."
+ ::= { smLangEntry 2 }
+
+smLangVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the language. The zero-length string
+ shall be used if the language does not have a version
+ number.
+
+ It is suggested that the version number consist of one or
+ more decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smLangEntry 3 }
+
+smLangVendor OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An object identifier which identifies the vendor who
+ provides the implementation of the language. This object
+ identifier SHALL point to the object identifier directly
+ below the enterprise object identifier {1 3 6 1 4 1}
+ allocated for the vendor. The value must be the object
+ identifier {0 0} if the vendor is not known."
+ ::= { smLangEntry 4 }
+
+smLangRevision OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the language implementation.
+ The value of this object must be an empty string if
+ version number of the implementation is unknown.
+
+ It is suggested that the value consist of one or more
+ decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smLangEntry 5 }
+
+smLangDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the language."
+ ::= { smLangEntry 6 }
+
+smExtsnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmExtsnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists supported language extensions."
+ ::= { smObjects 2 }
+
+smExtsnEntry OBJECT-TYPE
+ SYNTAX SmExtsnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular language extension."
+ INDEX { smLangIndex, smExtsnIndex }
+ ::= { smExtsnTable 1 }
+
+SmExtsnEntry ::= SEQUENCE {
+ smExtsnIndex Integer32,
+ smExtsnExtension OBJECT IDENTIFIER,
+ smExtsnVersion SnmpAdminString,
+ smExtsnVendor OBJECT IDENTIFIER,
+ smExtsnRevision SnmpAdminString,
+ smExtsnDescr SnmpAdminString
+}
+
+smExtsnIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this language extension entry.
+
+ The value is expected to remain constant at least from one
+ re-initialization of the entity's network management system
+ to the next re-initialization."
+ ::= { smExtsnEntry 1}
+
+smExtsnExtension OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The globally unique identification of the language
+ extension."
+ ::= { smExtsnEntry 2 }
+
+smExtsnVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the language extension.
+ It is suggested that the version number consist of one or
+ more decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smExtsnEntry 3 }
+
+smExtsnVendor OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An object identifier which identifies the vendor who
+ provides the implementation of the extension. The
+ object identifier value should point to the OID node
+ directly below the enterprise OID {1 3 6 1 4 1}
+ allocated for the vendor. The value must by the object
+ identifier {0 0} if the vendor is not known."
+ ::= { smExtsnEntry 4 }
+
+smExtsnRevision OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version number of the extension implementation.
+ The value of this object must be an empty string if
+ version number of the implementation is unknown.
+
+ It is suggested that the value consist of one or more
+ decimal numbers separated by dots, where the first
+ number is called the major version number."
+ ::= { smExtsnEntry 5 }
+
+smExtsnDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the language extension."
+ ::= { smExtsnEntry 6 }
+
+--
+-- Scripts known by the Script MIB implementation.
+--
+-- This group defines a table which lists all known scripts.
+-- Scripts can be added and removed through manipulation of the
+-- smScriptTable.
+--
+
+smScriptObjects OBJECT IDENTIFIER ::= { smObjects 3 }
+
+smScriptTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmScriptEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists and describes locally known scripts."
+ ::= { smScriptObjects 1 }
+
+smScriptEntry OBJECT-TYPE
+ SYNTAX SmScriptEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular script. Every script that
+ is stored in non-volatile memory is required to appear in
+ this script table."
+ INDEX { smScriptOwner, smScriptName }
+ ::= { smScriptTable 1 }
+
+SmScriptEntry ::= SEQUENCE {
+ smScriptOwner SnmpAdminString,
+ smScriptName SnmpAdminString,
+ smScriptDescr SnmpAdminString,
+ smScriptLanguage Integer32,
+ smScriptSource DisplayString,
+ smScriptAdminStatus INTEGER,
+ smScriptOperStatus INTEGER,
+ smScriptStorageType StorageType,
+ smScriptRowStatus RowStatus,
+ smScriptError SnmpAdminString,
+ smScriptLastChange DateAndTime
+}
+
+smScriptOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The manager who owns this row in the smScriptTable."
+ ::= { smScriptEntry 1 }
+
+smScriptName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally-unique, administratively assigned name for this
+ script. This object allows an smScriptOwner to have multiple
+ entries in the smScriptTable.
+
+ This value of this object may be used to derive the name
+ (e.g. a file name) which is used by the Script MIB
+ implementation to access the script in non-volatile
+ storage. The details of this mapping are implementation
+ specific. However, the mapping needs to ensure that scripts
+ created by different owners with the same script name do not
+ map to the same name in non-volatile storage."
+ ::= { smScriptEntry 2 }
+
+smScriptDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A description of the purpose of the script."
+ ::= { smScriptEntry 3 }
+
+smScriptLanguage OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object type identifies an entry in the
+ smLangTable which is used to execute this script.
+ The special value 0 may be used by hard-wired scripts
+ that can not be modified and that are executed by
+ internal functions.
+
+ Set requests to change this object are invalid if the
+ value of smScriptOperStatus is `enabled' or `compiling'
+ and will result in an inconsistentValue error.
+
+ Note that the data type and the range of this object must
+ be consistent with the definition of smLangIndex."
+ ::= { smScriptEntry 4 }
+
+smScriptSource OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object either contains a reference to the script
+ source or an empty string. A reference must be given
+ in the form of a Uniform Resource Locator (URL) as
+ defined in RFC 2396. The allowed character sets and the
+ encoding rules defined in RFC 2396 section 2 apply.
+
+ When the smScriptAdminStatus object is set to `enabled',
+ the Script MIB implementation will `pull' the script
+ source from the URL contained in this object if the URL
+ is not empty.
+
+ An empty URL indicates that the script source is loaded
+ from local storage. The script is read from the smCodeTable
+ if the value of smScriptStorageType is volatile. Otherwise,
+ the script is read from non-volatile storage.
+
+ Note: This document does not mandate implementation of any
+ specific URL scheme. An attempt to load a script from a
+ nonsupported URL scheme will cause the smScriptOperStatus
+ to report an `unknownProtocol' error.
+
+ Set requests to change this object are invalid if the
+ value of smScriptOperStatus is `enabled', `editing',
+ `retrieving' or `compiling' and will result in an
+ inconsistentValue error."
+ DEFVAL { ''H }
+ ::= { smScriptEntry 5 }
+
+smScriptAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ editing(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the desired status of
+ the script. See the definition of smScriptOperStatus for
+ a description of the values.
+
+ When the smScriptAdminStatus object is set to `enabled' and
+ the smScriptOperStatus is `disabled' or one of the error
+ states, the Script MIB implementation will `pull' the script
+ source from the URL contained in the smScriptSource object
+ if the URL is not empty."
+ DEFVAL { disabled }
+ ::= { smScriptEntry 6 }
+
+smScriptOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ editing(3),
+ retrieving(4),
+ compiling(5),
+ noSuchScript(6),
+ accessDenied(7),
+ wrongLanguage(8),
+ wrongVersion(9),
+ compilationFailed(10),
+ noResourcesLeft(11),
+ unknownProtocol(12),
+ protocolFailure(13),
+ genericError(14)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The actual status of the script in the runtime system. The
+ value of this object is only meaningful when the value of
+ the smScriptRowStatus object is `active'.
+
+ The smScriptOperStatus object may have the following values:
+
+ - `enabled' indicates that the script is available and can
+ be started by a launch table entry.
+
+ - `disabled' indicates that the script can not be used.
+
+ - `editing' indicates that the script can be modified in the
+ smCodeTable.
+
+ - `retrieving' indicates that the script is currently being
+ loaded from non-volatile storage or a remote system.
+
+ - `compiling' indicates that the script is currently being
+ compiled by the runtime system.
+
+ - `noSuchScript' indicates that the script does not exist
+ at the smScriptSource.
+
+ - `accessDenied' indicates that the script can not be loaded
+ from the smScriptSource due to a lack of permissions.
+
+ - `wrongLanguage' indicates that the script can not be
+ loaded from the smScriptSource because of a language
+ mismatch.
+
+ - `wrongVersion' indicates that the script can not be loaded
+ from the smScriptSource because of a language version
+ mismatch.
+
+ - `compilationFailed' indicates that the compilation failed.
+
+ - `noResourcesLeft' indicates that the runtime system does
+ not have enough resources to load the script.
+
+ - `unknownProtocol' indicates that the script could not be
+ loaded from the smScriptSource because the requested
+ protocol is not supported.
+
+ - `protocolFailure' indicates that the script could not be
+ loaded from the smScriptSource because of a protocol
+ failure.
+
+ - `genericError' indicates that the script could not be
+
+ loaded due to an error condition not listed above.
+
+ The `retrieving' and `compiling' states are transient states
+ which will either lead to one of the error states or the
+ `enabled' state. The `disabled' and `editing' states are
+ administrative states which are only reached by explicit
+ management operations.
+
+ All launch table entries that refer to this script table
+ entry shall have an smLaunchOperStatus value of `disabled'
+ when the value of this object is not `enabled'."
+ DEFVAL { disabled }
+ ::= { smScriptEntry 7 }
+
+smScriptStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object defines whether this row and the script
+ controlled by this row are kept in volatile storage and
+ lost upon reboot or if this row is backed up by
+ non-volatile or permanent storage.
+
+ The storage type of this row always complies with the value
+ of this entry if the value of the corresponding RowStatus
+ object is `active'.
+
+ However, the storage type of the script controlled by this
+ row may be different, if the value of this entry is
+ `non-volatile'. The script controlled by this row is written
+ into local non-volatile storage if the following condition
+ becomes true:
+
+ (a) the URL contained in the smScriptSource object is empty
+ and
+ (b) the smScriptStorageType is `nonVolatile'
+ and
+ (c) the smScriptOperStatus is `enabled'
+
+ Setting this object to `volatile' removes a script from
+ non-volatile storage if the script controlled by this row
+ has been in non-volatile storage before. Attempts to set
+ this object to permanent will always fail with an
+ inconsistentValue error.
+
+ The value of smScriptStorageType is only meaningful if the
+ value of the corresponding RowStatus object is `active'.
+
+ If smScriptStorageType has the value permanent(4), then all
+ objects whose MAX-ACCESS value is read-create must be
+ writable, with the exception of the smScriptStorageType and
+ smScriptRowStatus objects, which shall be read-only."
+ DEFVAL { volatile }
+ ::= { smScriptEntry 8 }
+
+smScriptRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control that allows entries to be added and removed from
+ this table.
+
+ Changing the smScriptRowStatus from `active' to
+ `notInService' will remove the associated script from the
+ runtime system.
+
+ Deleting conceptual rows from this table may affect the
+ deletion of other resources associated with this row. For
+ example, a script stored in non-volatile storage may be
+ removed from non-volatile storage.
+
+ An entry may not exist in the `active' state unless all
+ required objects in the entry have appropriate values. Rows
+ that are not complete or not in service are not known by the
+ script runtime system.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ while the smScriptOperStatus is `enabled' will result in an
+ inconsistentValue error.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ where the value of the smScriptStorageType object is
+ `permanent' or `readOnly' will result in an
+ inconsistentValue error.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { smScriptEntry 9 }
+
+smScriptError OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains a descriptive error message if the
+
+ transition into the operational status `enabled' failed.
+ Implementations must reset the error message to a
+ zero-length string when a new attempt to change the
+ script status to `enabled' is started."
+ DEFVAL { ''H }
+ ::= { smScriptEntry 10 }
+
+smScriptLastChange OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when this script table entry was last
+ modified. The value '0000000000000000'H is returned if
+ the script table entry has not yet been modified.
+
+ Note that the resetting of smScriptError is not considered
+ a change of the script table entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smScriptEntry 11 }
+
+--
+-- Access to script code via SNMP
+--
+-- The smCodeTable allows script code to be read and modified
+-- via SNMP.
+--
+
+smCodeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmCodeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains the script code for scripts that are
+ written via SNMP write operations."
+ ::= { smScriptObjects 2 }
+
+smCodeEntry OBJECT-TYPE
+ SYNTAX SmCodeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular fragment of a script."
+ INDEX { smScriptOwner, smScriptName, smCodeIndex }
+ ::= { smCodeTable 1 }
+
+SmCodeEntry ::= SEQUENCE {
+ smCodeIndex Unsigned32,
+ smCodeText OCTET STRING,
+ smCodeRowStatus RowStatus
+}
+
+smCodeIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value identifying this code fragment."
+ ::= { smCodeEntry 1 }
+
+smCodeText OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..1024))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The code that makes up a fragment of a script. The format
+ of this code fragment depends on the script language which
+ is identified by the associated smScriptLanguage object."
+ ::= { smCodeEntry 2 }
+
+smCodeRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control that allows entries to be added and removed from
+ this table.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { smCodeEntry 3 }
+
+--
+-- Script execution.
+--
+-- This group defines tables which allow script execution to be
+-- initiated, suspended, resumed, and terminated. It also provides
+-- a mechanism for keeping a history of recent script executions
+-- and their results.
+--
+
+smRunObjects OBJECT IDENTIFIER ::= { smObjects 4 }
+
+smLaunchTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmLaunchEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists and describes scripts that are ready
+ to be executed together with their parameters."
+ ::= { smRunObjects 1 }
+
+smLaunchEntry OBJECT-TYPE
+ SYNTAX SmLaunchEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular executable script."
+ INDEX { smLaunchOwner, smLaunchName }
+ ::= { smLaunchTable 1 }
+
+SmLaunchEntry ::= SEQUENCE {
+ smLaunchOwner SnmpAdminString,
+ smLaunchName SnmpAdminString,
+ smLaunchScriptOwner SnmpAdminString,
+ smLaunchScriptName SnmpAdminString,
+ smLaunchArgument OCTET STRING,
+ smLaunchMaxRunning Unsigned32,
+ smLaunchMaxCompleted Unsigned32,
+ smLaunchLifeTime TimeInterval,
+ smLaunchExpireTime TimeInterval,
+ smLaunchStart Integer32,
+ smLaunchControl INTEGER,
+ smLaunchAdminStatus INTEGER,
+ smLaunchOperStatus INTEGER,
+ smLaunchRunIndexNext Integer32,
+ smLaunchStorageType StorageType,
+ smLaunchRowStatus RowStatus,
+ smLaunchError SnmpAdminString,
+ smLaunchLastChange DateAndTime,
+ smLaunchRowExpireTime TimeInterval
+}
+
+smLaunchOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The manager who owns this row in the smLaunchTable. Every
+ instance of a running script started from a particular entry
+ in the smLaunchTable (i.e. entries in the smRunTable) will
+ be owned by the same smLaunchOwner used to index the entry
+ in the smLaunchTable. This owner is not necessarily the same
+ as the owner of the script itself (smLaunchScriptOwner)."
+ ::= { smLaunchEntry 1 }
+
+smLaunchName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally-unique, administratively assigned name for this
+ launch table entry. This object allows an smLaunchOwner to
+ have multiple entries in the smLaunchTable. The smLaunchName
+ is an arbitrary name that must be different from any other
+ smLaunchTable entries with the same smLaunchOwner but can be
+ the same as other entries in the smLaunchTable with
+ different smLaunchOwner values. Note that the value of
+ smLaunchName is not related in any way to the name of the
+ script being launched."
+ ::= { smLaunchEntry 2 }
+
+smLaunchScriptOwner OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object in combination with the value of
+ smLaunchScriptName identifies the script that can be
+ launched from this smLaunchTable entry. Attempts to write
+ this object will fail with an inconsistentValue error if
+ the value of smLaunchOperStatus is `enabled'."
+ ::= { smLaunchEntry 3 }
+
+smLaunchScriptName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object in combination with the value of
+ the smLaunchScriptOwner identifies the script that can be
+ launched from this smLaunchTable entry. The zero-length
+ string may be used to point to a non-existing script.
+
+ Attempts to write this object will fail with an
+ inconsistentValue error if the value of smLaunchOperStatus
+ is `enabled'."
+ DEFVAL { ''H }
+ ::= { smLaunchEntry 4 }
+
+smLaunchArgument OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The argument supplied to the script. When a script is
+ invoked, the value of this object is used to initialize
+ the smRunArgument object."
+ DEFVAL { ''H }
+ ::= { smLaunchEntry 5 }
+
+smLaunchMaxRunning OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrently running scripts that may
+ be invoked from this entry in the smLaunchTable. Lowering
+ the current value of this object does not affect any scripts
+ that are already executing."
+ DEFVAL { 1 }
+ ::= { smLaunchEntry 6 }
+
+smLaunchMaxCompleted OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of finished scripts invoked from this
+ entry in the smLaunchTable allowed to be retained in the
+ smRunTable. Whenever the value of this object is changed
+ and whenever a script terminates, entries in the smRunTable
+ are deleted if necessary until the number of completed
+ scripts is smaller than the value of this object. Scripts
+ whose smRunEndTime value indicates the oldest completion
+ time are deleted first."
+ DEFVAL { 1 }
+ ::= { smLaunchEntry 7 }
+
+smLaunchLifeTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The default maximum amount of time a script launched
+ from this entry may run. The value of this object is used
+ to initialize the smRunLifeTime object when a script is
+ launched. Changing the value of an smLaunchLifeTime
+ instance does not affect scripts previously launched from
+
+ this entry."
+ DEFVAL { 360000 }
+ ::= { smLaunchEntry 8 }
+
+smLaunchExpireTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The default maximum amount of time information about a
+ script launched from this entry is kept in the smRunTable
+ after the script has completed execution. The value of
+ this object is used to initialize the smRunExpireTime
+ object when a script is launched. Changing the value of an
+ smLaunchExpireTime instance does not affect scripts
+ previously launched from this entry."
+ DEFVAL { 360000 }
+ ::= { smLaunchEntry 9 }
+
+smLaunchStart OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object is used to start the execution of scripts.
+ When retrieved, the value will be the value of smRunIndex
+ for the last script that started execution by manipulating
+ this object. The value will be zero if no script started
+ execution yet.
+
+ A script is started by setting this object to an unused
+ smRunIndex value. A new row in the smRunTable will be
+ created which is indexed by the value supplied by the
+ set-request in addition to the value of smLaunchOwner and
+ smLaunchName. An unused value can be obtained by reading
+ the smLaunchRunIndexNext object.
+
+ Setting this object to the special value 0 will start
+ the script with a self-generated smRunIndex value. The
+ consequence is that the script invoker has no reliable
+ way to determine the smRunIndex value for this script
+ invocation and that the invoker has therefore no way
+ to obtain the results from this script invocation. The
+ special value 0 is however useful for scheduled script
+ invocations.
+
+ If this object is set, the following checks must be
+
+ performed:
+
+ 1) The value of the smLaunchOperStatus object in this
+ entry of the smLaunchTable must be `enabled'.
+ 2) The values of smLaunchScriptOwner and
+ smLaunchScriptName of this row must identify an
+ existing entry in the smScriptTable.
+ 3) The value of smScriptOperStatus of this entry must
+ be `enabled'.
+ 4) The principal performing the set operation must have
+ read access to the script. This must be checked by
+ calling the isAccessAllowed abstract service interface
+ defined in RFC 2271 on the row in the smScriptTable
+ identified by smLaunchScriptOwner and smLaunchScriptName.
+ The isAccessAllowed abstract service interface must be
+ called on all columnar objects in the smScriptTable with
+ a MAX-ACCESS value different than `not-accessible'. The
+ test fails as soon as a call indicates that access is
+ not allowed.
+ 5) If the value provided by the set operation is not 0,
+ a check must be made that the value is currently not
+ in use. Otherwise, if the value provided by the set
+ operation is 0, a suitable unused value must be
+ generated.
+ 6) The number of currently executing scripts invoked
+ from this smLaunchTable entry must be less than
+ smLaunchMaxRunning.
+
+ Attempts to start a script will fail with an
+ inconsistentValue error if one of the checks described
+ above fails.
+
+ Otherwise, if all checks have been passed, a new entry
+ in the smRunTable will be created indexed by smLaunchOwner,
+ smLaunchName and the new value for smRunIndex. The value
+ of smLaunchArgument will be copied into smRunArgument,
+ the value of smLaunchLifeTime will be copied to
+ smRunLifeTime, and the value of smLaunchExpireTime
+ will be copied to smRunExpireTime.
+
+ The smRunStartTime will be set to the current time and
+ the smRunState will be set to `initializing' before the
+ script execution is initiated in the appropriate runtime
+ system.
+
+ Note that the data type and the range of this object must
+ be consistent with the smRunIndex object. Since this
+ object might be written from the scheduling MIB, the
+
+ data type Integer32 rather than Unsigned32 is used."
+ DEFVAL { 0 }
+ ::= { smLaunchEntry 10 }
+
+smLaunchControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ abort(1),
+ suspend(2),
+ resume(3),
+ nop(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object is used to request a state change for all
+ running scripts in the smRunTable that were started from
+ this row in the smLaunchTable.
+
+ Setting this object to abort(1), suspend(2) or resume(3)
+ will set the smRunControl object of all applicable rows
+ in the smRunTable to abort(1), suspend(2) or resume(3)
+ respectively. The phrase `applicable rows' means the set of
+ rows which were created from this entry in the smLaunchTable
+ and whose value of smRunState allows the corresponding
+ state change as described in the definition of the
+ smRunControl object. Setting this object to nop(4) has no
+ effect.
+
+ Attempts to set this object lead to an inconsistentValue
+ error only if all implicated sets on all the applicable
+ rows lead to inconsistentValue errors. It is not allowed
+ to return an inconsistentValue error if at least one state
+ change on one of the applicable rows was successful."
+ DEFVAL { nop }
+ ::= { smLaunchEntry 11 }
+
+smLaunchAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ autostart(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the desired status of
+ this launch table entry. The values enabled(1) and
+ autostart(3) both indicate that the launch table entry
+
+ should transition into the operational enabled(1) state as
+ soon as the associated script table entry is enabled(1).
+
+ The value autostart(3) further indicates that the script
+ is started automatically by conceptually writing the
+ value 0 into the associated smLaunchStart object during
+ the transition from the `disabled' into the `enabled'
+ operational state. This is useful for scripts that are
+ to be launched on system start-up."
+ DEFVAL { disabled }
+ ::= { smLaunchEntry 12 }
+
+smLaunchOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ expired(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the actual status of
+ this launch table entry. The smLaunchOperStatus object
+ may have the following values:
+
+ - `enabled' indicates that the launch table entry is
+ available and can be used to start scripts.
+
+ - `disabled' indicates that the launch table entry can
+ not be used to start scripts.
+
+ - `expired' indicates that the launch table entry can
+ not be used to start scripts and will disappear as
+ soon as all smRunTable entries associated with this
+ launch table entry have disappeared.
+
+ The value `enabled' requires that the smLaunchRowStatus
+ object is active. The value `disabled' requires that there
+ are no entries in the smRunTable associated with this
+ smLaunchTable entry."
+ DEFVAL { disabled }
+ ::= { smLaunchEntry 13 }
+
+smLaunchRunIndexNext OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable is used for creating rows in the smRunTable.
+ The value of this variable is a currently unused value
+ for smRunIndex, which can be written into the smLaunchStart
+ object associated with this row to launch a script.
+
+ The value returned when reading this variable must be unique
+ for the smLaunchOwner and smLaunchName associated with this
+ row. Subsequent attempts to read this variable must return
+ different values.
+
+ This variable will return the special value 0 if no new rows
+ can be created.
+
+ Note that the data type and the range of this object must be
+ consistent with the definition of smRunIndex."
+ ::= { smLaunchEntry 14 }
+
+smLaunchStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object defines if this row is kept in volatile storage
+ and lost upon reboot or if this row is backed up by stable
+ storage.
+
+ The value of smLaunchStorageType is only meaningful if the
+ value of the corresponding RowStatus object is active.
+
+ If smLaunchStorageType has the value permanent(4), then all
+ objects whose MAX-ACCESS value is read-create must be
+ writable, with the exception of the smLaunchStorageType and
+ smLaunchRowStatus objects, which shall be read-only."
+ DEFVAL { volatile }
+ ::= { smLaunchEntry 15 }
+
+smLaunchRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A control that allows entries to be added and removed from
+ this table.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ while the smLaunchOperStatus is `enabled' will result in
+ an inconsistentValue error.
+
+ Attempts to `destroy' a row or to set a row `notInService'
+ where the value of the smLaunchStorageType object is
+ `permanent' or `readOnly' will result in an
+ inconsistentValue error.
+
+ The value of this object has no effect on whether other
+ objects in this conceptual row can be modified."
+ ::= { smLaunchEntry 16 }
+
+smLaunchError OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains a descriptive error message if an
+ attempt to launch a script fails. Implementations must reset
+ the error message to a zero-length string when a new attempt
+ to launch a script is started."
+ DEFVAL { ''H }
+ ::= { smLaunchEntry 17 }
+
+smLaunchLastChange OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when this launch table entry was last
+ modified. The value '0000000000000000'H is returned if
+ the launch table entry has not yet been modified.
+
+ Note that a change of smLaunchStart, smLaunchControl,
+ smLaunchRunIndexNext, smLaunchRowExpireTime, or the
+ resetting of smLaunchError is not considered a change
+ of this launch table entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smLaunchEntry 18 }
+
+smLaunchRowExpireTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object specifies how long this row remains
+ in the `enabled' or `disabled' operational state. The value
+ reported by this object ticks backwards. When the value
+ reaches 0, it stops ticking backward and the row is
+ deleted if there are no smRunTable entries associated with
+
+ this smLaunchTable entry. Otherwise, the smLaunchOperStatus
+ changes to `expired' and the row deletion is deferred
+ until there are no smRunTable entries associated with this
+ smLaunchTable entry.
+
+ The smLaunchRowExpireTime will not tick backwards if it is
+ set to its maximum value (2147483647). In other words,
+ setting this object to its maximum value turns the timer
+ off.
+
+ The value of this object may be set in order to increase
+ or reduce the remaining time that the launch table entry
+ may be used. Setting the value to 0 will cause an immediate
+ row deletion or transition into the `expired' operational
+ state.
+
+ It is not possible to set this object while the operational
+ status is `expired'. Attempts to modify this object while
+ the operational status is `expired' leads to an
+ inconsistentValue error.
+
+ Note that the timer ticks backwards independent of the
+ operational state of the launch table entry."
+ DEFVAL { 2147483647 }
+ ::= { smLaunchEntry 19 }
+
+smRunTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table lists and describes scripts that are currently
+ running or have been running in the past."
+ ::= { smRunObjects 2 }
+
+smRunEntry OBJECT-TYPE
+ SYNTAX SmRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry describing a particular running or finished
+ script."
+ INDEX { smLaunchOwner, smLaunchName, smRunIndex }
+ ::= { smRunTable 1 }
+
+SmRunEntry ::= SEQUENCE {
+ smRunIndex Integer32,
+ smRunArgument OCTET STRING,
+ smRunStartTime DateAndTime,
+ smRunEndTime DateAndTime,
+ smRunLifeTime TimeInterval,
+ smRunExpireTime TimeInterval,
+ smRunExitCode INTEGER,
+ smRunResult OCTET STRING,
+ smRunControl INTEGER,
+ smRunState INTEGER,
+ smRunError SnmpAdminString,
+ smRunResultTime DateAndTime,
+ smRunErrorTime DateAndTime
+}
+
+smRunIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this running or finished script. This value must be
+ unique for all rows in the smRunTable with the same
+ smLaunchOwner and smLaunchName.
+
+ Note that the data type and the range of this object must
+ be consistent with the definition of smLaunchRunIndexNext
+ and smLaunchStart."
+ ::= { smRunEntry 1 }
+
+smRunArgument OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The argument supplied to the script when it started."
+ DEFVAL { ''H }
+ ::= { smRunEntry 2 }
+
+smRunStartTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the execution started. The value
+ '0000000000000000'H is returned if the script has not
+ started yet."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 3 }
+
+smRunEndTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the execution terminated. The value
+ '0000000000000000'H is returned if the script has not
+ terminated yet."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 4 }
+
+smRunLifeTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object specifies how long the script can execute.
+ This object returns the remaining time that the script
+ may run. The object is initialized with the value of the
+ associated smLaunchLifeTime object and ticks backwards.
+ The script is aborted immediately when the value reaches 0.
+
+ The value of this object may be set in order to increase or
+ reduce the remaining time that the script may run. Setting
+ this value to 0 will abort script execution immediately,
+ and, if the value of smRunExpireTime is also 0, will remove
+ this entry from the smRunTable once it has terminated.
+
+ If smRunLifeTime is set to its maximum value (2147483647),
+ either by a set operation or by its initialization from the
+ smLaunchLifeTime object, then it will not tick backwards.
+ A running script with a maximum smRunLifeTime value will
+ thus never be terminated with a `lifeTimeExceeded' exit
+ code.
+
+ The value of smRunLifeTime reflects the real-time execution
+ time as seen by the outside world. The value of this object
+ will always be 0 for a script that finished execution, that
+ is smRunState has the value `terminated'.
+
+ The value of smRunLifeTime does not change while a script
+ is suspended, that is smRunState has the value `suspended'.
+ Note that this does not affect set operations. It is legal
+ to modify smRunLifeTime via set operations while a script
+ is suspended."
+ ::= { smRunEntry 5 }
+
+smRunExpireTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ UNITS "centi-seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of this object specifies how long this row can
+ exist in the smRunTable after the script has terminated.
+ This object returns the remaining time that the row may
+ exist before it is aged out. The object is initialized with
+ the value of the associated smLaunchExpireTime object and
+ ticks backwards. The entry in the smRunTable is destroyed
+ when the value reaches 0 and the smRunState has the value
+ `terminated'.
+
+ The value of this object may be set in order to increase or
+ reduce the remaining time that the row may exist. Setting
+ the value to 0 will destroy this entry as soon as the
+ smRunState has the value `terminated'."
+ ::= { smRunEntry 6 }
+
+smRunExitCode OBJECT-TYPE
+ SYNTAX INTEGER {
+ noError(1),
+ halted(2),
+ lifeTimeExceeded(3),
+ noResourcesLeft(4),
+ languageError(5),
+ runtimeError(6),
+ invalidArgument(7),
+ securityViolation(8),
+ genericError(9)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the reason why a
+ script finished execution. The smRunExitCode code may have
+ one of the following values:
+
+ - `noError', which indicates that the script completed
+ successfully without errors;
+
+ - `halted', which indicates that the script was halted
+ by a request from an authorized manager;
+
+ - `lifeTimeExceeded', which indicates that the script
+ exited because a time limit was exceeded;
+
+ - `noResourcesLeft', which indicates that the script
+ exited because it ran out of resources (e.g. memory);
+
+ - `languageError', which indicates that the script exited
+ because of a language error (e.g. a syntax error in an
+ interpreted language);
+
+ - `runtimeError', which indicates that the script exited
+ due to a runtime error (e.g. a division by zero);
+
+ - `invalidArgument', which indicates that the script could
+ not be run because of invalid script arguments;
+
+ - `securityViolation', which indicates that the script
+ exited due to a security violation;
+
+ - `genericError', which indicates that the script exited
+ for an unspecified reason.
+
+ If the script has not yet begun running, or is currently
+ running, the value will be `noError'."
+ DEFVAL { noError }
+ ::= { smRunEntry 7 }
+
+smRunResult OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The result value produced by the running script. Note that
+ the result may change while the script is executing."
+ DEFVAL { ''H }
+ ::= { smRunEntry 8 }
+
+smRunControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ abort(1),
+ suspend(2),
+ resume(3),
+ nop(4)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the desired status of the
+ script execution defined by this row.
+
+ Setting this object to `abort' will abort execution if the
+
+ value of smRunState is `initializing', `executing',
+ `suspending', `suspended' or `resuming'. Setting this object
+ to `abort' when the value of smRunState is `aborting' or
+ `terminated', or if the implementation can determine that
+ the attempt to abort the execution would fail, will result
+ in an inconsistentValue error.
+
+ Setting this object to `suspend' will suspend execution
+ if the value of smRunState is `executing'. Setting this
+ object to `suspend' will cause an inconsistentValue error
+ if the value of smRunState is not `executing' or if the
+ implementation can determine that the attempt to suspend
+ the execution would fail.
+
+ Setting this object to `resume' will resume execution
+ if the value of smRunState is `suspending' or
+ `suspended'. Setting this object to `resume' will cause an
+ inconsistentValue error if the value of smRunState is
+ not `suspended' or if the implementation can determine
+ that the attempt to resume the execution would fail.
+
+ Setting this object to nop(4) has no effect."
+ DEFVAL { nop }
+ ::= { smRunEntry 9 }
+
+smRunState OBJECT-TYPE
+ SYNTAX INTEGER {
+ initializing(1),
+ executing(2),
+ suspending(3),
+ suspended(4),
+ resuming(5),
+ aborting(6),
+ terminated(7)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the script's execution
+ state. If the script has been invoked but has not yet
+ begun execution, the value will be `initializing'. If the
+ script is running, the value will be `executing'.
+
+ A running script which received a request to suspend
+ execution first transitions into a temporary `suspending'
+ state. The temporary `suspending' state changes to
+ `suspended' when the script has actually been suspended. The
+ temporary `suspending' state changes back to `executing' if
+
+ the attempt to suspend the running script fails.
+
+ A suspended script which received a request to resume
+ execution first transitions into a temporary `resuming'
+ state. The temporary `resuming' state changes to `running'
+ when the script has actually been resumed. The temporary
+ `resuming' state changes back to `suspended' if the attempt
+ to resume the suspended script fails.
+
+ A script which received a request to abort execution but
+ which is still running first transitions into a temporary
+ `aborting' state.
+
+ A script which has finished its execution is `terminated'."
+ ::= { smRunEntry 10 }
+
+smRunError OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains a descriptive error message if the
+ script startup or execution raised an abnormal condition.
+ An implementation must store a descriptive error message
+ in this object if the script exits with the smRunExitCode
+ `genericError'."
+ DEFVAL { ''H }
+ ::= { smRunEntry 11 }
+
+smRunResultTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the smRunResult was last updated.
+ The value '0000000000000000'H is returned if smRunResult
+ has not yet been updated after the creation of this
+ smRunTable entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 12 }
+
+smRunErrorTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the smRunError was last updated.
+ The value '0000000000000000'H is returned if smRunError
+
+ has not yet been updated after the creation of this
+ smRunTable entry."
+ DEFVAL { '0000000000000000'H }
+ ::= { smRunEntry 13 }
+
+--
+-- Notifications. The definition of smTraps makes notification
+-- registrations reversible (see STD 58, RFC 2578).
+--
+
+smTraps OBJECT IDENTIFIER ::= { smNotifications 0 }
+
+smScriptAbort NOTIFICATION-TYPE
+ OBJECTS { smRunExitCode, smRunEndTime, smRunError }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated whenever a running script
+ terminates with an smRunExitCode unequal to `noError'."
+ ::= { smTraps 1 }
+
+smScriptResult NOTIFICATION-TYPE
+ OBJECTS { smRunResult }
+ STATUS current
+ DESCRIPTION
+ "This notification can be used by scripts to notify other
+ management applications about results produced by the
+ script.
+
+ This notification is not automatically generated by the
+ Script MIB implementation. It is the responsibility of
+ the executing script to emit this notification where it
+ is appropriate to do so."
+ ::= { smTraps 2 }
+
+smScriptException NOTIFICATION-TYPE
+ OBJECTS { smRunError }
+ STATUS current
+ DESCRIPTION
+ "This notification can be used by scripts to notify other
+ management applications about script errors.
+
+ This notification is not automatically generated by the
+ Script MIB implementation. It is the responsibility of
+ the executing script or the runtime system to emit this
+ notification where it is appropriate to do so."
+ ::= { smTraps 3 }
+
+-- conformance information
+
+smCompliances OBJECT IDENTIFIER ::= { smConformance 1 }
+smGroups OBJECT IDENTIFIER ::= { smConformance 2 }
+
+-- compliance statements
+
+smCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the Script MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ smLanguageGroup, smScriptGroup2, smLaunchGroup2,
+ smRunGroup2, smNotificationsGroup2
+ }
+ GROUP smCodeGroup
+ DESCRIPTION
+ "The smCodeGroup is mandatory only for those implementations
+ that support the downloading of scripts via SNMP."
+ OBJECT smScriptSource
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The smScriptSource object is read-only for implementations
+ that are not able to download script code from a URL."
+ OBJECT smCodeText
+ DESCRIPTION
+ "A compliant implementation need only support write access to
+ the smCodeText object only during row creation."
+ OBJECT smLaunchArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smLaunchArgument of 255 octets."
+ OBJECT smRunArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunArgument of 255 octets."
+ OBJECT smRunResult
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunResult of 255 octets."
+ OBJECT smRunState
+ DESCRIPTION
+ "A compliant implementation does not have to support script
+ suspension and the smRunState `suspended'. Such an
+ implementation will change into the `suspending' state
+ when the smRunControl is set to `suspend' and remain in this
+ state until smRunControl is set to `resume' or the script
+ terminates."
+ ::= { smCompliances 2 }
+
+smLanguageGroup OBJECT-GROUP
+ OBJECTS {
+ smLangLanguage, smLangVersion,
+ smLangVendor, smLangRevision,
+ smLangDescr, smExtsnExtension,
+ smExtsnVersion, smExtsnVendor,
+ smExtsnRevision, smExtsnDescr
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about the
+ capabilities of the scripting engine."
+ ::= { smGroups 1 }
+
+smScriptGroup2 OBJECT-GROUP
+ OBJECTS {
+ smScriptDescr, smScriptLanguage,
+ smScriptSource, smScriptAdminStatus,
+ smScriptOperStatus, smScriptStorageType,
+ smScriptRowStatus, smScriptError,
+ smScriptLastChange
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about
+ installed scripts."
+ ::= { smGroups 7 }
+
+smCodeGroup OBJECT-GROUP
+ OBJECTS {
+ smCodeText, smCodeRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects used to download or modify scripts
+ by using SNMP set requests."
+ ::= { smGroups 3 }
+
+smLaunchGroup2 OBJECT-GROUP
+ OBJECTS {
+ smLaunchScriptOwner, smLaunchScriptName,
+ smLaunchArgument, smLaunchMaxRunning,
+ smLaunchMaxCompleted, smLaunchLifeTime,
+ smLaunchExpireTime, smLaunchStart,
+ smLaunchControl, smLaunchAdminStatus,
+ smLaunchOperStatus, smLaunchRunIndexNext,
+ smLaunchStorageType, smLaunchRowStatus,
+ smLaunchError, smLaunchLastChange,
+ smLaunchRowExpireTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about scripts
+ that can be launched."
+ ::= { smGroups 8 }
+
+smRunGroup2 OBJECT-GROUP
+ OBJECTS {
+ smRunArgument, smRunStartTime,
+ smRunEndTime, smRunLifeTime,
+ smRunExpireTime, smRunExitCode,
+ smRunResult, smRunState,
+ smRunControl, smRunError,
+ smRunResultTime, smRunErrorTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information about running
+ scripts."
+ ::= { smGroups 9 }
+
+smNotificationsGroup2 NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ smScriptAbort,
+ smScriptResult,
+ smScriptException
+ }
+ STATUS current
+ DESCRIPTION
+ "The notifications emitted by the Script MIB."
+ ::= { smGroups 10 }
+
+--
+-- Deprecated compliance and conformance group definitions
+-- from RFC 2592.
+--
+
+smCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ the Script MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+
+ smLanguageGroup, smScriptGroup, smLaunchGroup, smRunGroup
+ }
+ GROUP smCodeGroup
+ DESCRIPTION
+ "The smCodeGroup is mandatory only for those implementations
+ that support the downloading of scripts via SNMP."
+ OBJECT smScriptSource
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The smScriptSource object is read-only for implementations
+ that are not able to download script code from a URL."
+ OBJECT smCodeText
+ DESCRIPTION
+ "A compliant implementation need only support write access
+ to the smCodeText object during row creation."
+ OBJECT smLaunchArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smLaunchArgument of 255 octets."
+ OBJECT smRunArgument
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunArgument of 255 octets."
+ OBJECT smRunResult
+ DESCRIPTION
+ "A compliant implementation has to support a minimum size
+ for smRunResult of 255 octets."
+ OBJECT smRunState
+ DESCRIPTION
+ "A compliant implementation does not have to support script
+ suspension and the smRunState `suspended'. Such an
+ implementation will change into the `suspending' state
+ when the smRunControl is set to `suspend' and remain in this
+ state until smRunControl is set to `resume' or the script
+ terminates."
+ ::= { smCompliances 1 }
+
+smScriptGroup OBJECT-GROUP
+ OBJECTS {
+ smScriptDescr, smScriptLanguage,
+ smScriptSource, smScriptAdminStatus,
+ smScriptOperStatus, smScriptStorageType,
+ smScriptRowStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing information about
+ installed scripts."
+ ::= { smGroups 2 }
+
+smLaunchGroup OBJECT-GROUP
+ OBJECTS {
+ smLaunchScriptOwner, smLaunchScriptName,
+ smLaunchArgument, smLaunchMaxRunning,
+ smLaunchMaxCompleted, smLaunchLifeTime,
+ smLaunchExpireTime, smLaunchStart,
+ smLaunchControl, smLaunchAdminStatus,
+ smLaunchOperStatus, smLaunchRunIndexNext,
+ smLaunchStorageType, smLaunchRowStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing information about scripts
+ that can be launched."
+ ::= { smGroups 4 }
+
+smRunGroup OBJECT-GROUP
+ OBJECTS {
+ smRunArgument, smRunStartTime,
+ smRunEndTime, smRunLifeTime,
+ smRunExpireTime, smRunExitCode,
+ smRunResult, smRunState,
+ smRunControl, smRunError
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing information about running
+ scripts."
+ ::= { smGroups 5 }
+
+smNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ smScriptAbort,
+ smScriptResult
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The notifications emitted by the Script MIB."
+ ::= { smGroups 6 }
+
+END
diff --git a/mibs/DISMAN-TRACEROUTE-MIB.txt b/mibs/DISMAN-TRACEROUTE-MIB.txt
new file mode 100644
index 00000000..d207b245
--- /dev/null
+++ b/mibs/DISMAN-TRACEROUTE-MIB.txt
@@ -0,0 +1,1850 @@
+DISMAN-TRACEROUTE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32,
+ Gauge32, Unsigned32, mib-2,
+ NOTIFICATION-TYPE,
+ OBJECT-IDENTITY
+ FROM SNMPv2-SMI -- RFC2578
+ RowStatus, StorageType,
+ TruthValue, DateAndTime
+ FROM SNMPv2-TC -- RFC2579
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP
+ FROM SNMPv2-CONF -- RFC2580
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC3411
+ InterfaceIndexOrZero -- RFC2863
+ FROM IF-MIB
+ InetAddressType, InetAddress
+ FROM INET-ADDRESS-MIB -- RFC4001
+ OperationResponseStatus
+ FROM DISMAN-PING-MIB; -- RFC4560
+
+ traceRouteMIB MODULE-IDENTITY
+ LAST-UPDATED "200606130000Z" -- 13 June 2006
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO
+ "Juergen Quittek
+
+ NEC Europe Ltd.
+ Network Laboratories
+ Kurfuersten-Anlage 36
+ 69115 Heidelberg
+ Germany
+
+ Phone: +49 6221 4342-115
+ Email: quittek@netlab.nec.de"
+ DESCRIPTION
+ "The Traceroute MIB (DISMAN-TRACEROUTE-MIB) provides
+ access to the traceroute capability at a remote host.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4560; see the RFC itself for
+ full legal notices."
+
+ -- Revision history
+
+ REVISION "200606130000Z" -- 13 June 2006
+ DESCRIPTION
+ "Updated version, published as RFC 4560.
+ - Correctly considered IPv6 in DESCRIPTION clause of
+ object traceRouteCtlDataSize
+ - Replaced references to RFC 2575 by RFC 3415
+ - Replaced references to RFC 2571 by RFC 3411
+ - Replaced references to RFC 2851 by RFC 4001
+ - Clarified DESCRIPTION clause of object
+ traceRouteResultsLastGoodPath
+ - Changed range of object traceRouteCtlInitialTtl
+ from (0..255) to (1..255)
+ - Extended DESCRIPTION clause of traceRouteResultsTable
+ describing re-initialization of entries
+ - Changed SYNTAX of traceRouteResultsTestAttempts and
+ traceRouteResultsTestSuccesses from Unsigned32 to
+ Gauge32
+ - Changed status of traceRouteCompliance to deprecated
+ - Added traceRouteFullCompliance and
+ traceRouteMinimumCompliance
+ - Changed status of traceRouteGroup and
+ traceRouteTimeStampGroup to deprecated
+ - Added traceRouteMinimumGroup,
+ traceRouteCtlRowStatusGroup, and
+ traceRouteHistoryGroup
+ - Changed DEFVAL of object
+ traceRouteCtlTargetAddressType from { ipv4 }
+ to { unknown }
+ - Changed DEFVAL of object traceRouteCtlDescr
+ from { '00'H } to { ''H }
+ - Added DEFVAL for object traceRouteCtlTrapGeneration
+ of DEFVAL { { } }"
+ REVISION "200009210000Z" -- 21 September 2000
+ DESCRIPTION
+ "Initial version, published as RFC 2925."
+ ::= { mib-2 81 }
+
+ -- Top level structure of the MIB
+
+ traceRouteNotifications OBJECT IDENTIFIER ::= { traceRouteMIB 0 }
+ traceRouteObjects OBJECT IDENTIFIER ::= { traceRouteMIB 1 }
+ traceRouteConformance OBJECT IDENTIFIER ::= { traceRouteMIB 2 }
+
+ -- The registration node (point) for traceroute implementation types
+
+ traceRouteImplementationTypeDomains OBJECT IDENTIFIER
+ ::= { traceRouteMIB 3 }
+
+ traceRouteUsingUdpProbes OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Indicates that an implementation is using UDP probes to
+ perform the traceroute operation."
+ ::= { traceRouteImplementationTypeDomains 1 }
+
+ -- Simple Object Definitions
+
+ traceRouteMaxConcurrentRequests OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "requests"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of concurrent active traceroute requests
+ that are allowed within an agent implementation. A value
+ of 0 for this object implies that there is no limit for
+ the number of concurrent active requests in effect.
+
+ The limit applies only to new requests being activated.
+ When a new value is set, the agent will continue processing
+ all the requests already active, even if their number
+ exceeds the limit just imposed."
+ DEFVAL { 10 }
+ ::= { traceRouteObjects 1 }
+
+ -- Traceroute Control Table
+
+ traceRouteCtlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Control Table for
+ providing the capability of invoking traceroute from a remote
+ host. The results of traceroute operations can be stored in
+ the traceRouteResultsTable, traceRouteProbeHistoryTable, and
+ the traceRouteHopsTable."
+ ::= { traceRouteObjects 2 }
+
+ traceRouteCtlEntry OBJECT-TYPE
+ SYNTAX TraceRouteCtlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the traceRouteCtlTable. The first
+ index element, traceRouteCtlOwnerIndex, is of type
+ SnmpAdminString, a textual convention that allows for
+ use of the SNMPv3 View-Based Access Control Model
+ (RFC 3415, VACM) and that allows a management
+ application to identify its entries. The second index,
+ traceRouteCtlTestName (also an SnmpAdminString),
+ enables the same management application to have
+ multiple requests outstanding."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName
+ }
+ ::= { traceRouteCtlTable 1 }
+
+ TraceRouteCtlEntry ::=
+ SEQUENCE {
+ traceRouteCtlOwnerIndex SnmpAdminString,
+ traceRouteCtlTestName SnmpAdminString,
+ traceRouteCtlTargetAddressType InetAddressType,
+ traceRouteCtlTargetAddress InetAddress,
+ traceRouteCtlByPassRouteTable TruthValue,
+ traceRouteCtlDataSize Unsigned32,
+ traceRouteCtlTimeOut Unsigned32,
+ traceRouteCtlProbesPerHop Unsigned32,
+ traceRouteCtlPort Unsigned32,
+ traceRouteCtlMaxTtl Unsigned32,
+ traceRouteCtlDSField Unsigned32,
+ traceRouteCtlSourceAddressType InetAddressType,
+ traceRouteCtlSourceAddress InetAddress,
+ traceRouteCtlIfIndex InterfaceIndexOrZero,
+ traceRouteCtlMiscOptions SnmpAdminString,
+ traceRouteCtlMaxFailures Unsigned32,
+ traceRouteCtlDontFragment TruthValue,
+ traceRouteCtlInitialTtl Unsigned32,
+ traceRouteCtlFrequency Unsigned32,
+ traceRouteCtlStorageType StorageType,
+ traceRouteCtlAdminStatus INTEGER,
+ traceRouteCtlDescr SnmpAdminString,
+ traceRouteCtlMaxRows Unsigned32,
+ traceRouteCtlTrapGeneration BITS,
+ traceRouteCtlCreateHopsEntries TruthValue,
+ traceRouteCtlType OBJECT IDENTIFIER,
+ traceRouteCtlRowStatus RowStatus
+ }
+
+ traceRouteCtlOwnerIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "To facilitate the provisioning of access control by a
+ security administrator using the View-Based Access
+ Control Model (RFC 3415, VACM) for tables in which
+ multiple users may need to create or
+ modify entries independently, the initial index is used as
+ an 'owner index'. Such an initial index has a syntax of
+ SnmpAdminString and can thus be trivially mapped to a
+ securityName or groupName defined in VACM, in
+ accordance with a security policy.
+
+ When used in conjunction with such a security policy,
+ all entries in the table belonging to a particular user
+ (or group) will have the same value for this initial
+ index. For a given user's entries in a particular
+ table, the object identifiers for the information in
+ these entries will have the same subidentifiers (except
+ for the 'column' subidentifier) up to the end of the
+ encoded owner index. To configure VACM to permit access
+ to this portion of the table, one would create
+ vacmViewTreeFamilyTable entries with the value of
+ vacmViewTreeFamilySubtree including the owner index
+ portion, and vacmViewTreeFamilyMask 'wildcarding' the
+ column subidentifier. More elaborate configurations
+ are possible."
+ ::= { traceRouteCtlEntry 1 }
+
+ traceRouteCtlTestName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of a traceroute test. This is locally unique,
+ within the scope of a traceRouteCtlOwnerIndex."
+ ::= { traceRouteCtlEntry 2 }
+
+ traceRouteCtlTargetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of host address to be used on the
+ traceroute request at the remote host."
+ DEFVAL { unknown }
+ ::= { traceRouteCtlEntry 3 }
+
+ traceRouteCtlTargetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the host address used on the
+ traceroute request at the remote host. The
+ host address type can be determined by
+ examining the value of the corresponding
+ traceRouteCtlTargetAddressType.
+
+ A value for this object MUST be set prior to
+ transitioning its corresponding traceRouteCtlEntry to
+ active(1) via traceRouteCtlRowStatus."
+ ::= { traceRouteCtlEntry 4 }
+
+ traceRouteCtlByPassRouteTable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to enable optional
+ bypassing the route table. If enabled, the remote
+ host will bypass the normal routing tables and send
+ directly to a host on an attached network. If the
+ host is not on a directly attached network, an
+ error is returned. This option can be used to perform
+ the traceroute operation to a local host through an
+ interface that has no route defined (e.g., after the
+ interface was dropped by the routing daemon at the host)."
+ DEFVAL { false }
+ ::= { traceRouteCtlEntry 5 }
+
+ traceRouteCtlDataSize OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65507)
+ UNITS "octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the size of the data portion of a traceroute
+ request, in octets. If the RECOMMENDED traceroute method
+ (UDP datagrams as probes) is used, then the value
+ contained in this object MUST be applied. If another
+ traceroute method is used for which the specified size
+ is not appropriate, then the implementation SHOULD use
+ whatever size (appropriate to the method) is closest to
+ the specified size.
+
+ The maximum value for this object was computed by
+ subtracting the smallest possible IP header size of
+ 20 octets (IPv4 header with no options) and the UDP
+ header size of 8 octets from the maximum IP packet size.
+ An IP packet has a maximum size of 65535 octets
+ (excluding IPv6 Jumbograms)."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 6 }
+
+ traceRouteCtlTimeOut OBJECT-TYPE
+ SYNTAX Unsigned32 (1..60)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the time-out value, in seconds, for
+ a traceroute request."
+ DEFVAL { 3 }
+ ::= { traceRouteCtlEntry 7 }
+
+ traceRouteCtlProbesPerHop OBJECT-TYPE
+ SYNTAX Unsigned32 (1..10)
+ UNITS "probes"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the number of times to reissue a traceroute
+ request with the same time-to-live (TTL) value."
+ DEFVAL { 3 }
+ ::= { traceRouteCtlEntry 8 }
+
+ traceRouteCtlPort OBJECT-TYPE
+ SYNTAX Unsigned32 (1..65535)
+ UNITS "UDP Port"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the (initial) UDP port to send the traceroute
+ request to. A port needs to be specified that is not in
+ use at the destination (target) host. The default
+ value for this object is the IANA assigned port,
+ 33434, for the traceroute function."
+ DEFVAL { 33434 }
+ ::= { traceRouteCtlEntry 9 }
+
+ traceRouteCtlMaxTtl OBJECT-TYPE
+ SYNTAX Unsigned32 (1..255)
+ UNITS "time-to-live value"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the maximum time-to-live value."
+ DEFVAL { 30 }
+ ::= { traceRouteCtlEntry 10 }
+
+ traceRouteCtlDSField OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the value to store in the Type of Service
+ (TOS) octet in the IPv4 header or in the Traffic
+ Class octet in the IPv6 header, respectively, of the
+ IP packet used to encapsulate the traceroute probe.
+
+ The octet to be set in the IP header contains the
+ Differentiated Services (DS) Field in the six most
+ significant bits.
+
+ This option can be used to determine what effect an
+ explicit DS Field setting has on a traceroute response.
+ Not all values are legal or meaningful. A value of 0
+ means that the function represented by this option is
+ not supported. DS Field usage is often not supported
+ by IP implementations, and not all values are supported.
+ Refer to RFC 2474 and RFC 3260 for guidance on usage of
+ this field."
+ REFERENCE
+ "Refer to RFC 1812 for the definition of the IPv4 TOS
+ octet and to RFC 2460 for the definition of the IPv6
+ Traffic Class octet. Refer to RFC 2474 and RFC 3260
+ for the definition of the Differentiated Services Field."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 11 }
+
+ traceRouteCtlSourceAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Specifies the type of the source address,
+ traceRouteCtlSourceAddress, to be used at a remote host
+ when a traceroute operation is performed."
+ DEFVAL { unknown }
+ ::= { traceRouteCtlEntry 12 }
+
+ traceRouteCtlSourceAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Use the specified IP address (which must be given as an
+ IP number, not a hostname) as the source address in
+ outgoing probe packets. On hosts with more than one IP
+ address, this option can be used to select the address
+ to be used. If the IP address is not one of this
+ machine's interface addresses, an error is returned, and
+ nothing is sent. A zero-length octet string value for
+ this object disables source address specification.
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of traceRouteCtlSourceAddressType."
+ DEFVAL { ''H }
+ ::= { traceRouteCtlEntry 13 }
+
+ traceRouteCtlIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Setting this object to an interface's ifIndex prior
+ to starting a remote traceroute operation directs
+ the traceroute probes to be transmitted over the
+ specified interface. A value of zero for this object
+ implies that this option is not enabled."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 14 }
+
+ traceRouteCtlMiscOptions OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Enables an application to specify implementation-dependent
+ options."
+ DEFVAL { ''H }
+ ::= { traceRouteCtlEntry 15 }
+
+ traceRouteCtlMaxFailures OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ UNITS "timeouts"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object indicates the maximum number
+ of consecutive timeouts allowed before a remote traceroute
+ request is terminated. A value of either 255 (maximum
+ hop count/possible TTL value) or 0 indicates that the
+ function of terminating a remote traceroute request when a
+ specific number of consecutive timeouts are detected is
+ disabled."
+ DEFVAL { 5 }
+ ::= { traceRouteCtlEntry 16 }
+
+ traceRouteCtlDontFragment OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object enables setting of the don't fragment flag (DF)
+ in the IP header for a probe. Use of this object enables
+ a manual PATH MTU test is performed."
+ DEFVAL { false }
+ ::= { traceRouteCtlEntry 17 }
+
+ traceRouteCtlInitialTtl OBJECT-TYPE
+ SYNTAX Unsigned32 (1..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object specifies the initial TTL value to
+ use. This enables bypassing the initial (often well known)
+ portion of a path."
+ DEFVAL { 1 }
+ ::= { traceRouteCtlEntry 18 }
+
+ traceRouteCtlFrequency OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds to wait before repeating a
+ traceroute test, as defined by the value of the
+ various objects in the corresponding row.
+
+ After a single test is completed the number of seconds
+ as defined by the value of traceRouteCtlFrequency MUST
+ elapse before the next traceroute test is started.
+
+ A value of 0 for this object implies that the test
+ as defined by the corresponding entry will not be
+
+ repeated."
+ DEFVAL { 0 }
+ ::= { traceRouteCtlEntry 19 }
+
+ traceRouteCtlStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { traceRouteCtlEntry 20 }
+
+ traceRouteCtlAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ enabled(1), -- operation should be started
+ disabled(2) -- operation should be stopped
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Reflects the desired state that an traceRouteCtlEntry
+ should be in:
+
+ enabled(1) - Attempt to activate the test as defined by
+ this traceRouteCtlEntry.
+ disabled(2) - Deactivate the test as defined by this
+ traceRouteCtlEntry.
+
+ Refer to the corresponding traceRouteResultsOperStatus to
+ determine the operational state of the test defined by
+ this entry."
+ DEFVAL { disabled }
+ ::= { traceRouteCtlEntry 21 }
+
+ traceRouteCtlDescr OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The purpose of this object is to provide a
+ descriptive name of the remote traceroute
+ test."
+ DEFVAL { ''H }
+ ::= { traceRouteCtlEntry 22 }
+
+ traceRouteCtlMaxRows OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "rows"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of corresponding entries allowed
+ in the traceRouteProbeHistoryTable. An implementation
+ of this MIB will remove the oldest corresponding entry
+ in the traceRouteProbeHistoryTable to allow the
+ addition of an new entry once the number of
+ corresponding rows in the traceRouteProbeHistoryTable
+ reaches this value.
+
+ Old entries are not removed when a new test is
+ started. Entries are added to the
+ traceRouteProbeHistoryTable until traceRouteCtlMaxRows
+ is reached before entries begin to be removed.
+ A value of 0 for this object disables creation of
+ traceRouteProbeHistoryTable entries."
+ DEFVAL { 50 }
+ ::= { traceRouteCtlEntry 23 }
+
+ traceRouteCtlTrapGeneration OBJECT-TYPE
+ SYNTAX BITS {
+ pathChange(0),
+ testFailure(1),
+ testCompletion(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object determines when and whether to
+ generate a notification for this entry:
+
+ pathChange(0) - Generate a traceRoutePathChange
+ notification when the current path varies from a
+ previously determined path.
+ testFailure(1) - Generate a traceRouteTestFailed
+ notification when the full path to a target
+ can't be determined.
+ testCompletion(2) - Generate a traceRouteTestCompleted
+ notification when the path to a target has been
+ determined.
+
+ The value of this object defaults to an empty set,
+ indicating that none of the above options has been
+ selected."
+ DEFVAL { { } }
+ ::= { traceRouteCtlEntry 24 }
+
+ traceRouteCtlCreateHopsEntries OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The current path for a traceroute test is kept in the
+ traceRouteHopsTable on a per-hop basis when the value of
+ this object is true(1)."
+ DEFVAL { false }
+ ::= { traceRouteCtlEntry 25 }
+
+ traceRouteCtlType OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object is used either to report or to
+ select the implementation method to be used for
+ performing a traceroute operation. The value of this
+ object may be selected from
+ traceRouteImplementationTypeDomains.
+
+ Additional implementation types should be allocated as
+ required by implementers of the DISMAN-TRACEROUTE-MIB
+ under their enterprise specific registration point,
+ not beneath traceRouteImplementationTypeDomains."
+ DEFVAL { traceRouteUsingUdpProbes }
+ ::= { traceRouteCtlEntry 26 }
+
+ traceRouteCtlRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object allows entries to be created and deleted
+ in the traceRouteCtlTable. Deletion of an entry in
+ this table results in a deletion of all corresponding (same
+ traceRouteCtlOwnerIndex and traceRouteCtlTestName
+ index values) traceRouteResultsTable,
+ traceRouteProbeHistoryTable, and traceRouteHopsTable
+ entries.
+
+ A value MUST be specified for traceRouteCtlTargetAddress
+ prior to acceptance of a transition to active(1) state.
+
+ When a value for pingCtlTargetAddress is set,
+ the value of object pingCtlRowStatus changes
+ from notReady(3) to notInService(2).
+
+ Activation of a remote traceroute operation is
+ controlled via traceRouteCtlAdminStatus, and not
+ by transitioning of this object's value to active(1).
+
+ Transitions in and out of active(1) state are not
+ allowed while an entry's traceRouteResultsOperStatus
+ is active(1), with the exception that deletion of
+ an entry in this table by setting its RowStatus
+ object to destroy(6) will stop an active
+ traceroute operation.
+
+ The operational state of an traceroute operation
+ can be determined by examination of the corresponding
+ traceRouteResultsOperStatus object."
+ REFERENCE
+ "See definition of RowStatus in RFC 2579, 'Textual
+ Conventions for SMIv2.'"
+ ::= { traceRouteCtlEntry 27 }
+
+ -- Traceroute Results Table
+
+ traceRouteResultsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Results Table for
+ keeping track of the status of a traceRouteCtlEntry.
+
+ An entry is added to the traceRouteResultsTable when an
+ traceRouteCtlEntry is started by successful transition
+ of its traceRouteCtlAdminStatus object to enabled(1).
+
+ If the object traceRouteCtlAdminStatus already has the value
+ enabled(1), and if the corresponding
+ traceRouteResultsOperStatus object has the value
+ completed(3), then successfully writing enabled(1) to the
+ object traceRouteCtlAdminStatus re-initializes the already
+ existing entry in the traceRouteResultsTable. The values of
+ objects in the re-initialized entry are the same as
+ the values of objects in a new entry would be.
+
+ An entry is removed from the traceRouteResultsTable when
+
+ its corresponding traceRouteCtlEntry is deleted."
+ ::= { traceRouteObjects 3 }
+
+ traceRouteResultsEntry OBJECT-TYPE
+ SYNTAX TraceRouteResultsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the traceRouteResultsTable. The
+ traceRouteResultsTable has the same indexing as the
+ traceRouteCtlTable so that a traceRouteResultsEntry
+ corresponds to the traceRouteCtlEntry that caused it to
+ be created."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName
+ }
+ ::= { traceRouteResultsTable 1 }
+
+ TraceRouteResultsEntry ::=
+ SEQUENCE {
+ traceRouteResultsOperStatus INTEGER,
+ traceRouteResultsCurHopCount Gauge32,
+ traceRouteResultsCurProbeCount Gauge32,
+ traceRouteResultsIpTgtAddrType InetAddressType,
+ traceRouteResultsIpTgtAddr InetAddress,
+ traceRouteResultsTestAttempts Gauge32,
+ traceRouteResultsTestSuccesses Gauge32,
+ traceRouteResultsLastGoodPath DateAndTime
+ }
+
+ traceRouteResultsOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1), -- test is in progress
+ disabled(2), -- test has stopped
+ completed(3) -- test is completed
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the operational state of an traceRouteCtlEntry:
+
+ enabled(1) - Test is active.
+ disabled(2) - Test has stopped.
+ completed(3) - Test is completed."
+ ::= { traceRouteResultsEntry 1 }
+
+ traceRouteResultsCurHopCount OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "hops"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the current TTL value (from 1 to
+ 255) for a remote traceroute operation.
+ Maximum TTL value is determined by
+ traceRouteCtlMaxTtl."
+ ::= { traceRouteResultsEntry 2 }
+
+ traceRouteResultsCurProbeCount OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "probes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reflects the current probe count (1..10) for
+ a remote traceroute operation. The maximum
+ probe count is determined by
+ traceRouteCtlProbesPerHop."
+ ::= { traceRouteResultsEntry 3 }
+
+ traceRouteResultsIpTgtAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates the type of address stored
+ in the corresponding traceRouteResultsIpTgtAddr
+ object."
+ ::= { traceRouteResultsEntry 4 }
+
+ traceRouteResultsIpTgtAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object reports the IP address associated
+ with a traceRouteCtlTargetAddress value when the
+ destination address is specified as a DNS name.
+ The value of this object should be a zero-length
+ octet string when a DNS name is not specified or
+ when a specified DNS name fails to resolve."
+ ::= { traceRouteResultsEntry 5 }
+
+ traceRouteResultsTestAttempts OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "tests"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of attempts to determine a path
+ to a target. The value of this object MUST be started
+ at 0."
+ ::= { traceRouteResultsEntry 6 }
+
+ traceRouteResultsTestSuccesses OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "tests"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of attempts to determine a path
+ to a target that have succeeded. The value of this
+ object MUST be reported as 0 when no attempts have
+ succeeded."
+ ::= { traceRouteResultsEntry 7 }
+
+ traceRouteResultsLastGoodPath OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The date and time when the last complete path
+ was determined. A path is complete if responses
+ were received or timeout occurred for each hop on
+ the path; i.e., for each TTL value from the value
+ of the corresponding traceRouteCtlInitialTtl object
+ up to the end of the path or (if no reply from the
+ target IP address was received) up to the value of
+ the corresponding traceRouteCtlMaxTtl object."
+ ::= { traceRouteResultsEntry 8 }
+
+ -- Trace Route Probe History Table
+
+ traceRouteProbeHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Results Table
+ for storing the results of a traceroute operation.
+
+ An implementation of this MIB will remove the oldest
+
+ entry in the traceRouteProbeHistoryTable of the
+ corresponding entry in the traceRouteCtlTable to allow
+ the addition of a new entry once the number of rows in
+ the traceRouteProbeHistoryTable reaches the value specified
+ by traceRouteCtlMaxRows for the corresponding entry in the
+ traceRouteCtlTable."
+ ::= { traceRouteObjects 4 }
+
+ traceRouteProbeHistoryEntry OBJECT-TYPE
+ SYNTAX TraceRouteProbeHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines a table for storing the results of a traceroute
+ operation. Entries in this table are limited by
+ the value of the corresponding traceRouteCtlMaxRows
+ object.
+
+ The first two index elements identify the
+ traceRouteCtlEntry that a traceRouteProbeHistoryEntry
+ belongs to. The third index element selects a single
+ traceroute operation result. The fourth and fifth indexes
+ select the hop and the probe for a particular
+ traceroute operation."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName,
+ traceRouteProbeHistoryIndex,
+ traceRouteProbeHistoryHopIndex,
+ traceRouteProbeHistoryProbeIndex
+
+ }
+ ::= { traceRouteProbeHistoryTable 1 }
+
+ TraceRouteProbeHistoryEntry ::=
+ SEQUENCE {
+ traceRouteProbeHistoryIndex Unsigned32,
+ traceRouteProbeHistoryHopIndex Unsigned32,
+ traceRouteProbeHistoryProbeIndex Unsigned32,
+ traceRouteProbeHistoryHAddrType InetAddressType,
+ traceRouteProbeHistoryHAddr InetAddress,
+ traceRouteProbeHistoryResponse Unsigned32,
+ traceRouteProbeHistoryStatus OperationResponseStatus,
+ traceRouteProbeHistoryLastRC Integer32,
+ traceRouteProbeHistoryTime DateAndTime
+ }
+
+ traceRouteProbeHistoryIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table is created when the result of
+ a traceroute probe is determined. The initial 2 instance
+ identifier index values identify the traceRouteCtlEntry
+ that a probe result (traceRouteProbeHistoryEntry) belongs
+ to. An entry is removed from this table when
+ its corresponding traceRouteCtlEntry is deleted.
+
+ An implementation MUST start assigning
+ traceRouteProbeHistoryIndex values at 1 and wrap after
+ exceeding the maximum possible value, as defined by the
+ limit of this object ('ffffffff'h)."
+ ::= { traceRouteProbeHistoryEntry 1 }
+
+ traceRouteProbeHistoryHopIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..255)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates which hop in a traceroute path the probe's
+ results are for. The value of this object is initially
+ determined by the value of traceRouteCtlInitialTtl."
+ ::= { traceRouteProbeHistoryEntry 2 }
+
+ traceRouteProbeHistoryProbeIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..10)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates the index of a probe for a particular
+ hop in a traceroute path. The number of probes per
+ hop is determined by the value of the corresponding
+ traceRouteCtlProbesPerHop object."
+ ::= { traceRouteProbeHistoryEntry 3 }
+
+ traceRouteProbeHistoryHAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This objects indicates the type of address stored
+ in the corresponding traceRouteProbeHistoryHAddr
+ object."
+ ::= { traceRouteProbeHistoryEntry 4 }
+
+ traceRouteProbeHistoryHAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The address of a hop in a traceroute path. This object
+ is not allowed to be a DNS name. The value of the
+ corresponding object, traceRouteProbeHistoryHAddrType,
+ indicates this object's IP address type."
+ ::= { traceRouteProbeHistoryEntry 5 }
+
+ traceRouteProbeHistoryResponse OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time measured in milliseconds from when
+ a probe was sent to when its response was received or
+ when it timed out. The value of this object is reported
+ as 0 when it is not possible to transmit a probe."
+ ::= { traceRouteProbeHistoryEntry 6 }
+
+ traceRouteProbeHistoryStatus OBJECT-TYPE
+ SYNTAX OperationResponseStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The result of a traceroute operation made by a remote
+ host for a particular probe."
+ ::= { traceRouteProbeHistoryEntry 7 }
+
+ traceRouteProbeHistoryLastRC OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last implementation-method-specific reply code received.
+
+ Traceroute is usually implemented by transmitting a series of
+ probe packets with increasing time-to-live values. A probe
+ packet is a UDP datagram encapsulated into an IP packet.
+ Each hop in a path to the target (destination) host rejects
+ the probe packets (probe's TTL too small, ICMP reply) until
+ either the maximum TTL is exceeded or the target host is
+ received."
+ ::= { traceRouteProbeHistoryEntry 8 }
+
+ traceRouteProbeHistoryTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Timestamp for when this probe's results were determined."
+ ::= { traceRouteProbeHistoryEntry 9 }
+
+ -- Traceroute Hop Results Table
+
+ traceRouteHopsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TraceRouteHopsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines the Remote Operations Traceroute Hop Table for
+ keeping track of the results of traceroute tests on a
+ per-hop basis."
+ ::= { traceRouteObjects 5 }
+
+ traceRouteHopsEntry OBJECT-TYPE
+ SYNTAX TraceRouteHopsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Defines an entry in the traceRouteHopsTable.
+ The first two index elements identify the
+ traceRouteCtlEntry that a traceRouteHopsEntry
+ belongs to. The third index element,
+ traceRouteHopsHopIndex, selects a
+ hop in a traceroute path."
+ INDEX {
+ traceRouteCtlOwnerIndex,
+ traceRouteCtlTestName,
+ traceRouteHopsHopIndex
+ }
+ ::= { traceRouteHopsTable 1 }
+
+ TraceRouteHopsEntry ::=
+ SEQUENCE {
+ traceRouteHopsHopIndex Unsigned32,
+ traceRouteHopsIpTgtAddressType InetAddressType,
+ traceRouteHopsIpTgtAddress InetAddress,
+ traceRouteHopsMinRtt Unsigned32,
+ traceRouteHopsMaxRtt Unsigned32,
+ traceRouteHopsAverageRtt Unsigned32,
+ traceRouteHopsRttSumOfSquares Unsigned32,
+ traceRouteHopsSentProbes Unsigned32,
+ traceRouteHopsProbeResponses Unsigned32,
+ traceRouteHopsLastGoodProbe DateAndTime
+ }
+
+ traceRouteHopsHopIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Specifies the hop index for a traceroute hop. Values
+ for this object with respect to the same
+ traceRouteCtlOwnerIndex and traceRouteCtlTestName
+ MUST start at 1 and be given increasing values for
+ subsequent hops. The value of traceRouteHopsHopIndex is not
+ necessarily the number of the hop on the traced path.
+
+ The traceRouteHopsTable keeps the current traceroute
+ path per traceRouteCtlEntry if enabled by
+ setting the corresponding traceRouteCtlCreateHopsEntries
+ to true(1).
+
+ All hops (traceRouteHopsTable entries) in a traceroute
+ path MUST be updated at the same time when a traceroute
+ operation is completed. Care needs to be applied when a path
+ either changes or can't be determined. The initial portion
+ of the path, up to the first hop change, MUST retain the
+ same traceRouteHopsHopIndex values. The remaining portion
+ of the path SHOULD be assigned new traceRouteHopsHopIndex
+ values."
+ ::= { traceRouteHopsEntry 1 }
+
+ traceRouteHopsIpTgtAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates the type of address stored
+ in the corresponding traceRouteHopsIpTgtAddress
+ object."
+ ::= { traceRouteHopsEntry 2 }
+
+ traceRouteHopsIpTgtAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object reports the IP address associated with
+
+ the hop. A value for this object should be reported
+ as a numeric IP address, not as a DNS name.
+
+ The address type (InetAddressType) that relates to
+ this object is specified by the corresponding value
+ of pingCtlSourceAddressType."
+ ::= { traceRouteHopsEntry 3 }
+
+ traceRouteHopsMinRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum traceroute round-trip-time (RTT) received for
+ this hop. A value of 0 for this object implies that no
+ RTT has been received."
+ ::= { traceRouteHopsEntry 4 }
+
+ traceRouteHopsMaxRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum traceroute round-trip-time (RTT) received for
+ this hop. A value of 0 for this object implies that no
+ RTT has been received."
+ ::= { traceRouteHopsEntry 5 }
+
+ traceRouteHopsAverageRtt OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current average traceroute round-trip-time (RTT) for
+ this hop."
+ ::= { traceRouteHopsEntry 6 }
+
+ traceRouteHopsRttSumOfSquares OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object contains the sum of the squares of all
+ round-trip-times received for this hop. Its purpose is
+ to enable standard deviation calculation."
+ ::= { traceRouteHopsEntry 7 }
+
+ traceRouteHopsSentProbes OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object reflects the number of probes sent
+ for this hop during this traceroute test. The value of this
+ object should start at 0."
+ ::= { traceRouteHopsEntry 8 }
+
+ traceRouteHopsProbeResponses OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of responses received for this hop during this
+ traceroute test. This value of this object should start
+ at 0."
+ ::= { traceRouteHopsEntry 9 }
+
+ traceRouteHopsLastGoodProbe OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Date and time at which the last response was received for a
+ probe for this hop during this traceroute test."
+ ::= { traceRouteHopsEntry 10 }
+
+ -- Notification Definition section
+
+ traceRoutePathChange NOTIFICATION-TYPE
+ OBJECTS {
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr
+ }
+ STATUS current
+ DESCRIPTION
+ "The path to a target has changed."
+ ::= { traceRouteNotifications 1 }
+
+ traceRouteTestFailed NOTIFICATION-TYPE
+ OBJECTS {
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr
+
+ }
+ STATUS current
+ DESCRIPTION
+ "Could not determine the path to a target."
+ ::= { traceRouteNotifications 2 }
+
+ traceRouteTestCompleted NOTIFICATION-TYPE
+ OBJECTS {
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr
+ }
+ STATUS current
+ DESCRIPTION
+ "The path to a target has just been determined."
+ ::= { traceRouteNotifications 3 }
+
+ -- Conformance information
+ -- Compliance statements
+
+ traceRouteCompliances OBJECT IDENTIFIER
+ ::= { traceRouteConformance 1 }
+ traceRouteGroups OBJECT IDENTIFIER
+ ::= { traceRouteConformance 2 }
+
+ -- Compliance statements
+
+ traceRouteFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ fully implement the DISMAN-TRACEROUTE-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ traceRouteMinimumGroup,
+ traceRouteCtlRowStatusGroup,
+ traceRouteHistoryGroup
+ }
+
+ GROUP traceRouteHopsTableGroup
+ DESCRIPTION
+ "This group lists the objects that make up a
+ traceRouteHopsEntry. Support of the traceRouteHopsTable
+ is optional."
+
+ GROUP traceRouteNotificationsGroup
+ DESCRIPTION
+ "This group defines a collection of optional
+ notifications."
+
+ OBJECT traceRouteMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support SET
+ operations to this object."
+
+ OBJECT traceRouteCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of its
+ implementation. The function represented by this
+ object is implementable if the setsockopt
+ SOL_SOCKET SO_DONTROUTE option is supported."
+
+ OBJECT traceRouteCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlMiscOptions
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Support of this object is optional. If not
+ supporting, do not allow write access and return a
+ zero-length octet string as the value of the object."
+
+ OBJECT traceRouteCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile(2)
+ StorageType enumeration."
+
+ OBJECT traceRouteCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that is RECOMMENDED to be supported by an
+ implementation is traceRouteUsingUdpProbes."
+
+ OBJECT traceRouteResultsIpTgtAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsIpTgtAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsLastGoodPath
+ DESCRIPTION
+ "If the traceRouteHopsTableGroup is implemented, then
+ this object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteProbeHistoryHAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryTime
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteHopsIpTgtAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsLastGoodProbe
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+ ::= { traceRouteCompliances 2 }
+
+ traceRouteMinimumCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The minimum compliance statement for SNMP entities
+ which implement the minimal subset of the
+ DISMAN-TRACEROUTE-MIB. Implementors might choose this
+ subset for small devices with limited resources."
+ MODULE -- this module
+
+ MANDATORY-GROUPS { traceRouteMinimumGroup }
+
+ GROUP traceRouteCtlRowStatusGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the traceRouteCtlRowStatusGroup."
+
+ GROUP traceRouteHistoryGroup
+ DESCRIPTION
+ "A compliant implementation does not have to implement
+ the traceRouteHistoryGroup."
+
+ GROUP traceRouteHopsTableGroup
+ DESCRIPTION
+ "This group lists the objects that make up a
+ traceRouteHopsEntry. Support of the traceRouteHopsTable
+ is optional."
+
+ GROUP traceRouteNotificationsGroup
+ DESCRIPTION
+ "This group defines a collection of optional
+ notifications."
+
+ OBJECT traceRouteMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support SET
+ operations to this object."
+
+ OBJECT traceRouteCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a false(2) as the value of this
+ object. A value of false(2) means that the function
+ represented by this option is not supported."
+
+ OBJECT traceRouteCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access to this object is not required by
+ implementations that are not capable of binding the
+ send socket with a source address. An implementation
+ is only required to support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlMiscOptions
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Support of this object is optional. If not
+ supporting, do not allow write access, and return a
+ zero-length octet string as the value of the object."
+
+ OBJECT traceRouteCtlDontFragment
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a false(2) as the value of this
+ object. A value of false(2) means that the function
+ represented by this option is not supported."
+
+ OBJECT traceRouteCtlInitialTtl
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 1 as the value of this object."
+
+ OBJECT traceRouteCtlFrequency
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile(2)
+ StorageType enumeration."
+
+ OBJECT traceRouteCtlDescr
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support set
+ operations to this object."
+
+ OBJECT traceRouteCtlMaxRows
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ traceRouteHistoryGroup is not implemented, then write
+ access to this object MUST be disabled, and the object
+ MUST return a value of 0 when retrieved."
+
+ OBJECT traceRouteCtlTrapGeneration
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ traceRouteNotificationsGroup is not implemented, then
+ write access to this object MUST be disabled, and the
+ object MUST return a value with no bit set when
+ retrieved. No bit set indicates that no notification
+ is generated."
+
+ OBJECT traceRouteCtlCreateHopsEntries
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. If the
+ traceRouteHopsTableGroup is not implemented, then
+ write access to this object MUST be disabled, and the
+ object MUST return a value of false(2) when retrieved."
+
+ OBJECT traceRouteCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+
+ value that is RECOMMENDED to be supported by an
+ implementation is traceRouteUsingUdpProbes."
+
+ OBJECT traceRouteResultsIpTgtAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsIpTgtAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsLastGoodPath
+ DESCRIPTION
+ "This object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteProbeHistoryHAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryTime
+ DESCRIPTION
+ "If the traceRouteHistoryGroup is implemented, then
+ this object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+
+ OBJECT traceRouteHopsIpTgtAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsLastGoodProbe
+ DESCRIPTION
+ "If the traceRouteHopsTableGroup is implemented, then
+ this object is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects. It is RECOMMENDED
+ that when this object is not supported its values
+ be reported as '0000000000000000'H."
+ ::= { traceRouteCompliances 3 }
+
+ traceRouteCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for the DISMAN-TRACEROUTE-MIB.
+ This compliance statement has been deprecated because
+ the traceRouteGroup and the traceRouteTimeStampGroup
+ have been split and deprecated. The
+ traceRouteFullCompliance is semantically identical to the
+ deprecated traceRouteCompliance statement."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ traceRouteGroup
+ }
+ GROUP traceRouteTimeStampGroup
+ DESCRIPTION
+ "This group is mandatory for implementations that have
+ access to a system clock and that are capable of setting
+ the values for DateAndTime objects."
+
+ GROUP traceRouteNotificationsGroup
+ DESCRIPTION
+ "This group defines a collection of optional
+ notifications."
+
+ GROUP traceRouteHopsTableGroup
+ DESCRIPTION
+ "This group lists the objects that make up a
+ traceRouteHopsEntry. Support of the traceRouteHopsTable
+ is optional."
+
+ OBJECT traceRouteMaxConcurrentRequests
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "The agent is not required to support SET
+ operations to this object."
+
+ OBJECT traceRouteCtlByPassRouteTable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of its implementation. The function
+ represented by this object is implementable if the
+ setsockopt SOL_SOCKET SO_DONTROUTE option is
+ supported."
+
+ OBJECT traceRouteCtlSourceAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and IPv6 addresses."
+
+ OBJECT traceRouteCtlSourceAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "This object is not required by implementations that
+ are not capable of binding the send socket with a
+ source address. An implementation is only required to
+ support IPv4 and globally unique IPv6 addresses."
+
+ OBJECT traceRouteCtlIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlMiscOptions
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Support of this object is optional. When not
+ supporting, do not allow write access, and return a
+ zero-length octet string as the value of the object."
+
+ OBJECT traceRouteCtlStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. It is also allowed
+ that implementations support only the volatile
+ StorageType enumeration."
+
+ OBJECT traceRouteCtlDSField
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. When write access is
+ not supported, return a 0 as the value of this object.
+ A value of 0 implies that the function represented by
+ this option is not supported."
+
+ OBJECT traceRouteCtlType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required. In addition, the only
+ value that is RECOMMENDED to be supported by an
+ implementation is traceRouteUsingUdpProbes."
+
+ OBJECT traceRouteResultsIpTgtAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteResultsIpTgtAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddrType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteProbeHistoryHAddr
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddressType
+ SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+
+ OBJECT traceRouteHopsIpTgtAddress
+ SYNTAX InetAddress (SIZE(0|4|16))
+ DESCRIPTION
+ "An implementation should only support IPv4 and
+ globally unique IPv6 address values for this object."
+ ::= { traceRouteCompliances 1 }
+
+ -- MIB groupings
+
+ traceRouteMinimumGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteMaxConcurrentRequests,
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteCtlByPassRouteTable,
+ traceRouteCtlDataSize,
+ traceRouteCtlTimeOut,
+ traceRouteCtlProbesPerHop,
+ traceRouteCtlPort,
+ traceRouteCtlMaxTtl,
+ traceRouteCtlDSField,
+ traceRouteCtlSourceAddressType,
+ traceRouteCtlSourceAddress,
+ traceRouteCtlIfIndex,
+ traceRouteCtlMiscOptions,
+ traceRouteCtlMaxFailures,
+ traceRouteCtlDontFragment,
+ traceRouteCtlInitialTtl,
+ traceRouteCtlFrequency,
+ traceRouteCtlStorageType,
+ traceRouteCtlAdminStatus,
+ traceRouteCtlMaxRows,
+ traceRouteCtlTrapGeneration,
+ traceRouteCtlDescr,
+ traceRouteCtlCreateHopsEntries,
+ traceRouteCtlType,
+ traceRouteResultsOperStatus,
+ traceRouteResultsCurHopCount,
+ traceRouteResultsCurProbeCount,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr,
+ traceRouteResultsTestAttempts,
+ traceRouteResultsTestSuccesses,
+ traceRouteResultsLastGoodPath
+
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the remote traceroute
+ operation."
+ ::= { traceRouteGroups 5 }
+
+ traceRouteCtlRowStatusGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteCtlRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RowStatus object of the traceRouteCtlTable."
+ ::= { traceRouteGroups 6 }
+
+ traceRouteHistoryGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteProbeHistoryHAddrType,
+ traceRouteProbeHistoryHAddr,
+ traceRouteProbeHistoryResponse,
+ traceRouteProbeHistoryStatus,
+ traceRouteProbeHistoryLastRC,
+ traceRouteProbeHistoryTime
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the history
+ capability."
+ ::= { traceRouteGroups 7 }
+
+ traceRouteNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ traceRoutePathChange,
+ traceRouteTestFailed,
+ traceRouteTestCompleted
+ }
+ STATUS current
+ DESCRIPTION
+ "The notifications that are required to be supported by
+ implementations of this MIB."
+ ::= { traceRouteGroups 3 }
+
+ traceRouteHopsTableGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteHopsIpTgtAddressType,
+ traceRouteHopsIpTgtAddress,
+ traceRouteHopsMinRtt,
+ traceRouteHopsMaxRtt,
+ traceRouteHopsAverageRtt,
+ traceRouteHopsRttSumOfSquares,
+ traceRouteHopsSentProbes,
+ traceRouteHopsProbeResponses,
+ traceRouteHopsLastGoodProbe
+ }
+ STATUS current
+ DESCRIPTION
+ "The group of objects that constitute the
+ traceRouteHopsTable."
+ ::= { traceRouteGroups 4 }
+
+ traceRouteGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteMaxConcurrentRequests,
+ traceRouteCtlTargetAddressType,
+ traceRouteCtlTargetAddress,
+ traceRouteCtlByPassRouteTable,
+ traceRouteCtlDataSize,
+ traceRouteCtlTimeOut,
+ traceRouteCtlProbesPerHop,
+ traceRouteCtlPort,
+ traceRouteCtlMaxTtl,
+ traceRouteCtlDSField,
+ traceRouteCtlSourceAddressType,
+ traceRouteCtlSourceAddress,
+ traceRouteCtlIfIndex,
+ traceRouteCtlMiscOptions,
+ traceRouteCtlMaxFailures,
+ traceRouteCtlDontFragment,
+ traceRouteCtlInitialTtl,
+ traceRouteCtlFrequency,
+ traceRouteCtlStorageType,
+ traceRouteCtlAdminStatus,
+ traceRouteCtlMaxRows,
+ traceRouteCtlTrapGeneration,
+ traceRouteCtlDescr,
+ traceRouteCtlCreateHopsEntries,
+ traceRouteCtlType,
+ traceRouteCtlRowStatus,
+ traceRouteResultsOperStatus,
+ traceRouteResultsCurHopCount,
+ traceRouteResultsCurProbeCount,
+ traceRouteResultsIpTgtAddrType,
+ traceRouteResultsIpTgtAddr,
+ traceRouteResultsTestAttempts,
+ traceRouteResultsTestSuccesses,
+ traceRouteProbeHistoryHAddrType,
+ traceRouteProbeHistoryHAddr,
+ traceRouteProbeHistoryResponse,
+ traceRouteProbeHistoryStatus,
+ traceRouteProbeHistoryLastRC
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of objects that constitute the remote traceroute
+ operation."
+ ::= { traceRouteGroups 1 }
+
+ traceRouteTimeStampGroup OBJECT-GROUP
+ OBJECTS {
+ traceRouteResultsLastGoodPath,
+ traceRouteProbeHistoryTime
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The group of DateAndTime objects."
+ ::= { traceRouteGroups 2 }
+
+END
diff --git a/mibs/EtherLike-MIB.txt b/mibs/EtherLike-MIB.txt
new file mode 100644
index 00000000..dcec7cee
--- /dev/null
+++ b/mibs/EtherLike-MIB.txt
@@ -0,0 +1,1862 @@
+EtherLike-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
+ Integer32, Counter32, Counter64, mib-2, transmission
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ TruthValue
+ FROM SNMPv2-TC
+ ifIndex, InterfaceIndex
+ FROM IF-MIB;
+
+ etherMIB MODULE-IDENTITY
+ LAST-UPDATED "200309190000Z" -- September 19, 2003
+ ORGANIZATION "IETF Ethernet Interfaces and Hub MIB
+ Working Group"
+ CONTACT-INFO
+ "WG E-mail: hubmib@ietf.org
+ To subscribe: hubmib-request@ietf.org
+
+ Chair: Dan Romascanu
+ Postal: Avaya Inc.
+ Atidum Technology Park, Bldg. 3
+ Tel Aviv 61131
+ Israel
+ Tel: +972 3 645 8414
+ E-mail: dromasca@avaya.com
+
+ Editor: John Flick
+ Postal: Hewlett-Packard Company
+ 8000 Foothills Blvd. M/S 5557
+ Roseville, CA 95747-5557
+ USA
+ Tel: +1 916 785 4018
+ Fax: +1 916 785 1199
+ E-mail: johnf@rose.hp.com"
+ DESCRIPTION "The MIB module to describe generic objects for
+ ethernet-like network interfaces.
+
+ The following reference is used throughout this
+ MIB module:
+
+ [IEEE 802.3 Std] refers to:
+ IEEE Std 802.3, 2002 Edition: 'IEEE Standard
+
+ for Information technology -
+ Telecommunications and information exchange
+ between systems - Local and metropolitan
+ area networks - Specific requirements -
+ Part 3: Carrier sense multiple access with
+ collision detection (CSMA/CD) access method
+ and physical layer specifications', as
+ amended by IEEE Std 802.3ae-2002:
+ 'Amendment: Media Access Control (MAC)
+ Parameters, Physical Layer, and Management
+ Parameters for 10 Gb/s Operation', August,
+ 2002.
+
+ Of particular interest is Clause 30, '10 Mb/s,
+ 100 Mb/s, 1000 Mb/s, and 10 Gb/s Management'.
+
+ Copyright (C) The Internet Society (2003). This
+ version of this MIB module is part of RFC 3635;
+ see the RFC itself for full legal notices."
+
+ REVISION "200309190000Z" -- September 19, 2003
+ DESCRIPTION "Updated to include support for 10 Gb/sec
+ interfaces. This resulted in the following
+ revisions:
+
+ - Updated dot3StatsAlignmentErrors and
+ dot3StatsSymbolErrors DESCRIPTIONs to
+ reflect behaviour at 10 Gb/s
+ - Added dot3StatsRateControlAbility and
+ dot3RateControlStatus for management
+ of the Rate Control function in 10 Gb/s
+ WAN applications
+ - Added 64-bit versions of all counters
+ that are used on high-speed ethernet
+ interfaces
+ - Added object groups to contain the new
+ objects
+ - Deprecated etherStatsBaseGroup and
+ split into etherStatsBaseGroup2 and
+ etherStatsHalfDuplexGroup, so that
+ interfaces which can only operate at
+ full-duplex do not need to implement
+ half-duplex-only statistics
+ - Deprecated dot3Compliance and replaced
+ it with dot3Compliance2, which includes
+ the compliance information for the new
+ object groups
+
+ In addition, the dot3Tests and dot3Errors
+ object identities have been deprecated,
+ since there is no longer a standard method
+ for using them.
+
+ This version published as RFC 3635."
+
+ REVISION "199908240400Z" -- August 24, 1999
+ DESCRIPTION "Updated to include support for 1000 Mb/sec
+ interfaces and full-duplex interfaces.
+ This version published as RFC 2665."
+
+ REVISION "199806032150Z" -- June 3, 1998
+ DESCRIPTION "Updated to include support for 100 Mb/sec
+ interfaces.
+ This version published as RFC 2358."
+
+ REVISION "199402030400Z" -- February 3, 1994
+ DESCRIPTION "Initial version, published as RFC 1650."
+ ::= { mib-2 35 }
+
+ etherMIBObjects OBJECT IDENTIFIER ::= { etherMIB 1 }
+
+ dot3 OBJECT IDENTIFIER ::= { transmission 7 }
+
+ -- the Ethernet-like Statistics group
+
+ dot3StatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3StatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Statistics for a collection of ethernet-like
+ interfaces attached to a particular system.
+ There will be one row in this table for each
+ ethernet-like interface in the system."
+ ::= { dot3 2 }
+
+ dot3StatsEntry OBJECT-TYPE
+ SYNTAX Dot3StatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Statistics for a particular interface to an
+ ethernet-like medium."
+ INDEX { dot3StatsIndex }
+ ::= { dot3StatsTable 1 }
+
+ Dot3StatsEntry ::=
+ SEQUENCE {
+
+ dot3StatsIndex InterfaceIndex,
+ dot3StatsAlignmentErrors Counter32,
+ dot3StatsFCSErrors Counter32,
+ dot3StatsSingleCollisionFrames Counter32,
+ dot3StatsMultipleCollisionFrames Counter32,
+ dot3StatsSQETestErrors Counter32,
+ dot3StatsDeferredTransmissions Counter32,
+ dot3StatsLateCollisions Counter32,
+ dot3StatsExcessiveCollisions Counter32,
+ dot3StatsInternalMacTransmitErrors Counter32,
+ dot3StatsCarrierSenseErrors Counter32,
+ dot3StatsFrameTooLongs Counter32,
+ dot3StatsInternalMacReceiveErrors Counter32,
+ dot3StatsEtherChipSet OBJECT IDENTIFIER,
+ dot3StatsSymbolErrors Counter32,
+ dot3StatsDuplexStatus INTEGER,
+ dot3StatsRateControlAbility TruthValue,
+ dot3StatsRateControlStatus INTEGER
+ }
+
+ dot3StatsIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only -- read-only since originally an
+ -- SMIv1 index
+ STATUS current
+ DESCRIPTION "An index value that uniquely identifies an
+ interface to an ethernet-like medium. The
+ interface identified by a particular value of
+ this index is the same interface as identified
+ by the same value of ifIndex."
+ REFERENCE "RFC 2863, ifIndex"
+ ::= { dot3StatsEntry 1 }
+
+ dot3StatsAlignmentErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are not an integral number of
+ octets in length and do not pass the FCS check.
+
+ The count represented by an instance of this
+ object is incremented when the alignmentError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+
+ to the error status presented to the LLC.
+
+ This counter does not increment for group
+ encoding schemes greater than 4 bits per group.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsAlignmentErrors object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.7,
+ aAlignmentErrors"
+ ::= { dot3StatsEntry 2 }
+
+ dot3StatsFCSErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are an integral number of octets
+ in length but do not pass the FCS check. This
+ count does not include frames received with
+ frame-too-long or frame-too-short error.
+
+ The count represented by an instance of this
+ object is incremented when the frameCheckError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ Note: Coding errors detected by the physical
+ layer for speeds above 10 Mb/s will cause the
+ frame to fail the FCS check.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsFCSErrors object for 10 Gb/s or
+ faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.6,
+ aFrameCheckSequenceErrors."
+ ::= { dot3StatsEntry 3 }
+
+ dot3StatsSingleCollisionFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames that are involved in a single
+ collision, and are subsequently transmitted
+ successfully.
+
+ A frame that is counted by an instance of this
+ object is also counted by the corresponding
+ instance of either the ifOutUcastPkts,
+ ifOutMulticastPkts, or ifOutBroadcastPkts,
+ and is not counted by the corresponding
+ instance of the dot3StatsMultipleCollisionFrames
+ object.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.3,
+ aSingleCollisionFrames."
+ ::= { dot3StatsEntry 4 }
+
+ dot3StatsMultipleCollisionFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames that are involved in more
+
+ than one collision and are subsequently
+ transmitted successfully.
+
+ A frame that is counted by an instance of this
+ object is also counted by the corresponding
+ instance of either the ifOutUcastPkts,
+ ifOutMulticastPkts, or ifOutBroadcastPkts,
+ and is not counted by the corresponding
+ instance of the dot3StatsSingleCollisionFrames
+ object.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.4,
+ aMultipleCollisionFrames."
+ ::= { dot3StatsEntry 5 }
+
+ dot3StatsSQETestErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of times that the SQE TEST ERROR
+ is received on a particular interface. The
+ SQE TEST ERROR is set in accordance with the
+ rules for verification of the SQE detection
+ mechanism in the PLS Carrier Sense Function as
+ described in IEEE Std. 802.3, 2000 Edition,
+ section 7.2.4.6.
+
+ This counter does not increment on interfaces
+ operating at speeds greater than 10 Mb/s, or on
+ interfaces operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 7.2.4.6, also 30.3.2.1.4,
+ aSQETestErrors."
+ ::= { dot3StatsEntry 6 }
+
+ dot3StatsDeferredTransmissions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which the first
+ transmission attempt on a particular interface
+ is delayed because the medium is busy.
+
+ The count represented by an instance of this
+ object does not include frames involved in
+ collisions.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.9,
+ aFramesWithDeferredXmissions."
+ ::= { dot3StatsEntry 7 }
+
+ dot3StatsLateCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of times that a collision is
+ detected on a particular interface later than
+ one slotTime into the transmission of a packet.
+
+ A (late) collision included in a count
+ represented by an instance of this object is
+ also considered as a (generic) collision for
+ purposes of other collision-related
+ statistics.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.10,
+ aLateCollisions."
+ ::= { dot3StatsEntry 8 }
+
+ dot3StatsExcessiveCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which transmission on a
+ particular interface fails due to excessive
+ collisions.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.11,
+ aFramesAbortedDueToXSColls."
+ ::= { dot3StatsEntry 9 }
+
+ dot3StatsInternalMacTransmitErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which transmission on a
+ particular interface fails due to an internal
+ MAC sublayer transmit error. A frame is only
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsLateCollisions object, the
+ dot3StatsExcessiveCollisions object, or the
+ dot3StatsCarrierSenseErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of transmission
+ errors on a particular interface that are not
+ otherwise counted.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsInternalMacTransmitErrors object for
+ 10 Gb/s or faster interfaces.
+
+ Discontinuities in the value of this counter can
+
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.12,
+ aFramesLostDueToIntMACXmitError."
+ ::= { dot3StatsEntry 10 }
+
+ dot3StatsCarrierSenseErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of times that the carrier sense
+ condition was lost or never asserted when
+ attempting to transmit a frame on a particular
+ interface.
+
+ The count represented by an instance of this
+ object is incremented at most once per
+ transmission attempt, even if the carrier sense
+ condition fluctuates during a transmission
+ attempt.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.13,
+ aCarrierSenseErrors."
+ ::= { dot3StatsEntry 11 }
+
+ -- { dot3StatsEntry 12 } is not assigned
+
+ dot3StatsFrameTooLongs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that exceed the maximum permitted
+ frame size.
+
+ The count represented by an instance of this
+ object is incremented when the frameTooLong
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 80 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsFrameTooLongs object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.25,
+ aFrameTooLongErrors."
+ ::= { dot3StatsEntry 13 }
+
+ -- { dot3StatsEntry 14 } is not assigned
+
+ -- { dot3StatsEntry 15 } is not assigned
+
+ dot3StatsInternalMacReceiveErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which reception on a
+ particular interface fails due to an internal
+ MAC sublayer receive error. A frame is only
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsFrameTooLongs object, the
+ dot3StatsAlignmentErrors object, or the
+ dot3StatsFCSErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of receive errors
+ on a particular interface that are not
+ otherwise counted.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsInternalMacReceiveErrors object for
+ 10 Gb/s or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.15,
+ aFramesLostDueToIntMACRcvError."
+ ::= { dot3StatsEntry 16 }
+
+ dot3StatsEtherChipSet OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION "******** THIS OBJECT IS DEPRECATED ********
+
+ This object contains an OBJECT IDENTIFIER
+ which identifies the chipset used to
+ realize the interface. Ethernet-like
+ interfaces are typically built out of
+ several different chips. The MIB implementor
+ is presented with a decision of which chip
+ to identify via this object. The implementor
+ should identify the chip which is usually
+ called the Medium Access Control chip.
+ If no such chip is easily identifiable,
+ the implementor should identify the chip
+ which actually gathers the transmit
+ and receive statistics and error
+ indications. This would allow a
+ manager station to correlate the
+ statistics and the chip generating
+ them, giving it the ability to take
+ into account any known anomalies
+ in the chip.
+
+ This object has been deprecated. Implementation
+ feedback indicates that it is of limited use for
+ debugging network problems in the field, and
+ the administrative overhead involved in
+ maintaining a registry of chipset OIDs is not
+ justified."
+ ::= { dot3StatsEntry 17 }
+
+ dot3StatsSymbolErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "For an interface operating at 100 Mb/s, the
+ number of times there was an invalid data symbol
+ when a valid carrier was present.
+
+ For an interface operating in half-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than slotTime, and
+ during which there was at least one occurrence
+ of an event that causes the PHY to indicate
+ 'Data reception error' or 'carrier extend error'
+ on the GMII.
+
+ For an interface operating in full-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than minFrameSize,
+ and during which there was at least one
+ occurrence of an event that causes the PHY to
+ indicate 'Data reception error' on the GMII.
+
+ For an interface operating at 10 Gb/s, the
+ number of times the receiving media is non-idle
+ (a carrier event) for a period of time equal to
+ or greater than minFrameSize, and during which
+ there was at least one occurrence of an event
+ that causes the PHY to indicate 'Receive Error'
+ on the XGMII.
+
+ The count represented by an instance of this
+ object is incremented at most once per carrier
+ event, even if multiple symbol errors occur
+ during the carrier event. This count does
+ not increment if a collision is present.
+
+ This counter does not increment when the
+ interface is operating at 10 Mb/s.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCStatsSymbolErrors object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.2.1.5,
+ aSymbolErrorDuringCarrier."
+ ::= { dot3StatsEntry 18 }
+
+ dot3StatsDuplexStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ halfDuplex(2),
+ fullDuplex(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The current mode of operation of the MAC
+ entity. 'unknown' indicates that the current
+ duplex mode could not be determined.
+
+ Management control of the duplex mode is
+ accomplished through the MAU MIB. When
+ an interface does not support autonegotiation,
+ or when autonegotiation is not enabled, the
+ duplex mode is controlled using
+ ifMauDefaultType. When autonegotiation is
+ supported and enabled, duplex mode is controlled
+ using ifMauAutoNegAdvertisedBits. In either
+ case, the currently operating duplex mode is
+ reflected both in this object and in ifMauType.
+
+ Note that this object provides redundant
+ information with ifMauType. Normally, redundant
+ objects are discouraged. However, in this
+ instance, it allows a management application to
+ determine the duplex status of an interface
+ without having to know every possible value of
+ ifMauType. This was felt to be sufficiently
+ valuable to justify the redundancy."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.32,
+ aDuplexStatus."
+ ::= { dot3StatsEntry 19 }
+
+ dot3StatsRateControlAbility OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "'true' for interfaces operating at speeds above
+ 1000 Mb/s that support Rate Control through
+ lowering the average data rate of the MAC
+ sublayer, with frame granularity, and 'false'
+ otherwise."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.33,
+ aRateControlAbility."
+ ::= { dot3StatsEntry 20 }
+
+ dot3StatsRateControlStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ rateControlOff(1),
+ rateControlOn(2),
+ unknown(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The current Rate Control mode of operation of
+ the MAC sublayer of this interface."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.34,
+ aRateControlStatus."
+ ::= { dot3StatsEntry 21 }
+
+ -- the Ethernet-like Collision Statistics group
+
+ -- Implementation of this group is optional; it is appropriate
+ -- for all systems which have the necessary metering
+
+ dot3CollTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3CollEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A collection of collision histograms for a
+ particular set of interfaces."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.30,
+ aCollisionFrames."
+ ::= { dot3 5 }
+
+ dot3CollEntry OBJECT-TYPE
+ SYNTAX Dot3CollEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A cell in the histogram of per-frame
+ collisions for a particular interface. An
+
+ instance of this object represents the
+ frequency of individual MAC frames for which
+ the transmission (successful or otherwise) on a
+ particular interface is accompanied by a
+ particular number of media collisions."
+ INDEX { ifIndex, dot3CollCount }
+ ::= { dot3CollTable 1 }
+
+ Dot3CollEntry ::=
+ SEQUENCE {
+ dot3CollCount Integer32,
+ dot3CollFrequencies Counter32
+ }
+
+ -- { dot3CollEntry 1 } is no longer in use
+
+ dot3CollCount OBJECT-TYPE
+ SYNTAX Integer32 (1..16)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The number of per-frame media collisions for
+ which a particular collision histogram cell
+ represents the frequency on a particular
+ interface."
+ ::= { dot3CollEntry 2 }
+
+ dot3CollFrequencies OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of individual MAC frames for which the
+ transmission (successful or otherwise) on a
+ particular interface occurs after the
+ frame has experienced exactly the number
+ of collisions in the associated
+ dot3CollCount object.
+
+ For example, a frame which is transmitted
+ on interface 77 after experiencing
+ exactly 4 collisions would be indicated
+ by incrementing only dot3CollFrequencies.77.4.
+ No other instance of dot3CollFrequencies would
+ be incremented in this example.
+
+ This counter does not increment when the
+ interface is operating in full-duplex mode.
+
+ Discontinuities in the value of this counter can
+
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ ::= { dot3CollEntry 3 }
+
+ dot3ControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3ControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A table of descriptive and status information
+ about the MAC Control sublayer on the
+ ethernet-like interfaces attached to a
+ particular system. There will be one row in
+ this table for each ethernet-like interface in
+ the system which implements the MAC Control
+ sublayer. If some, but not all, of the
+ ethernet-like interfaces in the system implement
+ the MAC Control sublayer, there will be fewer
+ rows in this table than in the dot3StatsTable."
+ ::= { dot3 9 }
+
+ dot3ControlEntry OBJECT-TYPE
+ SYNTAX Dot3ControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry in the table, containing information
+ about the MAC Control sublayer on a single
+ ethernet-like interface."
+ INDEX { dot3StatsIndex }
+ ::= { dot3ControlTable 1 }
+
+ Dot3ControlEntry ::=
+ SEQUENCE {
+ dot3ControlFunctionsSupported BITS,
+ dot3ControlInUnknownOpcodes Counter32,
+ dot3HCControlInUnknownOpcodes Counter64
+ }
+
+ dot3ControlFunctionsSupported OBJECT-TYPE
+ SYNTAX BITS {
+ pause(0) -- 802.3 flow control
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A list of the possible MAC Control functions
+ implemented for this interface."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.3.2,
+ aMACControlFunctionsSupported."
+ ::= { dot3ControlEntry 1 }
+
+ dot3ControlInUnknownOpcodes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface that contain an opcode that is not
+ supported by this device.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCControlInUnknownOpcodes object for 10 Gb/s
+ or faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.3.5,
+ aUnsupportedOpcodesReceived"
+ ::= { dot3ControlEntry 2 }
+
+ dot3HCControlInUnknownOpcodes OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface that contain an opcode that is not
+ supported by this device.
+
+ This counter is a 64 bit version of
+ dot3ControlInUnknownOpcodes. It should be used
+ on interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.3.5,
+ aUnsupportedOpcodesReceived"
+ ::= { dot3ControlEntry 3 }
+
+ dot3PauseTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3PauseEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A table of descriptive and status information
+ about the MAC Control PAUSE function on the
+ ethernet-like interfaces attached to a
+ particular system. There will be one row in
+ this table for each ethernet-like interface in
+ the system which supports the MAC Control PAUSE
+ function (i.e., the 'pause' bit in the
+ corresponding instance of
+ dot3ControlFunctionsSupported is set). If some,
+ but not all, of the ethernet-like interfaces in
+ the system implement the MAC Control PAUSE
+ function (for example, if some interfaces only
+ support half-duplex), there will be fewer rows
+ in this table than in the dot3StatsTable."
+ ::= { dot3 10 }
+
+ dot3PauseEntry OBJECT-TYPE
+ SYNTAX Dot3PauseEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry in the table, containing information
+ about the MAC Control PAUSE function on a single
+ ethernet-like interface."
+ INDEX { dot3StatsIndex }
+ ::= { dot3PauseTable 1 }
+
+ Dot3PauseEntry ::=
+
+ SEQUENCE {
+ dot3PauseAdminMode INTEGER,
+ dot3PauseOperMode INTEGER,
+ dot3InPauseFrames Counter32,
+ dot3OutPauseFrames Counter32,
+ dot3HCInPauseFrames Counter64,
+ dot3HCOutPauseFrames Counter64
+ }
+
+ dot3PauseAdminMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ disabled(1),
+ enabledXmit(2),
+ enabledRcv(3),
+ enabledXmitAndRcv(4)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "This object is used to configure the default
+ administrative PAUSE mode for this interface.
+
+ This object represents the
+ administratively-configured PAUSE mode for this
+ interface. If auto-negotiation is not enabled
+ or is not implemented for the active MAU
+ attached to this interface, the value of this
+ object determines the operational PAUSE mode
+ of the interface whenever it is operating in
+ full-duplex mode. In this case, a set to this
+ object will force the interface into the
+ specified mode.
+
+ If auto-negotiation is implemented and enabled
+ for the MAU attached to this interface, the
+ PAUSE mode for this interface is determined by
+ auto-negotiation, and the value of this object
+ denotes the mode to which the interface will
+ automatically revert if/when auto-negotiation is
+ later disabled. Note that when auto-negotiation
+ is running, administrative control of the PAUSE
+ mode may be accomplished using the
+ ifMauAutoNegCapAdvertisedBits object in the
+ MAU-MIB.
+
+ Note that the value of this object is ignored
+ when the interface is not operating in
+ full-duplex mode.
+
+ An attempt to set this object to
+ 'enabledXmit(2)' or 'enabledRcv(3)' will fail
+ on interfaces that do not support operation
+ at greater than 100 Mb/s."
+ ::= { dot3PauseEntry 1 }
+
+ dot3PauseOperMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ disabled(1),
+ enabledXmit(2),
+ enabledRcv(3),
+ enabledXmitAndRcv(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "This object reflects the PAUSE mode currently
+
+ in use on this interface, as determined by
+ either (1) the result of the auto-negotiation
+ function or (2) if auto-negotiation is not
+ enabled or is not implemented for the active MAU
+ attached to this interface, by the value of
+ dot3PauseAdminMode. Interfaces operating at
+ 100 Mb/s or less will never return
+ 'enabledXmit(2)' or 'enabledRcv(3)'. Interfaces
+ operating in half-duplex mode will always return
+ 'disabled(1)'. Interfaces on which
+ auto-negotiation is enabled but not yet
+ completed should return the value
+ 'disabled(1)'."
+ ::= { dot3PauseEntry 2 }
+
+ dot3InPauseFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface with an opcode indicating the PAUSE
+ operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCInPauseFrames object for 10 Gb/s or
+ faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.3,
+ aPAUSEMACCtrlFramesReceived."
+ ::= { dot3PauseEntry 3 }
+
+ dot3OutPauseFrames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames transmitted on
+ this interface with an opcode indicating the
+ PAUSE operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ For interfaces operating at 10 Gb/s, this
+ counter can roll over in less than 5 minutes if
+ it is incrementing at its maximum rate. Since
+ that amount of time could be less than a
+ management station's poll cycle time, in order
+ to avoid a loss of information, a management
+ station is advised to poll the
+ dot3HCOutPauseFrames object for 10 Gb/s or
+ faster interfaces.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.2,
+ aPAUSEMACCtrlFramesTransmitted."
+ ::= { dot3PauseEntry 4 }
+
+ dot3HCInPauseFrames OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames received on this
+ interface with an opcode indicating the PAUSE
+ operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ This counter is a 64 bit version of
+ dot3InPauseFrames. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.3,
+ aPAUSEMACCtrlFramesReceived."
+ ::= { dot3PauseEntry 5 }
+
+ dot3HCOutPauseFrames OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of MAC Control frames transmitted on
+ this interface with an opcode indicating the
+ PAUSE operation.
+
+ This counter does not increment when the
+ interface is operating in half-duplex mode.
+
+ This counter is a 64 bit version of
+ dot3OutPauseFrames. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.4.2,
+ aPAUSEMACCtrlFramesTransmitted."
+ ::= { dot3PauseEntry 6 }
+
+ dot3HCStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot3HCStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A table containing 64-bit versions of error
+ counters from the dot3StatsTable. The 32-bit
+ versions of these counters may roll over quite
+ quickly on higher speed ethernet interfaces.
+ The counters that have 64-bit versions in this
+ table are the counters that apply to full-duplex
+ interfaces, since 10 Gb/s and faster
+ ethernet-like interfaces do not support
+ half-duplex, and very few 1000 Mb/s
+ ethernet-like interfaces support half-duplex.
+
+ Entries in this table are recommended for
+ interfaces capable of operating at 1000 Mb/s or
+ faster, and are required for interfaces capable
+ of operating at 10 Gb/s or faster. Lower speed
+ ethernet-like interfaces do not need entries in
+ this table, in which case there may be fewer
+ entries in this table than in the
+ dot3StatsTable. However, implementations
+ containing interfaces with a mix of speeds may
+ choose to implement entries in this table for
+
+ all ethernet-like interfaces."
+ ::= { dot3 11 }
+
+ dot3HCStatsEntry OBJECT-TYPE
+ SYNTAX Dot3HCStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry containing 64-bit statistics for a
+ single ethernet-like interface."
+ INDEX { dot3StatsIndex }
+ ::= { dot3HCStatsTable 1 }
+
+ Dot3HCStatsEntry ::=
+ SEQUENCE {
+ dot3HCStatsAlignmentErrors Counter64,
+ dot3HCStatsFCSErrors Counter64,
+ dot3HCStatsInternalMacTransmitErrors Counter64,
+ dot3HCStatsFrameTooLongs Counter64,
+ dot3HCStatsInternalMacReceiveErrors Counter64,
+ dot3HCStatsSymbolErrors Counter64
+ }
+
+ dot3HCStatsAlignmentErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are not an integral number of
+ octets in length and do not pass the FCS check.
+
+ The count represented by an instance of this
+ object is incremented when the alignmentError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ This counter does not increment for group
+ encoding schemes greater than 4 bits per group.
+
+ This counter is a 64 bit version of
+ dot3StatsAlignmentErrors. It should be used
+ on interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.7,
+ aAlignmentErrors"
+ ::= { dot3HCStatsEntry 1 }
+
+ dot3HCStatsFCSErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that are an integral number of octets
+ in length but do not pass the FCS check. This
+ count does not include frames received with
+ frame-too-long or frame-too-short error.
+
+ The count represented by an instance of this
+ object is incremented when the frameCheckError
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ Note: Coding errors detected by the physical
+ layer for speeds above 10 Mb/s will cause the
+ frame to fail the FCS check.
+
+ This counter is a 64 bit version of
+ dot3StatsFCSErrors. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.6,
+ aFrameCheckSequenceErrors."
+ ::= { dot3HCStatsEntry 2 }
+
+ dot3HCStatsInternalMacTransmitErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which transmission on a
+ particular interface fails due to an internal
+ MAC sublayer transmit error. A frame is only
+
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsLateCollisions object, the
+ dot3StatsExcessiveCollisions object, or the
+ dot3StatsCarrierSenseErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of transmission
+ errors on a particular interface that are not
+ otherwise counted.
+
+ This counter is a 64 bit version of
+ dot3StatsInternalMacTransmitErrors. It should
+ be used on interfaces operating at 10 Gb/s or
+ faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.12,
+ aFramesLostDueToIntMACXmitError."
+ ::= { dot3HCStatsEntry 3 }
+
+ dot3HCStatsFrameTooLongs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames received on a particular
+ interface that exceed the maximum permitted
+ frame size.
+
+ The count represented by an instance of this
+ object is incremented when the frameTooLong
+ status is returned by the MAC service to the
+ LLC (or other MAC user). Received frames for
+ which multiple error conditions pertain are,
+ according to the conventions of IEEE 802.3
+ Layer Management, counted exclusively according
+ to the error status presented to the LLC.
+
+ This counter is a 64 bit version of
+ dot3StatsFrameTooLongs. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.25,
+ aFrameTooLongErrors."
+ ::= { dot3HCStatsEntry 4 }
+
+ dot3HCStatsInternalMacReceiveErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A count of frames for which reception on a
+ particular interface fails due to an internal
+ MAC sublayer receive error. A frame is only
+ counted by an instance of this object if it is
+ not counted by the corresponding instance of
+ either the dot3StatsFrameTooLongs object, the
+ dot3StatsAlignmentErrors object, or the
+ dot3StatsFCSErrors object.
+
+ The precise meaning of the count represented by
+ an instance of this object is implementation-
+ specific. In particular, an instance of this
+ object may represent a count of receive errors
+ on a particular interface that are not
+ otherwise counted.
+
+ This counter is a 64 bit version of
+ dot3StatsInternalMacReceiveErrors. It should be
+ used on interfaces operating at 10 Gb/s or
+ faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.1.1.15,
+ aFramesLostDueToIntMACRcvError."
+ ::= { dot3HCStatsEntry 5 }
+
+ dot3HCStatsSymbolErrors OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "For an interface operating at 100 Mb/s, the
+ number of times there was an invalid data symbol
+ when a valid carrier was present.
+
+ For an interface operating in half-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than slotTime, and
+ during which there was at least one occurrence
+ of an event that causes the PHY to indicate
+ 'Data reception error' or 'carrier extend error'
+ on the GMII.
+
+ For an interface operating in full-duplex mode
+ at 1000 Mb/s, the number of times the receiving
+ media is non-idle (a carrier event) for a period
+ of time equal to or greater than minFrameSize,
+ and during which there was at least one
+ occurrence of an event that causes the PHY to
+ indicate 'Data reception error' on the GMII.
+
+ For an interface operating at 10 Gb/s, the
+ number of times the receiving media is non-idle
+ (a carrier event) for a period of time equal to
+ or greater than minFrameSize, and during which
+ there was at least one occurrence of an event
+ that causes the PHY to indicate 'Receive Error'
+ on the XGMII.
+
+ The count represented by an instance of this
+ object is incremented at most once per carrier
+ event, even if multiple symbol errors occur
+ during the carrier event. This count does
+ not increment if a collision is present.
+
+ This counter is a 64 bit version of
+ dot3StatsSymbolErrors. It should be used on
+ interfaces operating at 10 Gb/s or faster.
+
+ Discontinuities in the value of this counter can
+ occur at re-initialization of the management
+ system, and at other times as indicated by the
+ value of ifCounterDiscontinuityTime."
+ REFERENCE "[IEEE 802.3 Std.], 30.3.2.1.5,
+ aSymbolErrorDuringCarrier."
+ ::= { dot3HCStatsEntry 6 }
+
+ -- 802.3 Tests
+
+ dot3Tests OBJECT IDENTIFIER ::= { dot3 6 }
+
+ dot3Errors OBJECT IDENTIFIER ::= { dot3 7 }
+
+ -- TDR Test
+
+ dot3TestTdr OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ The Time-Domain Reflectometry (TDR) test is
+ specific to ethernet-like interfaces of type
+ 10Base5 and 10Base2. The TDR value may be
+ useful in determining the approximate distance
+ to a cable fault. It is advisable to repeat
+ this test to check for a consistent resulting
+ TDR value, to verify that there is a fault.
+
+ A TDR test returns as its result the time
+ interval, measured in 10 MHz ticks or 100 nsec
+ units, between the start of TDR test
+ transmission and the subsequent detection of a
+ collision or deassertion of carrier. On
+ successful completion of a TDR test, the result
+ is stored as the value of an appropriate
+ instance of an appropriate vendor specific MIB
+ object, and the OBJECT IDENTIFIER of that
+ instance is stored in the appropriate instance
+ of the appropriate test result code object
+ (thereby indicating where the result has been
+ stored).
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Tests 1 }
+
+ -- Loopback Test
+
+ dot3TestLoopBack OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ This test configures the MAC chip and executes
+ an internal loopback test of memory, data paths,
+ and the MAC chip logic. This loopback test can
+ only be executed if the interface is offline.
+ Once the test has completed, the MAC chip should
+
+ be reinitialized for network operation, but it
+ should remain offline.
+
+ If an error occurs during a test, the
+ appropriate test result object will be set
+ to indicate a failure. The two OBJECT
+ IDENTIFIER values dot3ErrorInitError and
+ dot3ErrorLoopbackError may be used to provided
+ more information as values for an appropriate
+ test result code object.
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Tests 2 }
+
+ dot3ErrorInitError OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ Couldn't initialize MAC chip for test.
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Errors 1 }
+
+ dot3ErrorLoopbackError OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION "******** THIS IDENTITY IS DEPRECATED *******
+
+ Expected data not received (or not received
+ correctly) in loopback test.
+
+ This object identity has been deprecated, since
+ the ifTestTable in the IF-MIB was deprecated,
+ and there is no longer a standard mechanism for
+ initiating an interface test. This left no
+ standard way of using this object identity."
+ ::= { dot3Errors 2 }
+
+ -- { dot3 8 }, the dot3ChipSets tree, is defined in [RFC2666]
+
+ -- conformance information
+
+ etherConformance OBJECT IDENTIFIER ::= { etherMIB 2 }
+
+ etherGroups OBJECT IDENTIFIER ::= { etherConformance 1 }
+ etherCompliances OBJECT IDENTIFIER ::= { etherConformance 2 }
+
+ -- compliance statements
+
+ etherCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********
+
+ The compliance statement for managed network
+ entities which have ethernet-like network
+ interfaces.
+
+ This compliance is deprecated and replaced by
+ dot3Compliance."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStatsGroup }
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all systems which have the necessary
+ metering. Implementation in such systems is
+ highly recommended."
+ ::= { etherCompliances 1 }
+
+ ether100MbsCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********
+
+ The compliance statement for managed network
+ entities which have 100 Mb/sec ethernet-like
+ network interfaces.
+
+ This compliance is deprecated and replaced by
+ dot3Compliance."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStats100MbsGroup }
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all systems which have the necessary
+ metering. Implementation in such systems is
+ highly recommended."
+ ::= { etherCompliances 2 }
+
+ dot3Compliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********
+
+ The compliance statement for managed network
+ entities which have ethernet-like network
+ interfaces.
+
+ This compliance is deprecated and replaced by
+ dot3Compliance2."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStatsBaseGroup }
+
+ GROUP etherDuplexGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating in full-duplex mode.
+ It is highly recommended for all
+ ethernet-like network interfaces."
+
+ GROUP etherStatsLowSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 10 Mb/s or slower in
+ half-duplex mode."
+
+ GROUP etherStatsHighSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 100 Mb/s or faster."
+
+ GROUP etherControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control sublayer."
+
+ GROUP etherControlPauseGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control PAUSE function."
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all ethernet-like network interfaces
+ which are capable of operating in
+ half-duplex mode and have the necessary
+ metering. Implementation in systems with
+
+ such interfaces is highly recommended."
+ ::= { etherCompliances 3 }
+
+ dot3Compliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for managed network
+ entities which have ethernet-like network
+ interfaces.
+
+ Note that compliance with this MIB module
+ requires compliance with the ifCompliance3
+ MODULE-COMPLIANCE statement of the IF-MIB
+ (RFC2863). In addition, compliance with this
+ MIB module requires compliance with the
+ mauModIfCompl3 MODULE-COMPLIANCE statement of
+ the MAU-MIB (RFC3636)."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { etherStatsBaseGroup2 }
+
+ GROUP etherDuplexGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating in full-duplex mode.
+ It is highly recommended for all
+ ethernet-like network interfaces."
+
+ GROUP etherRateControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at speeds faster than
+ 1000 Mb/s. It is highly recommended for all
+ ethernet-like network interfaces."
+
+ GROUP etherStatsLowSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 10 Mb/s or slower in
+ half-duplex mode."
+
+ GROUP etherStatsHighSpeedGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 100 Mb/s or faster."
+
+ GROUP etherStatsHalfDuplexGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+
+ capable of operating in half-duplex mode."
+
+ GROUP etherHCStatsGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces which are
+ capable of operating at 10 Gb/s or faster.
+ It is recommended for all ethernet-like
+ network interfaces which are capable of
+ operating at 1000 Mb/s or faster."
+
+ GROUP etherControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control sublayer."
+
+ GROUP etherHCControlGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control sublayer and are
+ capable of operating at 10 Gb/s or faster."
+
+ GROUP etherControlPauseGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control PAUSE function."
+
+ GROUP etherHCControlPauseGroup
+ DESCRIPTION "This group is mandatory for all
+ ethernet-like network interfaces that
+ support the MAC Control PAUSE function and
+ are capable of operating at 10 Gb/s or
+ faster."
+
+ GROUP etherCollisionTableGroup
+ DESCRIPTION "This group is optional. It is appropriate
+ for all ethernet-like network interfaces
+ which are capable of operating in
+ half-duplex mode and have the necessary
+ metering. Implementation in systems with
+ such interfaces is highly recommended."
+ ::= { etherCompliances 4 }
+
+ -- units of conformance
+
+ etherStatsGroup OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsSQETestErrors,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsCarrierSenseErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors,
+ dot3StatsEtherChipSet
+ }
+ STATUS deprecated
+ DESCRIPTION "********* THIS GROUP IS DEPRECATED **********
+
+ A collection of objects providing information
+ applicable to all ethernet-like network
+ interfaces.
+
+ This object group has been deprecated and
+ replaced by etherStatsBaseGroup and
+ etherStatsLowSpeedGroup."
+ ::= { etherGroups 1 }
+
+ etherCollisionTableGroup OBJECT-GROUP
+ OBJECTS { dot3CollFrequencies
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing a histogram
+ of packets successfully transmitted after
+ experiencing exactly N collisions."
+ ::= { etherGroups 2 }
+
+ etherStats100MbsGroup OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsCarrierSenseErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors,
+ dot3StatsEtherChipSet,
+ dot3StatsSymbolErrors
+
+ }
+ STATUS deprecated
+ DESCRIPTION "********* THIS GROUP IS DEPRECATED **********
+
+ A collection of objects providing information
+ applicable to 100 Mb/sec ethernet-like network
+ interfaces.
+
+ This object group has been deprecated and
+ replaced by etherStatsBaseGroup and
+ etherStatsHighSpeedGroup."
+ ::= { etherGroups 3 }
+
+ etherStatsBaseGroup OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsCarrierSenseErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors
+ }
+ STATUS deprecated
+ DESCRIPTION "********* THIS GROUP IS DEPRECATED **********
+
+ A collection of objects providing information
+ applicable to all ethernet-like network
+ interfaces.
+
+ This object group has been deprecated and
+ replaced by etherStatsBaseGroup2 and
+ etherStatsHalfDuplexGroup, to separate
+ objects which must be implemented by all
+ ethernet-like network interfaces from
+ objects that need only be implemented on
+ ethernet-like network interfaces that are
+ capable of half-duplex operation."
+ ::= { etherGroups 4 }
+
+ etherStatsLowSpeedGroup OBJECT-GROUP
+ OBJECTS { dot3StatsSQETestErrors }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+
+ applicable to ethernet-like network interfaces
+ capable of operating at 10 Mb/s or slower in
+ half-duplex mode."
+ ::= { etherGroups 5 }
+
+ etherStatsHighSpeedGroup OBJECT-GROUP
+ OBJECTS { dot3StatsSymbolErrors }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ applicable to ethernet-like network interfaces
+ capable of operating at 100 Mb/s or faster."
+ ::= { etherGroups 6 }
+
+ etherDuplexGroup OBJECT-GROUP
+ OBJECTS { dot3StatsDuplexStatus }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about the duplex mode of an ethernet-like
+ network interface."
+ ::= { etherGroups 7 }
+
+ etherControlGroup OBJECT-GROUP
+ OBJECTS { dot3ControlFunctionsSupported,
+ dot3ControlInUnknownOpcodes
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about the MAC Control sublayer on ethernet-like
+ network interfaces."
+ ::= { etherGroups 8 }
+
+ etherControlPauseGroup OBJECT-GROUP
+ OBJECTS { dot3PauseAdminMode,
+ dot3PauseOperMode,
+ dot3InPauseFrames,
+ dot3OutPauseFrames
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about and control of the MAC Control PAUSE
+ function on ethernet-like network interfaces."
+ ::= { etherGroups 9 }
+
+ etherStatsBaseGroup2 OBJECT-GROUP
+ OBJECTS { dot3StatsIndex,
+ dot3StatsAlignmentErrors,
+ dot3StatsFCSErrors,
+ dot3StatsInternalMacTransmitErrors,
+ dot3StatsFrameTooLongs,
+ dot3StatsInternalMacReceiveErrors
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ applicable to all ethernet-like network
+ interfaces."
+ ::= { etherGroups 10 }
+
+ etherStatsHalfDuplexGroup OBJECT-GROUP
+ OBJECTS { dot3StatsSingleCollisionFrames,
+ dot3StatsMultipleCollisionFrames,
+ dot3StatsDeferredTransmissions,
+ dot3StatsLateCollisions,
+ dot3StatsExcessiveCollisions,
+ dot3StatsCarrierSenseErrors
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ applicable only to half-duplex ethernet-like
+ network interfaces."
+ ::= { etherGroups 11 }
+
+ etherHCStatsGroup OBJECT-GROUP
+ OBJECTS { dot3HCStatsAlignmentErrors,
+ dot3HCStatsFCSErrors,
+ dot3HCStatsInternalMacTransmitErrors,
+ dot3HCStatsFrameTooLongs,
+ dot3HCStatsInternalMacReceiveErrors,
+ dot3HCStatsSymbolErrors
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing high-capacity
+ statistics applicable to higher-speed
+ ethernet-like network interfaces."
+ ::= { etherGroups 12 }
+
+ etherHCControlGroup OBJECT-GROUP
+ OBJECTS { dot3HCControlInUnknownOpcodes }
+ STATUS current
+ DESCRIPTION "A collection of objects providing high-capacity
+ statistics for the MAC Control sublayer on
+ higher-speed ethernet-like network interfaces."
+ ::= { etherGroups 13 }
+
+ etherHCControlPauseGroup OBJECT-GROUP
+ OBJECTS { dot3HCInPauseFrames,
+ dot3HCOutPauseFrames
+
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing high-capacity
+ statistics for the MAC Control PAUSE function on
+ higher-speed ethernet-like network interfaces."
+ ::= { etherGroups 14 }
+
+ etherRateControlGroup OBJECT-GROUP
+ OBJECTS { dot3StatsRateControlAbility,
+ dot3StatsRateControlStatus
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing information
+ about the Rate Control function on ethernet-like
+ interfaces."
+ ::= { etherGroups 15 }
+
+END
diff --git a/mibs/HCNUM-TC.txt b/mibs/HCNUM-TC.txt
new file mode 100644
index 00000000..4be3d547
--- /dev/null
+++ b/mibs/HCNUM-TC.txt
@@ -0,0 +1,118 @@
+HCNUM-TC DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2, Counter64
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC;
+
+hcnumTC MODULE-IDENTITY
+ LAST-UPDATED "200006080000Z"
+
+ ORGANIZATION "IETF OPS Area"
+ CONTACT-INFO
+ " E-mail: mibs@ops.ietf.org
+ Subscribe: majordomo@psg.com
+ with msg body: subscribe mibs
+
+ Andy Bierman
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134 USA
+ +1 408-527-3711
+ abierman@cisco.com
+
+ Keith McCloghrie
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134 USA
+ +1 408-526-5260
+ kzm@cisco.com
+
+ Randy Presuhn
+ BMC Software, Inc.
+ Office 1-3141
+ 2141 North First Street
+ San Jose, California 95131 USA
+ +1 408 546-1006
+ rpresuhn@bmc.com"
+ DESCRIPTION
+ "A MIB module containing textual conventions
+ for high capacity data types. This module
+ addresses an immediate need for data types not directly
+ supported in the SMIv2. This short-term solution
+ is meant to be deprecated as a long-term solution
+ is deployed."
+ REVISION "200006080000Z"
+ DESCRIPTION
+ "Initial Version of the High Capacity Numbers
+ MIB module, published as RFC 2856."
+ ::= { mib-2 78 }
+
+CounterBasedGauge64 ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The CounterBasedGauge64 type represents a non-negative
+ integer, which may increase or decrease, but shall never
+ exceed a maximum value, nor fall below a minimum value. The
+ maximum value can not be greater than 2^64-1
+ (18446744073709551615 decimal), and the minimum value can
+
+ not be smaller than 0. The value of a CounterBasedGauge64
+ has its maximum value whenever the information being modeled
+ is greater than or equal to its maximum value, and has its
+ minimum value whenever the information being modeled is
+ smaller than or equal to its minimum value. If the
+ information being modeled subsequently decreases below
+ (increases above) the maximum (minimum) value, the
+ CounterBasedGauge64 also decreases (increases).
+
+ Note that this TC is not strictly supported in SMIv2,
+ because the 'always increasing' and 'counter wrap' semantics
+ associated with the Counter64 base type are not preserved.
+ It is possible that management applications which rely
+ solely upon the (Counter64) ASN.1 tag to determine object
+ semantics will mistakenly operate upon objects of this type
+ as they would for Counter64 objects.
+
+ This textual convention represents a limited and short-term
+ solution, and may be deprecated as a long term solution is
+ defined and deployed to replace it."
+ SYNTAX Counter64
+
+ZeroBasedCounter64 ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This TC describes an object which counts events with the
+ following semantics: objects of this type will be set to
+ zero(0) on creation and will thereafter count appropriate
+ events, wrapping back to zero(0) when the value 2^64 is
+ reached.
+
+ Provided that an application discovers the new object within
+ the minimum time to wrap it can use the initial value as a
+ delta since it last polled the table of which this object is
+ part. It is important for a management station to be aware
+ of this minimum time and the actual time between polls, and
+ to discard data if the actual time is too long or there is
+ no defined minimum time.
+
+ Typically this TC is used in tables where the INDEX space is
+ constantly changing and/or the TimeFilter mechanism is in
+ use.
+
+ Note that this textual convention does not retain all the
+ semantics of the Counter64 base type. Specifically, a
+ Counter64 has an arbitrary initial value, but objects
+ defined with this TC are required to start at the value
+
+ zero. This behavior is not likely to have any adverse
+ effects on management applications which are expecting
+ Counter64 semantics.
+
+ This textual convention represents a limited and short-term
+ solution, and may be deprecated as a long term solution is
+ defined and deployed to replace it."
+ SYNTAX Counter64
+
+END
diff --git a/mibs/HOST-RESOURCES-MIB.txt b/mibs/HOST-RESOURCES-MIB.txt
new file mode 100644
index 00000000..373b9b32
--- /dev/null
+++ b/mibs/HOST-RESOURCES-MIB.txt
@@ -0,0 +1,1540 @@
+HOST-RESOURCES-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+MODULE-IDENTITY, OBJECT-TYPE, mib-2,
+Integer32, Counter32, Gauge32, TimeTicks FROM SNMPv2-SMI
+
+TEXTUAL-CONVENTION, DisplayString,
+TruthValue, DateAndTime, AutonomousType FROM SNMPv2-TC
+
+MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+
+InterfaceIndexOrZero FROM IF-MIB;
+
+hostResourcesMibModule MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 March 2000
+ ORGANIZATION "IETF Host Resources MIB Working Group"
+ CONTACT-INFO
+ "Steve Waldbusser
+ Postal: Lucent Technologies, Inc.
+ 1213 Innsbruck Dr.
+ Sunnyvale, CA 94089
+ USA
+ Phone: 650-318-1251
+ Fax: 650-318-1633
+ Email: waldbusser@lucent.com
+
+ In addition, the Host Resources MIB mailing list is
+ dedicated to discussion of this MIB. To join the
+ mailing list, send a request message to
+ hostmib-request@andrew.cmu.edu. The mailing list
+ address is hostmib@andrew.cmu.edu."
+ DESCRIPTION
+ "This MIB is for use in managing host systems. The term
+ `host' is construed to mean any computer that communicates
+ with other similar computers attached to the internet and
+ that is directly used by one or more human beings. Although
+ this MIB does not necessarily apply to devices whose primary
+ function is communications services (e.g., terminal servers,
+ routers, bridges, monitoring equipment), such relevance is
+ not explicitly precluded. This MIB instruments attributes
+ common to all internet hosts including, for example, both
+ personal computers and systems that run variants of Unix."
+
+ REVISION "200003060000Z" -- 6 March 2000
+ DESCRIPTION
+ "Clarifications and bug fixes based on implementation
+ experience. This revision was also reformatted in the SMIv2
+ format. The revisions made were:
+
+ New RFC document standards:
+ Added Copyright notice, updated introduction to SNMP
+ Framework, updated references section, added reference to
+ RFC 2119, and added a meaningful Security Considerations
+ section.
+
+ New IANA considerations section for registration of new types
+
+ Conversion to new SMIv2 syntax for the following types and
+ macros:
+ Counter32, Integer32, Gauge32, MODULE-IDENTITY,
+ OBJECT-TYPE, TEXTUAL-CONVENTION, OBJECT-IDENTITY,
+ MODULE-COMPLIANCE, OBJECT-GROUP
+
+ Used new Textual Conventions:
+ TruthValue, DateAndTime, AutonomousType,
+ InterfaceIndexOrZero
+
+ Fixed typo in hrPrinterStatus.
+
+ Added missing error bits to hrPrinterDetectedErrorState and
+ clarified confusion resulting from suggested mappings to
+ hrPrinterStatus.
+
+ Clarified that size of objects of type
+ InternationalDisplayString is number of octets, not number
+ of encoded symbols.
+
+ Clarified the use of the following objects based on
+ implementation experience:
+ hrSystemInitialLoadDevice, hrSystemInitialLoadParameters,
+ hrMemorySize, hrStorageSize, hrStorageAllocationFailures,
+ hrDeviceErrors, hrProcessorLoad, hrNetworkIfIndex,
+ hrDiskStorageCapacity, hrSWRunStatus, hrSWRunPerfCPU,
+ and hrSWInstalledDate.
+
+ Clarified implementation technique for hrSWInstalledTable.
+
+ Used new AUGMENTS clause for hrSWRunPerfTable.
+
+ Added Internationalization Considerations section.
+
+This revision published as RFC2790."
+
+ REVISION "9910202200Z" -- 20 October, 1999
+ DESCRIPTION
+ "The original version of this MIB, published as
+ RFC1514."
+ ::= { hrMIBAdminInfo 1 }
+
+host OBJECT IDENTIFIER ::= { mib-2 25 }
+
+hrSystem OBJECT IDENTIFIER ::= { host 1 }
+hrStorage OBJECT IDENTIFIER ::= { host 2 }
+hrDevice OBJECT IDENTIFIER ::= { host 3 }
+hrSWRun OBJECT IDENTIFIER ::= { host 4 }
+hrSWRunPerf OBJECT IDENTIFIER ::= { host 5 }
+hrSWInstalled OBJECT IDENTIFIER ::= { host 6 }
+hrMIBAdminInfo OBJECT IDENTIFIER ::= { host 7 }
+
+-- textual conventions
+
+KBytes ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Storage size, expressed in units of 1024 bytes."
+ SYNTAX Integer32 (0..2147483647)
+
+ProductID ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This textual convention is intended to identify the
+
+ manufacturer, model, and version of a specific
+ hardware or software product. It is suggested that
+ these OBJECT IDENTIFIERs are allocated such that all
+ products from a particular manufacturer are registered
+ under a subtree distinct to that manufacturer. In
+ addition, all versions of a product should be
+ registered under a subtree distinct to that product.
+ With this strategy, a management station may uniquely
+ determine the manufacturer and/or model of a product
+ whose productID is unknown to the management station.
+ Objects of this type may be useful for inventory
+ purposes or for automatically detecting
+ incompatibilities or version mismatches between
+ various hardware and software components on a system.
+
+ For example, the product ID for the ACME 4860 66MHz
+ clock doubled processor might be:
+ enterprises.acme.acmeProcessors.a4860DX2.MHz66
+
+ A software product might be registered as:
+ enterprises.acme.acmeOperatingSystems.acmeDOS.six(6).one(1)
+ "
+ SYNTAX OBJECT IDENTIFIER
+
+-- unknownProduct will be used for any unknown ProductID
+-- unknownProduct OBJECT IDENTIFIER ::= { 0 0 }
+
+InternationalDisplayString ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model textual information
+ in some character set. A network management station
+ should use a local algorithm to determine which
+ character set is in use and how it should be
+ displayed. Note that this character set may be
+ encoded with more than one octet per symbol, but will
+ most often be NVT ASCII. When a size clause is
+ specified for an object of this type, the size refers
+ to the length in octets, not the number of symbols."
+ SYNTAX OCTET STRING
+
+-- The Host Resources System Group
+
+hrSystemUptime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time since this host was last
+ initialized. Note that this is different from
+ sysUpTime in the SNMPv2-MIB [RFC1907] because
+ sysUpTime is the uptime of the network management
+ portion of the system."
+ ::= { hrSystem 1 }
+
+hrSystemDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The host's notion of the local date and time of day."
+ ::= { hrSystem 2 }
+
+hrSystemInitialLoadDevice OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The index of the hrDeviceEntry for the device from
+ which this host is configured to load its initial
+ operating system configuration (i.e., which operating
+ system code and/or boot parameters).
+
+ Note that writing to this object just changes the
+ configuration that will be used the next time the
+ operating system is loaded and does not actually cause
+ the reload to occur."
+ ::= { hrSystem 3 }
+
+hrSystemInitialLoadParameters OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..128))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object contains the parameters (e.g. a pathname
+ and parameter) supplied to the load device when
+ requesting the initial operating system configuration
+ from that device.
+
+ Note that writing to this object just changes the
+ configuration that will be used the next time the
+ operating system is loaded and does not actually cause
+ the reload to occur."
+ ::= { hrSystem 4 }
+
+hrSystemNumUsers OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of user sessions for which this host is
+ storing state information. A session is a collection
+ of processes requiring a single act of user
+ authentication and possibly subject to collective job
+ control."
+ ::= { hrSystem 5 }
+
+hrSystemProcesses OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of process contexts currently loaded or
+ running on this system."
+ ::= { hrSystem 6 }
+
+hrSystemMaxProcesses OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of process contexts this system
+ can support. If there is no fixed maximum, the value
+ should be zero. On systems that have a fixed maximum,
+ this object can help diagnose failures that occur when
+ this maximum is reached."
+ ::= { hrSystem 7 }
+
+-- The Host Resources Storage Group
+
+-- Registration point for storage types, for use with hrStorageType.
+-- These are defined in the HOST-RESOURCES-TYPES module.
+hrStorageTypes OBJECT IDENTIFIER ::= { hrStorage 1 }
+
+hrMemorySize OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of physical read-write main memory,
+ typically RAM, contained by the host."
+ ::= { hrStorage 2 }
+
+hrStorageTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of logical storage areas on
+ the host.
+
+ An entry shall be placed in the storage table for each
+ logical area of storage that is allocated and has
+ fixed resource limits. The amount of storage
+ represented in an entity is the amount actually usable
+ by the requesting entity, and excludes loss due to
+ formatting or file system reference information.
+
+ These entries are associated with logical storage
+ areas, as might be seen by an application, rather than
+ physical storage entities which are typically seen by
+ an operating system. Storage such as tapes and
+ floppies without file systems on them are typically
+ not allocated in chunks by the operating system to
+ requesting applications, and therefore shouldn't
+ appear in this table. Examples of valid storage for
+ this table include disk partitions, file systems, ram
+ (for some architectures this is further segmented into
+ regular memory, extended memory, and so on), backing
+ store for virtual memory (`swap space').
+
+ This table is intended to be a useful diagnostic for
+ `out of memory' and `out of buffers' types of
+ failures. In addition, it can be a useful performance
+ monitoring tool for tracking memory, disk, or buffer
+ usage."
+ ::= { hrStorage 3 }
+
+hrStorageEntry OBJECT-TYPE
+ SYNTAX HrStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one logical storage area on
+ the host. As an example, an instance of the
+ hrStorageType object might be named hrStorageType.3"
+ INDEX { hrStorageIndex }
+ ::= { hrStorageTable 1 }
+
+HrStorageEntry ::= SEQUENCE {
+ hrStorageIndex Integer32,
+ hrStorageType AutonomousType,
+ hrStorageDescr DisplayString,
+ hrStorageAllocationUnits Integer32,
+ hrStorageSize Integer32,
+ hrStorageUsed Integer32,
+ hrStorageAllocationFailures Counter32
+ }
+
+hrStorageIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each logical storage area
+ contained by the host."
+ ::= { hrStorageEntry 1 }
+
+hrStorageType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of storage represented by this entry."
+ ::= { hrStorageEntry 2 }
+
+hrStorageDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the type and instance of the storage
+ described by this entry."
+ ::= { hrStorageEntry 3 }
+
+hrStorageAllocationUnits OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ UNITS "Bytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size, in bytes, of the data objects allocated
+ from this pool. If this entry is monitoring sectors,
+ blocks, buffers, or packets, for example, this number
+ will commonly be greater than one. Otherwise this
+ number will typically be one."
+ ::= { hrStorageEntry 4 }
+
+hrStorageSize OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The size of the storage represented by this entry, in
+ units of hrStorageAllocationUnits. This object is
+ writable to allow remote configuration of the size of
+ the storage area in those cases where such an
+ operation makes sense and is possible on the
+ underlying system. For example, the amount of main
+ memory allocated to a buffer pool might be modified or
+ the amount of disk space allocated to virtual memory
+ might be modified."
+ ::= { hrStorageEntry 5 }
+
+hrStorageUsed OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of the storage represented by this entry
+ that is allocated, in units of
+ hrStorageAllocationUnits."
+ ::= { hrStorageEntry 6 }
+
+hrStorageAllocationFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of requests for storage represented by
+ this entry that could not be honored due to not enough
+ storage. It should be noted that as this object has a
+ SYNTAX of Counter32, that it does not have a defined
+ initial value. However, it is recommended that this
+ object be initialized to zero, even though management
+ stations must not depend on such an initialization."
+ ::= { hrStorageEntry 7 }
+
+-- The Host Resources Device Group
+--
+-- The device group is useful for identifying and diagnosing the
+-- devices on a system. The hrDeviceTable contains common
+-- information for any type of device. In addition, some devices
+-- have device-specific tables for more detailed information. More
+-- such tables may be defined in the future for other device types.
+
+-- Registration point for device types, for use with hrDeviceType.
+
+-- These are defined in the HOST-RESOURCES-TYPES module.
+hrDeviceTypes OBJECT IDENTIFIER ::= { hrDevice 1 }
+
+hrDeviceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrDeviceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of devices contained by the
+ host."
+ ::= { hrDevice 2 }
+
+hrDeviceEntry OBJECT-TYPE
+ SYNTAX HrDeviceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one device contained by the
+ host. As an example, an instance of the hrDeviceType
+ object might be named hrDeviceType.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrDeviceTable 1 }
+
+HrDeviceEntry ::= SEQUENCE {
+ hrDeviceIndex Integer32,
+ hrDeviceType AutonomousType,
+ hrDeviceDescr DisplayString,
+ hrDeviceID ProductID,
+ hrDeviceStatus INTEGER,
+ hrDeviceErrors Counter32
+ }
+
+hrDeviceIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each device contained by the host.
+ The value for each device must remain constant at
+ least from one re-initialization of the agent to the
+ next re-initialization."
+ ::= { hrDeviceEntry 1 }
+
+hrDeviceType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the type of device.
+
+ If this value is
+ `hrDeviceProcessor { hrDeviceTypes 3 }' then an entry
+ exists in the hrProcessorTable which corresponds to
+ this device.
+
+ If this value is
+ `hrDeviceNetwork { hrDeviceTypes 4 }', then an entry
+ exists in the hrNetworkTable which corresponds to this
+ device.
+
+ If this value is
+ `hrDevicePrinter { hrDeviceTypes 5 }', then an entry
+ exists in the hrPrinterTable which corresponds to this
+ device.
+
+ If this value is
+ `hrDeviceDiskStorage { hrDeviceTypes 6 }', then an
+ entry exists in the hrDiskStorageTable which
+ corresponds to this device."
+ ::= { hrDeviceEntry 2 }
+
+hrDeviceDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..64))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this device, including the
+ device's manufacturer and revision, and optionally,
+ its serial number."
+ ::= { hrDeviceEntry 3 }
+
+hrDeviceID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID for this device."
+ ::= { hrDeviceEntry 4 }
+
+hrDeviceStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ running(2),
+ warning(3),
+ testing(4),
+ down(5)
+
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of the device described
+ by this row of the table. A value unknown(1)
+ indicates that the current state of the device is
+ unknown. running(2) indicates that the device is up
+ and running and that no unusual error conditions are
+ known. The warning(3) state indicates that agent has
+ been informed of an unusual error condition by the
+ operational software (e.g., a disk device driver) but
+ that the device is still 'operational'. An example
+ would be a high number of soft errors on a disk. A
+ value of testing(4), indicates that the device is not
+ available for use because it is in the testing state.
+ The state of down(5) is used only when the agent has
+ been informed that the device is not available for any
+ use."
+ ::= { hrDeviceEntry 5 }
+
+hrDeviceErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of errors detected on this device. It
+ should be noted that as this object has a SYNTAX of
+ Counter32, that it does not have a defined initial
+ value. However, it is recommended that this object be
+ initialized to zero, even though management stations
+ must not depend on such an initialization."
+ ::= { hrDeviceEntry 6 }
+
+hrProcessorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrProcessorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of processors contained by the
+ host.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDeviceProcessor'."
+ ::= { hrDevice 3 }
+
+hrProcessorEntry OBJECT-TYPE
+ SYNTAX HrProcessorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one processor contained by
+ the host. The hrDeviceIndex in the index represents
+ the entry in the hrDeviceTable that corresponds to the
+ hrProcessorEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrProcessorFrwID object might be
+ named hrProcessorFrwID.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrProcessorTable 1 }
+
+HrProcessorEntry ::= SEQUENCE {
+ hrProcessorFrwID ProductID,
+ hrProcessorLoad Integer32
+ }
+
+hrProcessorFrwID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID of the firmware associated with the
+ processor."
+ ::= { hrProcessorEntry 1 }
+
+hrProcessorLoad OBJECT-TYPE
+ SYNTAX Integer32 (0..100)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The average, over the last minute, of the percentage
+ of time that this processor was not idle.
+ Implementations may approximate this one minute
+ smoothing period if necessary."
+ ::= { hrProcessorEntry 2 }
+
+hrNetworkTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of network devices contained
+ by the host.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDeviceNetwork'."
+ ::= { hrDevice 4 }
+
+hrNetworkEntry OBJECT-TYPE
+ SYNTAX HrNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one network device contained
+ by the host. The hrDeviceIndex in the index
+ represents the entry in the hrDeviceTable that
+ corresponds to the hrNetworkEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrNetworkIfIndex object might be
+ named hrNetworkIfIndex.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrNetworkTable 1 }
+
+HrNetworkEntry ::= SEQUENCE {
+ hrNetworkIfIndex InterfaceIndexOrZero
+ }
+
+hrNetworkIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex which corresponds to this
+ network device. If this device is not represented in
+ the ifTable, then this value shall be zero."
+ ::= { hrNetworkEntry 1 }
+
+hrPrinterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrPrinterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of printers local to the host.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDevicePrinter'."
+ ::= { hrDevice 5 }
+
+hrPrinterEntry OBJECT-TYPE
+ SYNTAX HrPrinterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one printer local to the
+ host. The hrDeviceIndex in the index represents the
+ entry in the hrDeviceTable that corresponds to the
+ hrPrinterEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrPrinterStatus object might be
+ named hrPrinterStatus.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrPrinterTable 1 }
+
+HrPrinterEntry ::= SEQUENCE {
+ hrPrinterStatus INTEGER,
+ hrPrinterDetectedErrorState OCTET STRING
+ }
+
+hrPrinterStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ unknown(2),
+ idle(3),
+ printing(4),
+ warmup(5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current status of this printer device."
+ ::= { hrPrinterEntry 1 }
+
+hrPrinterDetectedErrorState OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object represents any error conditions detected
+ by the printer. The error conditions are encoded as
+ bits in an octet string, with the following
+ definitions:
+
+ Condition Bit #
+
+ lowPaper 0
+
+ noPaper 1
+ lowToner 2
+ noToner 3
+ doorOpen 4
+ jammed 5
+ offline 6
+ serviceRequested 7
+ inputTrayMissing 8
+ outputTrayMissing 9
+ markerSupplyMissing 10
+ outputNearFull 11
+ outputFull 12
+ inputTrayEmpty 13
+ overduePreventMaint 14
+
+ Bits are numbered starting with the most significant
+ bit of the first byte being bit 0, the least
+ significant bit of the first byte being bit 7, the
+ most significant bit of the second byte being bit 8,
+ and so on. A one bit encodes that the condition was
+ detected, while a zero bit encodes that the condition
+ was not detected.
+
+ This object is useful for alerting an operator to
+ specific warning or error conditions that may occur,
+ especially those requiring human intervention."
+ ::= { hrPrinterEntry 2 }
+
+hrDiskStorageTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrDiskStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of long-term storage devices
+ contained by the host. In particular, disk devices
+ accessed remotely over a network are not included
+ here.
+
+ Note that this table is potentially sparse: a
+ (conceptual) entry exists only if the correspondent
+ value of the hrDeviceType object is
+ `hrDeviceDiskStorage'."
+ ::= { hrDevice 6 }
+
+hrDiskStorageEntry OBJECT-TYPE
+ SYNTAX HrDiskStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one long-term storage device
+ contained by the host. The hrDeviceIndex in the index
+ represents the entry in the hrDeviceTable that
+ corresponds to the hrDiskStorageEntry. As an example,
+ an instance of the hrDiskStorageCapacity object might
+ be named hrDiskStorageCapacity.3"
+ INDEX { hrDeviceIndex }
+ ::= { hrDiskStorageTable 1 }
+
+HrDiskStorageEntry ::= SEQUENCE {
+ hrDiskStorageAccess INTEGER,
+ hrDiskStorageMedia INTEGER,
+ hrDiskStorageRemoveble TruthValue,
+ hrDiskStorageCapacity KBytes
+ }
+
+hrDiskStorageAccess OBJECT-TYPE
+ SYNTAX INTEGER {
+ readWrite(1),
+ readOnly(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication if this long-term storage device is
+ readable and writable or only readable. This should
+ reflect the media type, any write-protect mechanism,
+ and any device configuration that affects the entire
+ device."
+ ::= { hrDiskStorageEntry 1 }
+
+hrDiskStorageMedia OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1),
+ unknown(2),
+ hardDisk(3),
+ floppyDisk(4),
+ opticalDiskROM(5),
+ opticalDiskWORM(6), -- Write Once Read Many
+ opticalDiskRW(7),
+ ramDisk(8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of the type of media used in this long-
+ term storage device."
+ ::= { hrDiskStorageEntry 2 }
+
+hrDiskStorageRemoveble OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Denotes whether or not the disk media may be removed
+ from the drive."
+ ::= { hrDiskStorageEntry 3 }
+
+hrDiskStorageCapacity OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total size for this long-term storage device. If
+ the media is removable and is currently removed, this
+ value should be zero."
+ ::= { hrDiskStorageEntry 4 }
+
+hrPartitionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrPartitionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of partitions for long-term
+ storage devices contained by the host. In particular,
+ partitions accessed remotely over a network are not
+ included here."
+ ::= { hrDevice 7 }
+
+hrPartitionEntry OBJECT-TYPE
+ SYNTAX HrPartitionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one partition. The
+ hrDeviceIndex in the index represents the entry in the
+ hrDeviceTable that corresponds to the
+ hrPartitionEntry.
+
+ As an example of how objects in this table are named,
+ an instance of the hrPartitionSize object might be
+ named hrPartitionSize.3.1"
+ INDEX { hrDeviceIndex, hrPartitionIndex }
+ ::= { hrPartitionTable 1 }
+
+HrPartitionEntry ::= SEQUENCE {
+ hrPartitionIndex Integer32,
+ hrPartitionLabel InternationalDisplayString,
+ hrPartitionID OCTET STRING,
+ hrPartitionSize KBytes,
+ hrPartitionFSIndex Integer32
+ }
+
+hrPartitionIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each partition on this long-term
+ storage device. The value for each long-term storage
+ device must remain constant at least from one re-
+ initialization of the agent to the next re-
+ initialization."
+ ::= { hrPartitionEntry 1 }
+
+hrPartitionLabel OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this partition."
+ ::= { hrPartitionEntry 2 }
+
+hrPartitionID OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A descriptor which uniquely represents this partition
+ to the responsible operating system. On some systems,
+ this might take on a binary representation."
+ ::= { hrPartitionEntry 3 }
+
+hrPartitionSize OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of this partition."
+ ::= { hrPartitionEntry 4 }
+
+hrPartitionFSIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index of the file system mounted on this
+ partition. If no file system is mounted on this
+ partition, then this value shall be zero. Note that
+ multiple partitions may point to one file system,
+ denoting that that file system resides on those
+ partitions. Multiple file systems may not reside on
+ one partition."
+ ::= { hrPartitionEntry 5 }
+
+-- The File System Table
+
+-- Registration point for popular File System types,
+-- for use with hrFSType. These are defined in the
+-- HOST-RESOURCES-TYPES module.
+hrFSTypes OBJECT IDENTIFIER ::= { hrDevice 9 }
+
+hrFSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrFSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of file systems local to this
+ host or remotely mounted from a file server. File
+ systems that are in only one user's environment on a
+ multi-user system will not be included in this table."
+ ::= { hrDevice 8 }
+
+hrFSEntry OBJECT-TYPE
+ SYNTAX HrFSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one file system local to
+ this host or remotely mounted from a file server.
+ File systems that are in only one user's environment
+ on a multi-user system will not be included in this
+ table.
+
+ As an example of how objects in this table are named,
+ an instance of the hrFSMountPoint object might be
+ named hrFSMountPoint.3"
+ INDEX { hrFSIndex }
+ ::= { hrFSTable 1 }
+
+HrFSEntry ::= SEQUENCE {
+ hrFSIndex Integer32,
+ hrFSMountPoint InternationalDisplayString,
+ hrFSRemoteMountPoint InternationalDisplayString,
+ hrFSType AutonomousType,
+ hrFSAccess INTEGER,
+ hrFSBootable TruthValue,
+ hrFSStorageIndex Integer32,
+ hrFSLastFullBackupDate DateAndTime,
+ hrFSLastPartialBackupDate DateAndTime
+ }
+
+hrFSIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each file system local to this
+ host. The value for each file system must remain
+ constant at least from one re-initialization of the
+ agent to the next re-initialization."
+ ::= { hrFSEntry 1 }
+
+hrFSMountPoint OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The path name of the root of this file system."
+ ::= { hrFSEntry 2 }
+
+hrFSRemoteMountPoint OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the name and/or address of the
+ server that this file system is mounted from. This
+ may also include parameters such as the mount point on
+ the remote file system. If this is not a remote file
+ system, this string should have a length of zero."
+ ::= { hrFSEntry 3 }
+
+hrFSType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the type of this
+ file system."
+ ::= { hrFSEntry 4 }
+
+hrFSAccess OBJECT-TYPE
+ SYNTAX INTEGER {
+ readWrite(1),
+ readOnly(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication if this file system is logically
+ configured by the operating system to be readable and
+ writable or only readable. This does not represent
+ any local access-control policy, except one that is
+ applied to the file system as a whole."
+ ::= { hrFSEntry 5 }
+
+hrFSBootable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A flag indicating whether this file system is
+ bootable."
+ ::= { hrFSEntry 6 }
+
+hrFSStorageIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index of the hrStorageEntry that represents
+ information about this file system. If there is no
+ such information available, then this value shall be
+ zero. The relevant storage entry will be useful in
+ tracking the percent usage of this file system and
+ diagnosing errors that may occur when it runs out of
+ space."
+ ::= { hrFSEntry 7 }
+
+hrFSLastFullBackupDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The last date at which this complete file system was
+
+ copied to another storage device for backup. This
+ information is useful for ensuring that backups are
+ being performed regularly.
+
+ If this information is not known, then this variable
+ shall have the value corresponding to January 1, year
+ 0000, 00:00:00.0, which is encoded as
+ (hex)'00 00 01 01 00 00 00 00'."
+ ::= { hrFSEntry 8 }
+
+hrFSLastPartialBackupDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The last date at which a portion of this file system
+ was copied to another storage device for backup. This
+ information is useful for ensuring that backups are
+ being performed regularly.
+
+ If this information is not known, then this variable
+ shall have the value corresponding to January 1, year
+ 0000, 00:00:00.0, which is encoded as
+ (hex)'00 00 01 01 00 00 00 00'."
+ ::= { hrFSEntry 9 }
+
+-- The Host Resources Running Software Group
+--
+-- The hrSWRunTable contains an entry for each distinct piece of
+-- software that is running or loaded into physical or virtual
+-- memory in preparation for running. This includes the host's
+-- operating system, device drivers, and applications.
+
+hrSWOSIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the hrSWRunIndex for the hrSWRunEntry
+ that represents the primary operating system running
+ on this host. This object is useful for quickly and
+ uniquely identifying that primary operating system."
+ ::= { hrSWRun 1 }
+
+hrSWRunTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrSWRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of software running on the
+ host."
+ ::= { hrSWRun 2 }
+
+hrSWRunEntry OBJECT-TYPE
+ SYNTAX HrSWRunEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for one piece of software
+ running on the host Note that because the installed
+ software table only contains information for software
+ stored locally on this host, not every piece of
+ running software will be found in the installed
+ software table. This is true of software that was
+ loaded and run from a non-local source, such as a
+ network-mounted file system.
+
+ As an example of how objects in this table are named,
+ an instance of the hrSWRunName object might be named
+ hrSWRunName.1287"
+ INDEX { hrSWRunIndex }
+ ::= { hrSWRunTable 1 }
+
+HrSWRunEntry ::= SEQUENCE {
+ hrSWRunIndex Integer32,
+ hrSWRunName InternationalDisplayString,
+ hrSWRunID ProductID,
+ hrSWRunPath InternationalDisplayString,
+ hrSWRunParameters InternationalDisplayString,
+ hrSWRunType INTEGER,
+ hrSWRunStatus INTEGER
+ }
+
+hrSWRunIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each piece of software running on
+ the host. Wherever possible, this should be the
+ system's native, unique identification number."
+ ::= { hrSWRunEntry 1 }
+
+hrSWRunName OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..64))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this running piece of
+ software, including the manufacturer, revision, and
+ the name by which it is commonly known. If this
+ software was installed locally, this should be the
+ same string as used in the corresponding
+ hrSWInstalledName."
+ ::= { hrSWRunEntry 2 }
+
+hrSWRunID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID of this running piece of software."
+ ::= { hrSWRunEntry 3 }
+
+hrSWRunPath OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the location on long-term storage
+ (e.g. a disk drive) from which this software was
+ loaded."
+ ::= { hrSWRunEntry 4 }
+
+hrSWRunParameters OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE(0..128))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the parameters supplied to this
+ software when it was initially loaded."
+ ::= { hrSWRunEntry 5 }
+
+hrSWRunType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ operatingSystem(2),
+ deviceDriver(3),
+ application(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of this software."
+ ::= { hrSWRunEntry 6 }
+
+hrSWRunStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ running(1),
+ runnable(2), -- waiting for resource
+ -- (i.e., CPU, memory, IO)
+ notRunnable(3), -- loaded but waiting for event
+ invalid(4) -- not loaded
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The status of this running piece of software.
+ Setting this value to invalid(4) shall cause this
+ software to stop running and to be unloaded. Sets to
+ other values are not valid."
+ ::= { hrSWRunEntry 7 }
+
+-- The Host Resources Running Software Performance Group
+--
+-- The hrSWRunPerfTable contains an entry corresponding to
+-- each entry in the hrSWRunTable.
+
+hrSWRunPerfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrSWRunPerfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of running software
+ performance metrics."
+ ::= { hrSWRunPerf 1 }
+
+hrSWRunPerfEntry OBJECT-TYPE
+ SYNTAX HrSWRunPerfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry containing software performance
+ metrics. As an example, an instance of the
+ hrSWRunPerfCPU object might be named
+ hrSWRunPerfCPU.1287"
+ AUGMENTS { hrSWRunEntry } -- This table augments information in
+ -- the hrSWRunTable.
+ ::= { hrSWRunPerfTable 1 }
+
+HrSWRunPerfEntry ::= SEQUENCE {
+ hrSWRunPerfCPU Integer32,
+ hrSWRunPerfMem KBytes
+}
+
+hrSWRunPerfCPU OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of centi-seconds of the total system's CPU
+ resources consumed by this process. Note that on a
+ multi-processor system, this value may increment by
+ more than one centi-second in one centi-second of real
+ (wall clock) time."
+ ::= { hrSWRunPerfEntry 1 }
+
+hrSWRunPerfMem OBJECT-TYPE
+ SYNTAX KBytes
+ UNITS "KBytes"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total amount of real system memory allocated to
+ this process."
+ ::= { hrSWRunPerfEntry 2 }
+
+-- The Host Resources Installed Software Group
+--
+-- The hrSWInstalledTable contains an entry for each piece
+-- of software installed in long-term storage (e.g. a disk
+-- drive) locally on this host. Note that this does not
+-- include software loadable remotely from a network
+-- server.
+--
+-- Different implementations may track software in varying
+-- ways. For example, while some implementations may track
+-- executable files as distinct pieces of software, other
+-- implementations may use other strategies such as keeping
+-- track of software "packages" (e.g., related groups of files)
+-- or keeping track of system or application "patches".
+--
+-- This table is useful for identifying and inventorying
+-- software on a host and for diagnosing incompatibility
+-- and version mismatch problems between various pieces
+-- of hardware and software.
+
+hrSWInstalledLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when an entry in the
+ hrSWInstalledTable was last added, renamed, or
+ deleted. Because this table is likely to contain many
+ entries, polling of this object allows a management
+ station to determine when re-downloading of the table
+ might be useful."
+ ::= { hrSWInstalled 1 }
+
+hrSWInstalledLastUpdateTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the hrSWInstalledTable
+ was last completely updated. Because caching of this
+ data will be a popular implementation strategy,
+ retrieval of this object allows a management station
+ to obtain a guarantee that no data in this table is
+ older than the indicated time."
+ ::= { hrSWInstalled 2 }
+
+hrSWInstalledTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HrSWInstalledEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table of software installed on this
+ host."
+ ::= { hrSWInstalled 3 }
+
+hrSWInstalledEntry OBJECT-TYPE
+ SYNTAX HrSWInstalledEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A (conceptual) entry for a piece of software
+ installed on this host.
+
+ As an example of how objects in this table are named,
+ an instance of the hrSWInstalledName object might be
+ named hrSWInstalledName.96"
+ INDEX { hrSWInstalledIndex }
+ ::= { hrSWInstalledTable 1 }
+
+HrSWInstalledEntry ::= SEQUENCE {
+ hrSWInstalledIndex Integer32,
+ hrSWInstalledName InternationalDisplayString,
+ hrSWInstalledID ProductID,
+ hrSWInstalledType INTEGER,
+ hrSWInstalledDate DateAndTime
+}
+
+hrSWInstalledIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value for each piece of software installed
+ on the host. This value shall be in the range from 1
+ to the number of pieces of software installed on the
+ host."
+ ::= { hrSWInstalledEntry 1 }
+
+hrSWInstalledName OBJECT-TYPE
+ SYNTAX InternationalDisplayString (SIZE (0..64))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of this installed piece of
+ software, including the manufacturer, revision, the
+ name by which it is commonly known, and optionally,
+ its serial number."
+ ::= { hrSWInstalledEntry 2 }
+
+hrSWInstalledID OBJECT-TYPE
+ SYNTAX ProductID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The product ID of this installed piece of software."
+ ::= { hrSWInstalledEntry 3 }
+
+hrSWInstalledType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(1),
+ operatingSystem(2),
+ deviceDriver(3),
+ application(4)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of this software."
+ ::= { hrSWInstalledEntry 4 }
+
+hrSWInstalledDate OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The last-modification date of this application as it
+ would appear in a directory listing.
+
+ If this information is not known, then this variable
+ shall have the value corresponding to January 1, year
+ 0000, 00:00:00.0, which is encoded as
+ (hex)'00 00 01 01 00 00 00 00'."
+ ::= { hrSWInstalledEntry 5 }
+
+-- Conformance information
+
+hrMIBCompliances OBJECT IDENTIFIER ::= { hrMIBAdminInfo 2 }
+hrMIBGroups OBJECT IDENTIFIER ::= { hrMIBAdminInfo 3 }
+
+-- Compliance Statements
+hrMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The requirements for conformance to the Host Resources MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { hrSystemGroup, hrStorageGroup,
+ hrDeviceGroup }
+
+ OBJECT hrSystemDate
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrSystemInitialLoadDevice
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrSystemInitialLoadParameters
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrStorageSize
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrFSLastFullBackupDate
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT hrFSLastPartialBackupDate
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ GROUP hrSWRunGroup
+ DESCRIPTION
+ "The Running Software Group. Implementation
+ of this group is mandatory only when the
+ hrSWRunPerfGroup is implemented."
+
+ OBJECT hrSWRunStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ GROUP hrSWRunPerfGroup
+ DESCRIPTION
+ "The Running Software Performance Group.
+ Implementation of this group is at the discretion
+ of the implementor."
+
+ GROUP hrSWInstalledGroup
+ DESCRIPTION
+ "The Installed Software Group.
+ Implementation of this group is at the discretion
+ of the implementor."
+ ::= { hrMIBCompliances 1 }
+
+ hrSystemGroup OBJECT-GROUP
+ OBJECTS {
+ hrSystemUptime, hrSystemDate,
+ hrSystemInitialLoadDevice,
+ hrSystemInitialLoadParameters,
+ hrSystemNumUsers, hrSystemProcesses,
+ hrSystemMaxProcesses
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources System Group."
+ ::= { hrMIBGroups 1 }
+
+ hrStorageGroup OBJECT-GROUP
+ OBJECTS {
+ hrMemorySize, hrStorageIndex, hrStorageType,
+ hrStorageDescr, hrStorageAllocationUnits,
+ hrStorageSize, hrStorageUsed,
+ hrStorageAllocationFailures
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Storage Group."
+ ::= { hrMIBGroups 2 }
+
+ hrDeviceGroup OBJECT-GROUP
+ OBJECTS {
+ hrDeviceIndex, hrDeviceType, hrDeviceDescr,
+ hrDeviceID, hrDeviceStatus, hrDeviceErrors,
+ hrProcessorFrwID, hrProcessorLoad,
+ hrNetworkIfIndex, hrPrinterStatus,
+ hrPrinterDetectedErrorState,
+ hrDiskStorageAccess, hrDiskStorageMedia,
+ hrDiskStorageRemoveble, hrDiskStorageCapacity,
+ hrPartitionIndex, hrPartitionLabel,
+ hrPartitionID, hrPartitionSize,
+ hrPartitionFSIndex, hrFSIndex, hrFSMountPoint,
+ hrFSRemoteMountPoint, hrFSType, hrFSAccess,
+ hrFSBootable, hrFSStorageIndex,
+ hrFSLastFullBackupDate,
+ hrFSLastPartialBackupDate
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Device Group."
+ ::= { hrMIBGroups 3 }
+
+ hrSWRunGroup OBJECT-GROUP
+ OBJECTS {
+ hrSWOSIndex, hrSWRunIndex, hrSWRunName,
+ hrSWRunID, hrSWRunPath, hrSWRunParameters,
+ hrSWRunType, hrSWRunStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Running Software Group."
+ ::= { hrMIBGroups 4 }
+
+ hrSWRunPerfGroup OBJECT-GROUP
+ OBJECTS { hrSWRunPerfCPU, hrSWRunPerfMem }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Running Software
+ Performance Group."
+ ::= { hrMIBGroups 5 }
+
+ hrSWInstalledGroup OBJECT-GROUP
+ OBJECTS {
+ hrSWInstalledLastChange,
+ hrSWInstalledLastUpdateTime,
+ hrSWInstalledIndex, hrSWInstalledName,
+ hrSWInstalledID, hrSWInstalledType,
+ hrSWInstalledDate
+ }
+ STATUS current
+ DESCRIPTION
+ "The Host Resources Installed Software Group."
+ ::= { hrMIBGroups 6 }
+
+END
diff --git a/mibs/HOST-RESOURCES-TYPES.txt b/mibs/HOST-RESOURCES-TYPES.txt
new file mode 100644
index 00000000..d25bb403
--- /dev/null
+++ b/mibs/HOST-RESOURCES-TYPES.txt
@@ -0,0 +1,389 @@
+HOST-RESOURCES-TYPES DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY FROM SNMPv2-SMI
+ hrMIBAdminInfo, hrStorage, hrDevice FROM HOST-RESOURCES-MIB;
+
+hostResourcesTypesModule MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 March, 2000
+ ORGANIZATION "IETF Host Resources MIB Working Group"
+ CONTACT-INFO
+ "Steve Waldbusser
+ Postal: Lucent Technologies, Inc.
+ 1213 Innsbruck Dr.
+ Sunnyvale, CA 94089
+ USA
+ Phone: 650-318-1251
+ Fax: 650-318-1633
+ Email: waldbusser@ins.com
+
+ In addition, the Host Resources MIB mailing list is dedicated
+ to discussion of this MIB. To join the mailing list, send a
+ request message to hostmib-request@andrew.cmu.edu. The mailing
+ list address is hostmib@andrew.cmu.edu."
+ DESCRIPTION
+ "This MIB module registers type definitions for
+ storage types, device types, and file system types.
+
+ After the initial revision, this module will be
+ maintained by IANA."
+ REVISION "200003060000Z" -- 6 March 2000
+ DESCRIPTION
+ "The original version of this module, published as RFC
+ 2790."
+ ::= { hrMIBAdminInfo 4 }
+
+-- Registrations for some storage types, for use with hrStorageType
+hrStorageTypes OBJECT IDENTIFIER ::= { hrStorage 1 }
+
+hrStorageOther OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used when no other defined
+ type is appropriate."
+ ::= { hrStorageTypes 1 }
+
+hrStorageRam OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for RAM."
+ ::= { hrStorageTypes 2 }
+
+hrStorageVirtualMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for virtual memory,
+ temporary storage of swapped or paged memory."
+ ::= { hrStorageTypes 3 }
+
+hrStorageFixedDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for non-removable
+ rigid rotating magnetic storage devices."
+ ::= { hrStorageTypes 4 }
+
+hrStorageRemovableDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for removable rigid
+ rotating magnetic storage devices."
+ ::= { hrStorageTypes 5 }
+
+hrStorageFloppyDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for non-rigid rotating
+ magnetic storage devices."
+ ::= { hrStorageTypes 6 }
+
+hrStorageCompactDisc OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for read-only rotating
+ optical storage devices."
+ ::= { hrStorageTypes 7 }
+
+hrStorageRamDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for a file system that
+ is stored in RAM."
+ ::= { hrStorageTypes 8 }
+
+hrStorageFlashMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for flash memory."
+ ::= { hrStorageTypes 9 }
+
+hrStorageNetworkDisk OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The storage type identifier used for a
+ networked file system."
+ ::= { hrStorageTypes 10 }
+
+-- Registrations for some device types, for use with hrDeviceType
+hrDeviceTypes OBJECT IDENTIFIER ::= { hrDevice 1 }
+
+hrDeviceOther OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used when no other defined
+ type is appropriate."
+ ::= { hrDeviceTypes 1 }
+
+hrDeviceUnknown OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used when the device type is
+ unknown."
+ ::= { hrDeviceTypes 2 }
+
+hrDeviceProcessor OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a CPU."
+ ::= { hrDeviceTypes 3 }
+
+hrDeviceNetwork OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a network interface."
+ ::= { hrDeviceTypes 4 }
+
+hrDevicePrinter OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a printer."
+ ::= { hrDeviceTypes 5 }
+
+hrDeviceDiskStorage OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a disk drive."
+ ::= { hrDeviceTypes 6 }
+
+hrDeviceVideo OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a video device."
+ ::= { hrDeviceTypes 10 }
+
+hrDeviceAudio OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for an audio device."
+ ::= { hrDeviceTypes 11 }
+
+hrDeviceCoprocessor OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a co-processor."
+ ::= { hrDeviceTypes 12 }
+
+hrDeviceKeyboard OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a keyboard device."
+ ::= { hrDeviceTypes 13 }
+
+hrDeviceModem OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a modem."
+ ::= { hrDeviceTypes 14 }
+
+hrDeviceParallelPort OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a parallel port."
+ ::= { hrDeviceTypes 15 }
+
+hrDevicePointing OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a pointing device
+ (e.g., a mouse)."
+ ::= { hrDeviceTypes 16 }
+
+hrDeviceSerialPort OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a serial port."
+ ::= { hrDeviceTypes 17 }
+
+hrDeviceTape OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a tape storage device."
+ ::= { hrDeviceTypes 18 }
+
+hrDeviceClock OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a clock device."
+ ::= { hrDeviceTypes 19 }
+
+hrDeviceVolatileMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a volatile memory
+ storage device."
+ ::= { hrDeviceTypes 20 }
+
+hrDeviceNonVolatileMemory OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The device type identifier used for a non-volatile memory
+
+ storage device."
+ ::= { hrDeviceTypes 21 }
+
+-- Registrations for some popular File System types,
+-- for use with hrFSType.
+hrFSTypes OBJECT IDENTIFIER ::= { hrDevice 9 }
+
+hrFSOther OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used when no other
+ defined type is appropriate."
+ ::= { hrFSTypes 1 }
+
+hrFSUnknown OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used when the type of
+ file system is unknown."
+ ::= { hrFSTypes 2 }
+
+hrFSBerkeleyFFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Berkeley Fast File System."
+ ::= { hrFSTypes 3 }
+
+hrFSSys5FS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ System V File System."
+ ::= { hrFSTypes 4 }
+
+hrFSFat OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for
+ DOS's FAT file system."
+ ::= { hrFSTypes 5 }
+
+hrFSHPFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for OS/2's
+ High Performance File System."
+ ::= { hrFSTypes 6 }
+
+hrFSHFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Macintosh Hierarchical File System."
+ ::= { hrFSTypes 7 }
+
+hrFSMFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Macintosh File System."
+ ::= { hrFSTypes 8 }
+
+hrFSNTFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Windows NT File System."
+ ::= { hrFSTypes 9 }
+
+hrFSVNode OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ VNode File System."
+ ::= { hrFSTypes 10 }
+
+hrFSJournaled OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Journaled File System."
+ ::= { hrFSTypes 11 }
+
+hrFSiso9660 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ ISO 9660 File System for CD's."
+ ::= { hrFSTypes 12 }
+
+hrFSRockRidge OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ RockRidge File System for CD's."
+ ::= { hrFSTypes 13 }
+
+hrFSNFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ NFS File System."
+ ::= { hrFSTypes 14 }
+
+hrFSNetware OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Netware File System."
+ ::= { hrFSTypes 15 }
+
+hrFSAFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Andrew File System."
+ ::= { hrFSTypes 16 }
+
+hrFSDFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ OSF DCE Distributed File System."
+ ::= { hrFSTypes 17 }
+
+hrFSAppleshare OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ AppleShare File System."
+ ::= { hrFSTypes 18 }
+
+hrFSRFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ RFS File System."
+ ::= { hrFSTypes 19 }
+
+hrFSDGCFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Data General DGCFS."
+ ::= { hrFSTypes 20 }
+
+hrFSBFS OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ SVR4 Boot File System."
+ ::= { hrFSTypes 21 }
+
+hrFSFAT32 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Windows FAT32 File System."
+ ::= { hrFSTypes 22 }
+
+hrFSLinuxExt2 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The file system type identifier used for the
+ Linux EXT2 File System."
+ ::= { hrFSTypes 23 }
+
+END
diff --git a/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt b/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
new file mode 100644
index 00000000..73322dd5
--- /dev/null
+++ b/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt
@@ -0,0 +1,123 @@
+ IANA-ADDRESS-FAMILY-NUMBERS-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY,
+ mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ ianaAddressFamilyNumbers MODULE-IDENTITY
+ LAST-UPDATED "200203140000Z" -- March 14, 2002
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ "Postal: Internet Assigned Numbers Authority
+ Internet Corporation for Assigned Names
+ and Numbers
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292-6601
+ USA
+
+ Tel: +1 310-823-9358
+ E-Mail: iana@iana.org"
+ DESCRIPTION
+ "The MIB module defines the AddressFamilyNumbers
+ textual convention."
+
+ -- revision history
+
+ REVISION "200203140000Z" -- March 14, 2002
+ DESCRIPTION "AddressFamilyNumbers assignment 22 to
+ fibreChannelWWPN. AddressFamilyNumbers
+ assignment 23 to fibreChannelWWNN.
+ AddressFamilyNumers assignment 24 to gwid."
+
+ REVISION "200009080000Z" -- September 8, 2000
+ DESCRIPTION "AddressFamilyNumbers assignment 19 to xtpOverIpv4.
+ AddressFamilyNumbers assignment 20 to xtpOverIpv6.
+ AddressFamilyNumbers assignment 21 to xtpNativeModeXTP."
+
+ REVISION "200003010000Z" -- March 1, 2000
+ DESCRIPTION "AddressFamilyNumbers assignment 17 to distinguishedName.
+ AddressFamilyNumbers assignment 18 to asNumber."
+
+ REVISION "200002040000Z" -- February 4, 2000
+ DESCRIPTION "AddressFamilyNumbers assignment 16 to dns."
+
+ REVISION "9908260000Z" -- August 26, 1999
+ DESCRIPTION "Initial version, published as RFC 2677."
+ ::= { mib-2 72 }
+
+ AddressFamilyNumbers ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The definition of this textual convention with the
+ addition of newly assigned values is published
+ periodically by the IANA, in either the Assigned
+ Numbers RFC, or some derivative of it specific to
+ Internet Network Management number assignments.
+ (The latest arrangements can be obtained by
+ contacting the IANA.)
+
+ The enumerations are described as:
+
+ other(0), -- none of the following
+ ipV4(1), -- IP Version 4
+ ipV6(2), -- IP Version 6
+ nsap(3), -- NSAP
+ hdlc(4), -- (8-bit multidrop)
+ bbn1822(5),
+ all802(6), -- (includes all 802 media
+ -- plus Ethernet 'canonical format')
+ e163(7),
+ e164(8), -- (SMDS, Frame Relay, ATM)
+ f69(9), -- (Telex)
+ x121(10), -- (X.25, Frame Relay)
+ ipx(11), -- IPX (Internet Protocol Exchange)
+ appleTalk(12), -- Apple Talk
+ decnetIV(13), -- DEC Net Phase IV
+ banyanVines(14), -- Banyan Vines
+ e164withNsap(15),
+ -- (E.164 with NSAP format subaddress)
+ dns(16), -- (Domain Name System)
+ distinguishedName(17), -- (Distinguished Name, per X.500)
+ asNumber(18), -- (16-bit quantity, per the AS number space)
+ xtpOverIpv4(19), -- XTP over IP version 4
+ xtpOverIpv6(20), -- XTP over IP version 6
+ xtpNativeModeXTP(21), -- XTP native mode XTP
+ fibreChannelWWPN(22), -- Fibre Channel World-Wide Port Name
+ fibreChannelWWNN(23), -- Fibre Channel World-Wide Node Name
+ gwid(24), -- Gateway Identifier
+ afi(25), -- AFI for L2VPN information
+ reserved(65535)
+
+ Requests for new values should be made to IANA via
+ email (iana@iana.org)."
+ SYNTAX INTEGER {
+ other(0),
+ ipV4(1),
+ ipV6(2),
+ nsap(3),
+ hdlc(4),
+ bbn1822(5),
+ all802(6),
+ e163(7),
+ e164(8),
+ f69(9),
+ x121(10),
+ ipx(11),
+ appleTalk(12),
+ decnetIV(13),
+ banyanVines(14),
+ e164withNsap(15),
+ dns(16),
+ distinguishedName(17), -- (Distinguished Name, per X.500)
+ asNumber(18), -- (16-bit quantity, per the AS number space)
+ xtpOverIpv4(19),
+ xtpOverIpv6(20),
+ xtpNativeModeXTP(21),
+ fibreChannelWWPN(22),
+ fibreChannelWWNN(23),
+ gwid(24),
+ afi(25),
+ reserved(65535)
+ }
+ END
diff --git a/mibs/IANA-LANGUAGE-MIB.txt b/mibs/IANA-LANGUAGE-MIB.txt
new file mode 100644
index 00000000..b0ad3ed5
--- /dev/null
+++ b/mibs/IANA-LANGUAGE-MIB.txt
@@ -0,0 +1,123 @@
+IANA-LANGUAGE-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY, mib-2
+ FROM SNMPv2-SMI;
+
+ianaLanguages MODULE-IDENTITY
+ LAST-UPDATED "200005100000Z" -- May 10, 2000
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ "Internet Assigned Numbers Authority (IANA)
+
+ Postal: ICANN
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292
+
+ Tel: +1 310 823 9358 x20
+ E-Mail: iana@iana.org"
+ DESCRIPTION
+ "The MIB module registers object identifier values for
+ well-known programming and scripting languages. Every
+ language registration MUST describe the format used
+ when transferring scripts written in this language.
+
+ Any additions or changes to the contents of this MIB
+ module require Designated Expert Review as defined in
+ the Guidelines for Writing IANA Considerations Section
+ document. The Designated Expert will be selected by
+ the IESG Area Director of the OPS Area.
+
+ Note, this module does not have to register all possible
+ languages since languages are identified by object
+ identifier values. It is therefore possible to registered
+ languages in private OID trees. The references given below are not
+ normative with regard to the language version. Other
+ references might be better suited to describe some newer
+ versions of this language. The references are only
+ provided as `a pointer into the right direction'."
+
+ -- Revision log, in reverse chronological order
+
+ REVISION "200005100000Z" -- May 10, 2000
+ DESCRIPTION "Import mib-2 instead of experimental, so that
+ this module compiles"
+
+ REVISION "199909090900Z" -- September 9, 1999
+ DESCRIPTION "Initial version as published at time of
+ publication of RFC 2591."
+ ::= { mib-2 73 }
+
+ianaLangJavaByteCode OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "Java byte code to be processed by a Java virtual machine.
+ A script written in Java byte code is transferred by using
+ the Java archive file format (JAR)."
+ REFERENCE
+ "The Java Virtual Machine Specification.
+ ISBN 0-201-63452-X"
+ ::= { ianaLanguages 1 }
+
+ianaLangTcl OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Tool Command Language (Tcl). A script written in the
+ Tcl language is transferred in Tcl source code format."
+ REFERENCE
+ "Tcl and the Tk Toolkit.
+ ISBN 0-201-63337-X"
+ ::= { ianaLanguages 2 }
+
+ianaLangPerl OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Perl language. A script written in the Perl language
+ is transferred in Perl source code format."
+ REFERENCE
+ "Programming Perl.
+ ISBN 1-56592-149-6"
+ ::= { ianaLanguages 3 }
+
+ianaLangScheme OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Scheme language. A script written in the Scheme
+ language is transferred in Scheme source code format."
+ REFERENCE
+ "The Revised^4 Report on the Algorithmic Language Scheme.
+ MIT Press"
+ ::= { ianaLanguages 4 }
+
+ianaLangSRSL OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP Script Language defined by SNMP Research. A
+ script written in the SNMP Script Language is transferred
+ in the SNMP Script Language source code format."
+ ::= { ianaLanguages 5 }
+
+ianaLangPSL OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Patrol Script Language defined by BMC Software. A script
+ written in the Patrol Script Language is transferred in the
+ Patrol Script Language source code format."
+ REFERENCE
+ "PATROL Script Language Reference Manual, Version 3.0,
+ November 30, 1995. BMC Software, Inc. 2101 City West Blvd.,
+ Houston, Texas 77042."
+ ::= { ianaLanguages 6 }
+
+ianaLangSMSL OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Systems Management Scripting Language. A script written
+ in the SMSL language is transferred in the SMSL source code
+ format."
+ REFERENCE
+ "ISO/ITU Command Sequencer.
+ ISO 10164-21 or ITU X.753"
+ ::= { ianaLanguages 7 }
+
+END
diff --git a/mibs/IANA-RTPROTO-MIB.txt b/mibs/IANA-RTPROTO-MIB.txt
new file mode 100644
index 00000000..f50992ec
--- /dev/null
+++ b/mibs/IANA-RTPROTO-MIB.txt
@@ -0,0 +1,91 @@
+IANA-RTPROTO-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ianaRtProtoMIB MODULE-IDENTITY
+ LAST-UPDATED "201107220000Z" -- July 22, 2011
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ " Internet Assigned Numbers Authority
+ Internet Corporation for Assigned Names and Numbers
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292-6601
+
+ Phone: +1 310 823 9358
+ EMail: iana&iana.org"
+ DESCRIPTION
+ "This MIB module defines the IANAipRouteProtocol and
+ IANAipMRouteProtocol textual conventions for use in MIBs
+ which need to identify unicast or multicast routing
+ mechanisms.
+
+ Any additions or changes to the contents of this MIB module
+ require either publication of an RFC, or Designated Expert
+ Review as defined in RFC 2434, Guidelines for Writing an
+ IANA Considerations Section in RFCs. The Designated Expert
+ will be selected by the IESG Area Director(s) of the Routing
+ Area."
+
+ REVISION "201107220000Z" -- July 22, 2011
+ DESCRIPTION "Added rpl(18) ."
+
+ REVISION "200009260000Z" -- September 26, 2000
+ DESCRIPTION "Original version, published in coordination
+ with RFC 2932."
+ ::= { mib-2 84 }
+
+IANAipRouteProtocol ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A mechanism for learning routes. Inclusion of values for
+ routing protocols is not intended to imply that those
+ protocols need be supported."
+ SYNTAX INTEGER {
+ other (1), -- not specified
+ local (2), -- local interface
+ netmgmt (3), -- static route
+ icmp (4), -- result of ICMP Redirect
+
+ -- the following are all dynamic
+ -- routing protocols
+
+ egp (5), -- Exterior Gateway Protocol
+ ggp (6), -- Gateway-Gateway Protocol
+ hello (7), -- FuzzBall HelloSpeak
+ rip (8), -- Berkeley RIP or RIP-II
+ isIs (9), -- Dual IS-IS
+ esIs (10), -- ISO 9542
+ ciscoIgrp (11), -- Cisco IGRP
+ bbnSpfIgp (12), -- BBN SPF IGP
+ ospf (13), -- Open Shortest Path First
+ bgp (14), -- Border Gateway Protocol
+ idpr (15), -- InterDomain Policy Routing
+ ciscoEigrp (16), -- Cisco EIGRP
+ dvmrp (17), -- DVMRP
+ rpl (18) -- RPL [RFC-ietf-roll-rpl-19]
+ }
+
+IANAipMRouteProtocol ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The multicast routing protocol. Inclusion of values for
+ multicast routing protocols is not intended to imply that
+ those protocols need be supported."
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ local(2), -- e.g., manually configured
+ netmgmt(3), -- set via net.mgmt protocol
+ dvmrp(4),
+ mospf(5),
+ pimSparseDense(6), -- PIMv1, both DM and SM
+ cbt(7),
+ pimSparseMode(8), -- PIM-SM
+ pimDenseMode(9), -- PIM-DM
+ igmpOnly(10),
+ bgmp(11),
+ msdp(12)
+ }
+
+END
diff --git a/mibs/IANAifType-MIB.txt b/mibs/IANAifType-MIB.txt
new file mode 100644
index 00000000..df59fa91
--- /dev/null
+++ b/mibs/IANAifType-MIB.txt
@@ -0,0 +1,638 @@
+ IANAifType-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ ianaifType MODULE-IDENTITY
+ LAST-UPDATED "201205170000Z" -- May 17, 2012
+ ORGANIZATION "IANA"
+ CONTACT-INFO " Internet Assigned Numbers Authority
+
+ Postal: ICANN
+ 4676 Admiralty Way, Suite 330
+ Marina del Rey, CA 90292
+
+ Tel: +1 310 823 9358
+ E-Mail: iana&iana.org"
+ DESCRIPTION "This MIB module defines the IANAifType Textual
+ Convention, and thus the enumerated values of
+ the ifType object defined in MIB-II's ifTable."
+
+ REVISION "201205170000Z" -- May 17, 2012
+ DESCRIPTION "Registration of new IANAifType 272."
+
+ REVISION "201201110000Z" -- January 11, 2012
+ DESCRIPTION "Registration of new IANAifTypes 266-271."
+
+ REVISION "201112180000Z" -- December 18, 2011
+ DESCRIPTION "Registration of new IANAifTypes 263-265."
+
+ REVISION "201110260000Z" -- October 26, 2011
+ DESCRIPTION "Registration of new IANAifType 262."
+
+ REVISION "201109070000Z" -- September 7, 2011
+ DESCRIPTION "Registration of new IANAifTypes 260 and 261."
+
+ REVISION "201107220000Z" -- July 22, 2011
+ DESCRIPTION "Registration of new IANAifType 259."
+
+ REVISION "201106030000Z" -- June 03, 2011
+ DESCRIPTION "Registration of new IANAifType 258."
+
+ REVISION "201009210000Z" -- September 21, 2010
+ DESCRIPTION "Registration of new IANAifTypes 256 and 257."
+
+ REVISION "201007210000Z" -- July 21, 2010
+ DESCRIPTION "Registration of new IANAifType 255."
+
+ REVISION "201002110000Z" -- February 11, 2010
+ DESCRIPTION "Registration of new IANAifType 254."
+
+ REVISION "201002080000Z" -- February 08, 2010
+ DESCRIPTION "Registration of new IANAifTypes 252 and 253."
+
+ REVISION "200905060000Z" -- May 06, 2009
+ DESCRIPTION "Registration of new IANAifType 251."
+
+ REVISION "200902060000Z" -- February 06, 2009
+ DESCRIPTION "Registration of new IANAtunnelType 15."
+
+ REVISION "200810090000Z" -- October 09, 2008
+ DESCRIPTION "Registration of new IANAifType 250."
+
+ REVISION "200808120000Z" -- August 12, 2008
+ DESCRIPTION "Registration of new IANAifType 249."
+
+ REVISION "200807220000Z" -- July 22, 2008
+ DESCRIPTION "Registration of new IANAifTypes 247 and 248."
+
+ REVISION "200806240000Z" -- June 24, 2008
+ DESCRIPTION "Registration of new IANAifType 246."
+
+ REVISION "200805290000Z" -- May 29, 2008
+ DESCRIPTION "Registration of new IANAifType 245."
+
+ REVISION "200709130000Z" -- September 13, 2007
+ DESCRIPTION "Registration of new IANAifTypes 243 and 244."
+
+ REVISION "200705290000Z" -- May 29, 2007
+ DESCRIPTION "Changed the description for IANAifType 228."
+
+ REVISION "200703080000Z" -- March 08, 2007
+ DESCRIPTION "Registration of new IANAifType 242."
+
+ REVISION "200701230000Z" -- January 23, 2007
+ DESCRIPTION "Registration of new IANAifTypes 239, 240, and 241."
+
+ REVISION "200610170000Z" -- October 17, 2006
+ DESCRIPTION "Deprecated/Obsoleted IANAifType 230. Registration of
+ IANAifType 238."
+
+ REVISION "200609250000Z" -- September 25, 2006
+ DESCRIPTION "Changed the description for IANA ifType
+ 184 and added new IANA ifType 237."
+
+ REVISION "200608170000Z" -- August 17, 2006
+ DESCRIPTION "Changed the descriptions for IANAifTypes
+ 20 and 21."
+
+ REVISION "200608110000Z" -- August 11, 2006
+ DESCRIPTION "Changed the descriptions for IANAifTypes
+ 7, 11, 62, 69, and 117."
+
+ REVISION "200607250000Z" -- July 25, 2006
+ DESCRIPTION "Registration of new IANA ifType 236."
+
+ REVISION "200606140000Z" -- June 14, 2006
+ DESCRIPTION "Registration of new IANA ifType 235."
+
+ REVISION "200603310000Z" -- March 31, 2006
+ DESCRIPTION "Registration of new IANA ifType 234."
+
+ REVISION "200603300000Z" -- March 30, 2006
+ DESCRIPTION "Registration of new IANA ifType 233."
+
+ REVISION "200512220000Z" -- December 22, 2005
+ DESCRIPTION "Registration of new IANA ifTypes 231 and 232."
+
+ REVISION "200510100000Z" -- October 10, 2005
+ DESCRIPTION "Registration of new IANA ifType 230."
+
+ REVISION "200509090000Z" -- September 09, 2005
+ DESCRIPTION "Registration of new IANA ifType 229."
+
+ REVISION "200505270000Z" -- May 27, 2005
+ DESCRIPTION "Registration of new IANA ifType 228."
+
+ REVISION "200503030000Z" -- March 3, 2005
+ DESCRIPTION "Added the IANAtunnelType TC and deprecated
+ IANAifType sixToFour (215) per RFC4087."
+
+ REVISION "200411220000Z" -- November 22, 2004
+ DESCRIPTION "Registration of new IANA ifType 227 per RFC4631."
+
+ REVISION "200406170000Z" -- June 17, 2004
+ DESCRIPTION "Registration of new IANA ifType 226."
+
+ REVISION "200405120000Z" -- May 12, 2004
+ DESCRIPTION "Added description for IANAifType 6, and
+ changed the descriptions for IANAifTypes
+ 180, 181, and 182."
+
+ REVISION "200405070000Z" -- May 7, 2004
+ DESCRIPTION "Registration of new IANAifType 225."
+
+ REVISION "200308250000Z" -- Aug 25, 2003
+ DESCRIPTION "Deprecated IANAifTypes 7 and 11. Obsoleted
+ IANAifTypes 62, 69, and 117. ethernetCsmacd (6)
+ should be used instead of these values"
+
+ REVISION "200308180000Z" -- Aug 18, 2003
+ DESCRIPTION "Registration of new IANAifType
+ 224."
+
+ REVISION "200308070000Z" -- Aug 7, 2003
+ DESCRIPTION "Registration of new IANAifTypes
+ 222 and 223."
+
+ REVISION "200303180000Z" -- Mar 18, 2003
+ DESCRIPTION "Registration of new IANAifType
+ 221."
+
+ REVISION "200301130000Z" -- Jan 13, 2003
+ DESCRIPTION "Registration of new IANAifType
+ 220."
+
+ REVISION "200210170000Z" -- Oct 17, 2002
+ DESCRIPTION "Registration of new IANAifType
+ 219."
+
+ REVISION "200207160000Z" -- Jul 16, 2002
+ DESCRIPTION "Registration of new IANAifTypes
+ 217 and 218."
+
+ REVISION "200207100000Z" -- Jul 10, 2002
+ DESCRIPTION "Registration of new IANAifTypes
+ 215 and 216."
+
+ REVISION "200206190000Z" -- Jun 19, 2002
+ DESCRIPTION "Registration of new IANAifType
+ 214."
+
+ REVISION "200201040000Z" -- Jan 4, 2002
+ DESCRIPTION "Registration of new IANAifTypes
+ 211, 212 and 213."
+
+ REVISION "200112200000Z" -- Dec 20, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 209 and 210."
+
+ REVISION "200111150000Z" -- Nov 15, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 207 and 208."
+
+ REVISION "200111060000Z" -- Nov 6, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 206."
+
+ REVISION "200111020000Z" -- Nov 2, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 205."
+
+ REVISION "200110160000Z" -- Oct 16, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 199, 200, 201, 202, 203, and 204."
+
+ REVISION "200109190000Z" -- Sept 19, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 198."
+
+ REVISION "200105110000Z" -- May 11, 2001
+ DESCRIPTION "Registration of new IANAifType
+ 197."
+
+ REVISION "200101120000Z" -- Jan 12, 2001
+ DESCRIPTION "Registration of new IANAifTypes
+ 195 and 196."
+
+ REVISION "200012190000Z" -- Dec 19, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 193 and 194."
+
+ REVISION "200012070000Z" -- Dec 07, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 191 and 192."
+
+ REVISION "200012040000Z" -- Dec 04, 2000
+ DESCRIPTION "Registration of new IANAifType
+ 190."
+
+ REVISION "200010170000Z" -- Oct 17, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 188 and 189."
+
+ REVISION "200010020000Z" -- Oct 02, 2000
+ DESCRIPTION "Registration of new IANAifType 187."
+
+ REVISION "200009010000Z" -- Sept 01, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 184, 185, and 186."
+
+ REVISION "200008240000Z" -- Aug 24, 2000
+ DESCRIPTION "Registration of new IANAifType 183."
+
+ REVISION "200008230000Z" -- Aug 23, 2000
+ DESCRIPTION "Registration of new IANAifTypes
+ 174-182."
+
+ REVISION "200008220000Z" -- Aug 22, 2000
+ DESCRIPTION "Registration of new IANAifTypes 170,
+ 171, 172 and 173."
+
+ REVISION "200004250000Z" -- Apr 25, 2000
+ DESCRIPTION "Registration of new IANAifTypes 168 and 169."
+
+ REVISION "200003060000Z" -- Mar 6, 2000
+ DESCRIPTION "Fixed a missing semi-colon in the IMPORT.
+ Also cleaned up the REVISION log a bit.
+ It is not complete, but from now on it will
+ be maintained and kept up to date with each
+ change to this MIB module."
+
+ REVISION "199910081430Z" -- Oct 08, 1999
+ DESCRIPTION "Include new name assignments up to cnr(85).
+ This is the first version available via the WWW
+ at: ftp://ftp.isi.edu/mib/ianaiftype.mib"
+
+ REVISION "199401310000Z" -- Jan 31, 1994
+ DESCRIPTION "Initial version of this MIB as published in
+ RFC 1573."
+ ::= { mib-2 30 }
+
+ IANAifType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This data type is used as the syntax of the ifType
+ object in the (updated) definition of MIB-II's
+ ifTable.
+
+ The definition of this textual convention with the
+ addition of newly assigned values is published
+ periodically by the IANA, in either the Assigned
+ Numbers RFC, or some derivative of it specific to
+ Internet Network Management number assignments. (The
+ latest arrangements can be obtained by contacting the
+ IANA.)
+
+ Requests for new values should be made to IANA via
+ email (iana&iana.org).
+
+ The relationship between the assignment of ifType
+ values and of OIDs to particular media-specific MIBs
+ is solely the purview of IANA and is subject to change
+ without notice. Quite often, a media-specific MIB's
+ OID-subtree assignment within MIB-II's 'transmission'
+ subtree will be the same as its ifType value.
+ However, in some circumstances this will not be the
+ case, and implementors must not pre-assume any
+ specific relationship between ifType values and
+ transmission subtree OIDs."
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ regular1822(2),
+ hdh1822(3),
+ ddnX25(4),
+ rfc877x25(5),
+ ethernetCsmacd(6), -- for all ethernet-like interfaces,
+ -- regardless of speed, as per RFC3635
+ iso88023Csmacd(7), -- Deprecated via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ iso88024TokenBus(8),
+ iso88025TokenRing(9),
+ iso88026Man(10),
+ starLan(11), -- Deprecated via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ proteon10Mbit(12),
+ proteon80Mbit(13),
+ hyperchannel(14),
+ fddi(15),
+ lapb(16),
+ sdlc(17),
+ ds1(18), -- DS1-MIB
+ e1(19), -- Obsolete see DS1-MIB
+ basicISDN(20), -- no longer used
+ -- see also RFC2127
+ primaryISDN(21), -- no longer used
+ -- see also RFC2127
+ propPointToPointSerial(22), -- proprietary serial
+ ppp(23),
+ softwareLoopback(24),
+ eon(25), -- CLNP over IP
+ ethernet3Mbit(26),
+ nsip(27), -- XNS over IP
+ slip(28), -- generic SLIP
+ ultra(29), -- ULTRA technologies
+ ds3(30), -- DS3-MIB
+ sip(31), -- SMDS, coffee
+ frameRelay(32), -- DTE only.
+ rs232(33),
+ para(34), -- parallel-port
+ arcnet(35), -- arcnet
+ arcnetPlus(36), -- arcnet plus
+ atm(37), -- ATM cells
+ miox25(38),
+ sonet(39), -- SONET or SDH
+ x25ple(40),
+ iso88022llc(41),
+ localTalk(42),
+ smdsDxi(43),
+ frameRelayService(44), -- FRNETSERV-MIB
+ v35(45),
+ hssi(46),
+ hippi(47),
+ modem(48), -- Generic modem
+ aal5(49), -- AAL5 over ATM
+ sonetPath(50),
+ sonetVT(51),
+ smdsIcip(52), -- SMDS InterCarrier Interface
+ propVirtual(53), -- proprietary virtual/internal
+ propMultiplexor(54),-- proprietary multiplexing
+ ieee80212(55), -- 100BaseVG
+ fibreChannel(56), -- Fibre Channel
+ hippiInterface(57), -- HIPPI interfaces
+ frameRelayInterconnect(58), -- Obsolete, use either
+ -- frameRelay(32) or
+ -- frameRelayService(44).
+ aflane8023(59), -- ATM Emulated LAN for 802.3
+ aflane8025(60), -- ATM Emulated LAN for 802.5
+ cctEmul(61), -- ATM Emulated circuit
+ fastEther(62), -- Obsoleted via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ isdn(63), -- ISDN and X.25
+ v11(64), -- CCITT V.11/X.21
+ v36(65), -- CCITT V.36
+ g703at64k(66), -- CCITT G703 at 64Kbps
+ g703at2mb(67), -- Obsolete see DS1-MIB
+ qllc(68), -- SNA QLLC
+ fastEtherFX(69), -- Obsoleted via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ channel(70), -- channel
+ ieee80211(71), -- radio spread spectrum
+ ibm370parChan(72), -- IBM System 360/370 OEMI Channel
+ escon(73), -- IBM Enterprise Systems Connection
+ dlsw(74), -- Data Link Switching
+ isdns(75), -- ISDN S/T interface
+ isdnu(76), -- ISDN U interface
+ lapd(77), -- Link Access Protocol D
+ ipSwitch(78), -- IP Switching Objects
+ rsrb(79), -- Remote Source Route Bridging
+ atmLogical(80), -- ATM Logical Port
+ ds0(81), -- Digital Signal Level 0
+ ds0Bundle(82), -- group of ds0s on the same ds1
+ bsc(83), -- Bisynchronous Protocol
+ async(84), -- Asynchronous Protocol
+ cnr(85), -- Combat Net Radio
+ iso88025Dtr(86), -- ISO 802.5r DTR
+ eplrs(87), -- Ext Pos Loc Report Sys
+ arap(88), -- Appletalk Remote Access Protocol
+ propCnls(89), -- Proprietary Connectionless Protocol
+ hostPad(90), -- CCITT-ITU X.29 PAD Protocol
+ termPad(91), -- CCITT-ITU X.3 PAD Facility
+ frameRelayMPI(92), -- Multiproto Interconnect over FR
+ x213(93), -- CCITT-ITU X213
+ adsl(94), -- Asymmetric Digital Subscriber Loop
+ radsl(95), -- Rate-Adapt. Digital Subscriber Loop
+ sdsl(96), -- Symmetric Digital Subscriber Loop
+ vdsl(97), -- Very H-Speed Digital Subscrib. Loop
+ iso88025CRFPInt(98), -- ISO 802.5 CRFP
+ myrinet(99), -- Myricom Myrinet
+ voiceEM(100), -- voice recEive and transMit
+ voiceFXO(101), -- voice Foreign Exchange Office
+ voiceFXS(102), -- voice Foreign Exchange Station
+ voiceEncap(103), -- voice encapsulation
+ voiceOverIp(104), -- voice over IP encapsulation
+ atmDxi(105), -- ATM DXI
+ atmFuni(106), -- ATM FUNI
+ atmIma (107), -- ATM IMA
+ pppMultilinkBundle(108), -- PPP Multilink Bundle
+ ipOverCdlc (109), -- IBM ipOverCdlc
+ ipOverClaw (110), -- IBM Common Link Access to Workstn
+ stackToStack (111), -- IBM stackToStack
+ virtualIpAddress (112), -- IBM VIPA
+ mpc (113), -- IBM multi-protocol channel support
+ ipOverAtm (114), -- IBM ipOverAtm
+ iso88025Fiber (115), -- ISO 802.5j Fiber Token Ring
+ tdlc (116), -- IBM twinaxial data link control
+ gigabitEthernet (117), -- Obsoleted via RFC3635
+ -- ethernetCsmacd (6) should be used instead
+ hdlc (118), -- HDLC
+ lapf (119), -- LAP F
+ v37 (120), -- V.37
+ x25mlp (121), -- Multi-Link Protocol
+ x25huntGroup (122), -- X25 Hunt Group
+ transpHdlc (123), -- Transp HDLC
+ interleave (124), -- Interleave channel
+ fast (125), -- Fast channel
+ ip (126), -- IP (for APPN HPR in IP networks)
+ docsCableMaclayer (127), -- CATV Mac Layer
+ docsCableDownstream (128), -- CATV Downstream interface
+ docsCableUpstream (129), -- CATV Upstream interface
+ a12MppSwitch (130), -- Avalon Parallel Processor
+ tunnel (131), -- Encapsulation interface
+ coffee (132), -- coffee pot
+ ces (133), -- Circuit Emulation Service
+ atmSubInterface (134), -- ATM Sub Interface
+ l2vlan (135), -- Layer 2 Virtual LAN using 802.1Q
+ l3ipvlan (136), -- Layer 3 Virtual LAN using IP
+ l3ipxvlan (137), -- Layer 3 Virtual LAN using IPX
+ digitalPowerline (138), -- IP over Power Lines
+ mediaMailOverIp (139), -- Multimedia Mail over IP
+ dtm (140), -- Dynamic syncronous Transfer Mode
+ dcn (141), -- Data Communications Network
+ ipForward (142), -- IP Forwarding Interface
+ msdsl (143), -- Multi-rate Symmetric DSL
+ ieee1394 (144), -- IEEE1394 High Performance Serial Bus
+ if-gsn (145), -- HIPPI-6400
+ dvbRccMacLayer (146), -- DVB-RCC MAC Layer
+ dvbRccDownstream (147), -- DVB-RCC Downstream Channel
+ dvbRccUpstream (148), -- DVB-RCC Upstream Channel
+ atmVirtual (149), -- ATM Virtual Interface
+ mplsTunnel (150), -- MPLS Tunnel Virtual Interface
+ srp (151), -- Spatial Reuse Protocol
+ voiceOverAtm (152), -- Voice Over ATM
+ voiceOverFrameRelay (153), -- Voice Over Frame Relay
+ idsl (154), -- Digital Subscriber Loop over ISDN
+ compositeLink (155), -- Avici Composite Link Interface
+ ss7SigLink (156), -- SS7 Signaling Link
+ propWirelessP2P (157), -- Prop. P2P wireless interface
+ frForward (158), -- Frame Forward Interface
+ rfc1483 (159), -- Multiprotocol over ATM AAL5
+ usb (160), -- USB Interface
+ ieee8023adLag (161), -- IEEE 802.3ad Link Aggregate
+ bgppolicyaccounting (162), -- BGP Policy Accounting
+ frf16MfrBundle (163), -- FRF .16 Multilink Frame Relay
+ h323Gatekeeper (164), -- H323 Gatekeeper
+ h323Proxy (165), -- H323 Voice and Video Proxy
+ mpls (166), -- MPLS
+ mfSigLink (167), -- Multi-frequency signaling link
+ hdsl2 (168), -- High Bit-Rate DSL - 2nd generation
+ shdsl (169), -- Multirate HDSL2
+ ds1FDL (170), -- Facility Data Link 4Kbps on a DS1
+ pos (171), -- Packet over SONET/SDH Interface
+ dvbAsiIn (172), -- DVB-ASI Input
+ dvbAsiOut (173), -- DVB-ASI Output
+ plc (174), -- Power Line Communtications
+ nfas (175), -- Non Facility Associated Signaling
+ tr008 (176), -- TR008
+ gr303RDT (177), -- Remote Digital Terminal
+ gr303IDT (178), -- Integrated Digital Terminal
+ isup (179), -- ISUP
+ propDocsWirelessMaclayer (180), -- Cisco proprietary Maclayer
+ propDocsWirelessDownstream (181), -- Cisco proprietary Downstream
+ propDocsWirelessUpstream (182), -- Cisco proprietary Upstream
+ hiperlan2 (183), -- HIPERLAN Type 2 Radio Interface
+ propBWAp2Mp (184), -- PropBroadbandWirelessAccesspt2multipt
+ -- use of this iftype for IEEE 802.16 WMAN
+ -- interfaces as per IEEE Std 802.16f is
+ -- deprecated and ifType 237 should be used instead.
+ sonetOverheadChannel (185), -- SONET Overhead Channel
+ digitalWrapperOverheadChannel (186), -- Digital Wrapper
+ aal2 (187), -- ATM adaptation layer 2
+ radioMAC (188), -- MAC layer over radio links
+ atmRadio (189), -- ATM over radio links
+ imt (190), -- Inter Machine Trunks
+ mvl (191), -- Multiple Virtual Lines DSL
+ reachDSL (192), -- Long Reach DSL
+ frDlciEndPt (193), -- Frame Relay DLCI End Point
+ atmVciEndPt (194), -- ATM VCI End Point
+ opticalChannel (195), -- Optical Channel
+ opticalTransport (196), -- Optical Transport
+ propAtm (197), -- Proprietary ATM
+ voiceOverCable (198), -- Voice Over Cable Interface
+ infiniband (199), -- Infiniband
+ teLink (200), -- TE Link
+ q2931 (201), -- Q.2931
+ virtualTg (202), -- Virtual Trunk Group
+ sipTg (203), -- SIP Trunk Group
+ sipSig (204), -- SIP Signaling
+ docsCableUpstreamChannel (205), -- CATV Upstream Channel
+ econet (206), -- Acorn Econet
+ pon155 (207), -- FSAN 155Mb Symetrical PON interface
+ pon622 (208), -- FSAN622Mb Symetrical PON interface
+ bridge (209), -- Transparent bridge interface
+ linegroup (210), -- Interface common to multiple lines
+ voiceEMFGD (211), -- voice E&M Feature Group D
+ voiceFGDEANA (212), -- voice FGD Exchange Access North American
+ voiceDID (213), -- voice Direct Inward Dialing
+ mpegTransport (214), -- MPEG transport interface
+ sixToFour (215), -- 6to4 interface (DEPRECATED)
+ gtp (216), -- GTP (GPRS Tunneling Protocol)
+ pdnEtherLoop1 (217), -- Paradyne EtherLoop 1
+ pdnEtherLoop2 (218), -- Paradyne EtherLoop 2
+ opticalChannelGroup (219), -- Optical Channel Group
+ homepna (220), -- HomePNA ITU-T G.989
+ gfp (221), -- Generic Framing Procedure (GFP)
+ ciscoISLvlan (222), -- Layer 2 Virtual LAN using Cisco ISL
+ actelisMetaLOOP (223), -- Acteleis proprietary MetaLOOP High Speed Link
+ fcipLink (224), -- FCIP Link
+ rpr (225), -- Resilient Packet Ring Interface Type
+ qam (226), -- RF Qam Interface
+ lmp (227), -- Link Management Protocol
+ cblVectaStar (228), -- Cambridge Broadband Networks Limited VectaStar
+ docsCableMCmtsDownstream (229), -- CATV Modular CMTS Downstream Interface
+ adsl2 (230), -- Asymmetric Digital Subscriber Loop Version 2
+ -- (DEPRECATED/OBSOLETED - please use adsl2plus 238 instead)
+ macSecControlledIF (231), -- MACSecControlled
+ macSecUncontrolledIF (232), -- MACSecUncontrolled
+ aviciOpticalEther (233), -- Avici Optical Ethernet Aggregate
+ atmbond (234), -- atmbond
+ voiceFGDOS (235), -- voice FGD Operator Services
+ mocaVersion1 (236), -- MultiMedia over Coax Alliance (MoCA) Interface
+ -- as documented in information provided privately to IANA
+ ieee80216WMAN (237), -- IEEE 802.16 WMAN interface
+ adsl2plus (238), -- Asymmetric Digital Subscriber Loop Version 2,
+ -- Version 2 Plus and all variants
+ dvbRcsMacLayer (239), -- DVB-RCS MAC Layer
+ dvbTdm (240), -- DVB Satellite TDM
+ dvbRcsTdma (241), -- DVB-RCS TDMA
+ x86Laps (242), -- LAPS based on ITU-T X.86/Y.1323
+ wwanPP (243), -- 3GPP WWAN
+ wwanPP2 (244), -- 3GPP2 WWAN
+ voiceEBS (245), -- voice P-phone EBS physical interface
+ ifPwType (246), -- Pseudowire interface type
+ ilan (247), -- Internal LAN on a bridge per IEEE 802.1ap
+ pip (248), -- Provider Instance Port on a bridge per IEEE 802.1ah PBB
+ aluELP (249), -- Alcatel-Lucent Ethernet Link Protection
+ gpon (250), -- Gigabit-capable passive optical networks (G-PON) as per ITU-T G.948
+ vdsl2 (251), -- Very high speed digital subscriber line Version 2 (as per ITU-T Recommendation G.993.2)
+ capwapDot11Profile (252), -- WLAN Profile Interface
+ capwapDot11Bss (253), -- WLAN BSS Interface
+ capwapWtpVirtualRadio (254), -- WTP Virtual Radio Interface
+ bits (255), -- bitsport
+ docsCableUpstreamRfPort (256), -- DOCSIS CATV Upstream RF Port
+ cableDownstreamRfPort (257), -- CATV downstream RF port
+ vmwareVirtualNic (258), -- VMware Virtual Network Interface
+ ieee802154 (259), -- IEEE 802.15.4 WPAN interface
+ otnOdu (260), -- OTN Optical Data Unit
+ otnOtu (261), -- OTN Optical channel Transport Unit
+ ifVfiType (262), -- VPLS Forwarding Instance Interface Type
+ g9981 (263), -- G.998.1 bonded interface
+ g9982 (264), -- G.998.2 bonded interface
+ g9983 (265), -- G.998.3 bonded interface
+ aluEpon (266), -- Ethernet Passive Optical Networks (E-PON)
+ aluEponOnu (267), -- EPON Optical Network Unit
+ aluEponPhysicalUni (268), -- EPON physical User to Network interface
+ aluEponLogicalLink (269), -- The emulation of a point-to-point link over the EPON layer
+ aluGponOnu (270), -- GPON Optical Network Unit
+ aluGponPhysicalUni (271), -- GPON physical User to Network interface
+ vmwareNicTeam (272) -- VMware NIC Team
+ }
+
+IANAtunnelType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The encapsulation method used by a tunnel. The value
+ direct indicates that a packet is encapsulated
+ directly within a normal IP header, with no
+ intermediate header, and unicast to the remote tunnel
+ endpoint (e.g., an RFC 2003 IP-in-IP tunnel, or an RFC
+ 1933 IPv6-in-IPv4 tunnel). The value minimal indicates
+ that a Minimal Forwarding Header (RFC 2004) is
+ inserted between the outer header and the payload
+ packet. The value UDP indicates that the payload
+ packet is encapsulated within a normal UDP packet
+ (e.g., RFC 1234).
+
+ The values sixToFour, sixOverFour, and isatap
+ indicates that an IPv6 packet is encapsulated directly
+ within an IPv4 header, with no intermediate header,
+ and unicast to the destination determined by the 6to4,
+ 6over4, or ISATAP protocol.
+
+ The remaining protocol-specific values indicate that a
+ header of the protocol of that name is inserted
+ between the outer header and the payload header.
+
+ The assignment policy for IANAtunnelType values is
+ identical to the policy for assigning IANAifType
+ values."
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ direct(2), -- no intermediate header
+ gre(3), -- GRE encapsulation
+ minimal(4), -- Minimal encapsulation
+ l2tp(5), -- L2TP encapsulation
+ pptp(6), -- PPTP encapsulation
+ l2f(7), -- L2F encapsulation
+ udp(8), -- UDP encapsulation
+ atmp(9), -- ATMP encapsulation
+ msdp(10), -- MSDP encapsulation
+ sixToFour(11), -- 6to4 encapsulation
+ sixOverFour(12), -- 6over4 encapsulation
+ isatap(13), -- ISATAP encapsulation
+ teredo(14), -- Teredo encapsulation
+ ipHttps(15) -- IPHTTPS
+ }
+
+ END
diff --git a/mibs/IF-INVERTED-STACK-MIB.txt b/mibs/IF-INVERTED-STACK-MIB.txt
new file mode 100644
index 00000000..eb8797b5
--- /dev/null
+++ b/mibs/IF-INVERTED-STACK-MIB.txt
@@ -0,0 +1,149 @@
+IF-INVERTED-STACK-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, mib-2 FROM SNMPv2-SMI
+ RowStatus FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ ifStackGroup2,
+ ifStackHigherLayer, ifStackLowerLayer FROM IF-MIB;
+
+ifInvertedStackMIB MODULE-IDENTITY
+ LAST-UPDATED "200006140000Z"
+ ORGANIZATION "IETF Interfaces MIB Working Group"
+ CONTACT-INFO
+ " Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706
+ US
+
+ 408-526-5260
+ kzm@cisco.com"
+ DESCRIPTION
+ "The MIB module which provides the Inverted Stack Table for
+ interface sub-layers."
+ REVISION "200006140000Z"
+ DESCRIPTION
+ "Initial revision, published as RFC 2864"
+ ::= { mib-2 77 }
+
+ifInvMIBObjects OBJECT IDENTIFIER ::= { ifInvertedStackMIB 1 }
+
+--
+-- The Inverted Interface Stack Group
+--
+
+ifInvStackTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfInvStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information on the relationships between
+
+ the multiple sub-layers of network interfaces. In
+ particular, it contains information on which sub-layers run
+ 'underneath' which other sub-layers, where each sub-layer
+ corresponds to a conceptual row in the ifTable. For
+ example, when the sub-layer with ifIndex value x runs
+ underneath the sub-layer with ifIndex value y, then this
+ table contains:
+
+ ifInvStackStatus.x.y=active
+
+ For each ifIndex value, z, which identifies an active
+ interface, there are always at least two instantiated rows
+ in this table associated with z. For one of these rows, z
+ is the value of ifStackHigherLayer; for the other, z is the
+ value of ifStackLowerLayer. (If z is not involved in
+ multiplexing, then these are the only two rows associated
+ with z.)
+
+ For example, two rows exist even for an interface which has
+ no others stacked on top or below it:
+
+ ifInvStackStatus.z.0=active
+ ifInvStackStatus.0.z=active
+
+ This table contains exactly the same number of rows as the
+ ifStackTable, but the rows appear in a different order."
+ REFERENCE
+ "ifStackTable of RFC 2863"
+ ::= { ifInvMIBObjects 1 }
+
+ifInvStackEntry OBJECT-TYPE
+ SYNTAX IfInvStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information on a particular relationship between two sub-
+ layers, specifying that one sub-layer runs underneath the
+ other sub-layer. Each sub-layer corresponds to a conceptual
+ row in the ifTable."
+ INDEX { ifStackLowerLayer, ifStackHigherLayer }
+ ::= { ifInvStackTable 1 }
+
+IfInvStackEntry ::=
+ SEQUENCE {
+ ifInvStackStatus RowStatus
+ }
+
+ifInvStackStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The status of the relationship between two sub-layers.
+
+ An instance of this object exists for each instance of the
+ ifStackStatus object, and vice versa. For example, if the
+ variable ifStackStatus.H.L exists, then the variable
+ ifInvStackStatus.L.H must also exist, and vice versa. In
+ addition, the two variables always have the same value.
+
+ However, unlike ifStackStatus, the ifInvStackStatus object
+ is NOT write-able. A network management application wishing
+ to change a relationship between sub-layers H and L cannot
+ do so by modifying the value of ifInvStackStatus.L.H, but
+ must instead modify the value of ifStackStatus.H.L. After
+ the ifStackTable is modified, the change will be reflected
+ in this table."
+ ::= { ifInvStackEntry 1 }
+
+-- conformance information
+
+ifInvConformance OBJECT IDENTIFIER ::= { ifInvMIBObjects 2 }
+
+ifInvGroups OBJECT IDENTIFIER ::= { ifInvConformance 1 }
+ifInvCompliances OBJECT IDENTIFIER ::= { ifInvConformance 2 }
+
+-- compliance statements
+
+ifInvCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which provide
+ inverted information on the layering of network interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifInvStackGroup }
+
+ OBJECT ifInvStackStatus
+ SYNTAX INTEGER { active(1) }
+ DESCRIPTION
+ "Support is only required for 'active'."
+
+ MODULE IF-MIB
+ MANDATORY-GROUPS { ifStackGroup2 }
+ ::= { ifInvCompliances 1 }
+
+-- units of conformance
+
+ifInvStackGroup OBJECT-GROUP
+ OBJECTS { ifInvStackStatus }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing inverted information on
+ the layering of MIB-II interfaces."
+ ::= { ifInvGroups 1 }
+
+END
diff --git a/mibs/IF-MIB.txt b/mibs/IF-MIB.txt
new file mode 100644
index 00000000..7704f0c2
--- /dev/null
+++ b/mibs/IF-MIB.txt
@@ -0,0 +1,1814 @@
+IF-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
+ Integer32, TimeTicks, mib-2,
+ NOTIFICATION-TYPE FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, DisplayString,
+ PhysAddress, TruthValue, RowStatus,
+ TimeStamp, AutonomousType, TestAndIncr FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ snmpTraps FROM SNMPv2-MIB
+ IANAifType FROM IANAifType-MIB;
+
+ifMIB MODULE-IDENTITY
+ LAST-UPDATED "200006140000Z"
+ ORGANIZATION "IETF Interfaces MIB Working Group"
+ CONTACT-INFO
+ " Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706
+ US
+
+ 408-526-5260
+ kzm@cisco.com"
+ DESCRIPTION
+ "The MIB module to describe generic objects for network
+ interface sub-layers. This MIB is an updated version of
+ MIB-II's ifTable, and incorporates the extensions defined in
+ RFC 1229."
+
+ REVISION "200006140000Z"
+ DESCRIPTION
+ "Clarifications agreed upon by the Interfaces MIB WG, and
+ published as RFC 2863."
+ REVISION "199602282155Z"
+ DESCRIPTION
+ "Revisions made by the Interfaces MIB WG, and published in
+ RFC 2233."
+ REVISION "199311082155Z"
+ DESCRIPTION
+ "Initial revision, published as part of RFC 1573."
+ ::= { mib-2 31 }
+
+ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
+
+interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
+
+--
+-- Textual Conventions
+--
+
+-- OwnerString has the same semantics as used in RFC 1271
+
+OwnerString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS deprecated
+ DESCRIPTION
+ "This data type is used to model an administratively
+ assigned name of the owner of a resource. This information
+ is taken from the NVT ASCII character set. It is suggested
+ that this name contain one or more of the following: ASCII
+ form of the manager station's transport address, management
+ station name (e.g., domain name), network management
+ personnel's name, location, or phone number. In some cases
+ the agent itself will be the owner of an entry. In these
+ cases, this string shall be set to a string starting with
+ 'agent'."
+ SYNTAX OCTET STRING (SIZE(0..255))
+
+-- InterfaceIndex contains the semantics of ifIndex and should be used
+-- for any objects defined in other MIB modules that need these semantics.
+
+InterfaceIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each interface or
+ interface sub-layer in the managed system. It is
+ recommended that values are assigned contiguously starting
+ from 1. The value for each interface sub-layer must remain
+ constant at least from one re-initialization of the entity's
+ network management system to the next re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ InterfaceIndex convention. The latter defines a greater
+ than zero value used to identify an interface or interface
+ sub-layer in the managed system. This extension permits the
+ additional value of zero. the value zero is object-specific
+ and must therefore be defined as part of the description of
+ any object which uses this syntax. Examples of the usage of
+ zero might include situations where interface was unknown,
+ or when none or all interfaces need to be referenced."
+ SYNTAX Integer32 (0..2147483647)
+
+ifNumber OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of network interfaces (regardless of their
+ current state) present on this system."
+ ::= { interfaces 1 }
+
+ifTableLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last creation or
+ deletion of an entry in the ifTable. If the number of
+ entries has been unchanged since the last re-initialization
+ of the local network management subsystem, then this object
+ contains a zero value."
+ ::= { ifMIBObjects 5 }
+
+-- the Interfaces table
+
+-- The Interfaces table contains information on the entity's
+
+-- interfaces. Each sub-layer below the internetwork-layer
+-- of a network interface is considered to be an interface.
+
+ifTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of interface entries. The number of entries is
+ given by the value of ifNumber."
+ ::= { interfaces 2 }
+
+ifEntry OBJECT-TYPE
+ SYNTAX IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing management information applicable to a
+ particular interface."
+ INDEX { ifIndex }
+ ::= { ifTable 1 }
+
+IfEntry ::=
+ SEQUENCE {
+ ifIndex InterfaceIndex,
+ ifDescr DisplayString,
+ ifType IANAifType,
+ ifMtu Integer32,
+ ifSpeed Gauge32,
+ ifPhysAddress PhysAddress,
+ ifAdminStatus INTEGER,
+ ifOperStatus INTEGER,
+ ifLastChange TimeTicks,
+ ifInOctets Counter32,
+ ifInUcastPkts Counter32,
+ ifInNUcastPkts Counter32, -- deprecated
+ ifInDiscards Counter32,
+ ifInErrors Counter32,
+ ifInUnknownProtos Counter32,
+ ifOutOctets Counter32,
+ ifOutUcastPkts Counter32,
+ ifOutNUcastPkts Counter32, -- deprecated
+ ifOutDiscards Counter32,
+ ifOutErrors Counter32,
+ ifOutQLen Gauge32, -- deprecated
+ ifSpecific OBJECT IDENTIFIER -- deprecated
+ }
+
+ifIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each interface. It
+ is recommended that values are assigned contiguously
+ starting from 1. The value for each interface sub-layer
+ must remain constant at least from one re-initialization of
+ the entity's network management system to the next re-
+ initialization."
+ ::= { ifEntry 1 }
+
+ifDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual string containing information about the
+ interface. This string should include the name of the
+ manufacturer, the product name and the version of the
+ interface hardware/software."
+ ::= { ifEntry 2 }
+
+ifType OBJECT-TYPE
+ SYNTAX IANAifType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of interface. Additional values for ifType are
+ assigned by the Internet Assigned Numbers Authority (IANA),
+ through updating the syntax of the IANAifType textual
+ convention."
+ ::= { ifEntry 3 }
+
+ifMtu OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest packet which can be sent/received
+ on the interface, specified in octets. For interfaces that
+ are used for transmitting network datagrams, this is the
+ size of the largest network datagram that can be sent on the
+ interface."
+ ::= { ifEntry 4 }
+
+ifSpeed OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth in bits
+ per second. For interfaces which do not vary in bandwidth
+ or for those where no accurate estimation can be made, this
+ object should contain the nominal bandwidth. If the
+ bandwidth of the interface is greater than the maximum value
+ reportable by this object then this object should report its
+ maximum value (4,294,967,295) and ifHighSpeed must be used
+ to report the interace's speed. For a sub-layer which has
+ no concept of bandwidth, this object should be zero."
+ ::= { ifEntry 5 }
+
+ifPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The interface's address at its protocol sub-layer. For
+ example, for an 802.x interface, this object normally
+ contains a MAC address. The interface's media-specific MIB
+ must define the bit and byte ordering and the format of the
+ value of this object. For interfaces which do not have such
+ an address (e.g., a serial line), this object should contain
+ an octet string of zero length."
+ ::= { ifEntry 6 }
+
+ifAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The desired state of the interface. The testing(3) state
+ indicates that no operational packets can be passed. When a
+ managed system initializes, all interfaces start with
+ ifAdminStatus in the down(2) state. As a result of either
+ explicit management action or per configuration information
+ retained by the managed system, ifAdminStatus is then
+ changed to either the up(1) or testing(3) states (or remains
+ in the down(2) state)."
+ ::= { ifEntry 7 }
+
+ifOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3), -- in some test mode
+ unknown(4), -- status can not be determined
+ -- for some reason.
+ dormant(5),
+ notPresent(6), -- some component is missing
+ lowerLayerDown(7) -- down due to state of
+ -- lower-layer interface(s)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of the interface. The
+ testing(3) state indicates that no operational packets can
+ be passed. If ifAdminStatus is down(2) then ifOperStatus
+ should be down(2). If ifAdminStatus is changed to up(1)
+ then ifOperStatus should change to up(1) if the interface is
+ ready to transmit and receive network traffic; it should
+ change to dormant(5) if the interface is waiting for
+ external actions (such as a serial line waiting for an
+ incoming connection); it should remain in the down(2) state
+ if and only if there is a fault that prevents it from going
+ to the up(1) state; it should remain in the notPresent(6)
+ state if the interface has missing (typically, hardware)
+ components."
+ ::= { ifEntry 8 }
+
+ifLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the interface entered
+ its current operational state. If the current state was
+ entered prior to the last re-initialization of the local
+ network management subsystem, then this object contains a
+ zero value."
+ ::= { ifEntry 9 }
+
+ifInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received on the interface,
+ including framing characters.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 10 }
+
+ifInUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were not addressed to a multicast
+ or broadcast address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 11 }
+
+ifInNUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast or
+ broadcast address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime.
+
+ This object is deprecated in favour of ifInMulticastPkts and
+ ifInBroadcastPkts."
+ ::= { ifEntry 12 }
+
+ifInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of inbound packets which were chosen to be
+ discarded even though no errors had been detected to prevent
+
+ their being deliverable to a higher-layer protocol. One
+ possible reason for discarding such a packet could be to
+ free up buffer space.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 13 }
+
+ifInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of inbound
+ packets that contained errors preventing them from being
+ deliverable to a higher-layer protocol. For character-
+ oriented or fixed-length interfaces, the number of inbound
+ transmission units that contained errors preventing them
+ from being deliverable to a higher-layer protocol.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 14 }
+
+ifInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of packets
+ received via the interface which were discarded because of
+ an unknown or unsupported protocol. For character-oriented
+ or fixed-length interfaces that support protocol
+ multiplexing the number of transmission units received via
+ the interface which were discarded because of an unknown or
+ unsupported protocol. For any interface that does not
+ support protocol multiplexing, this counter will always be
+ 0.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 15 }
+
+ifOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 16 }
+
+ifOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were not addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 17 }
+
+ifOutNUcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime.
+
+ This object is deprecated in favour of ifOutMulticastPkts
+ and ifOutBroadcastPkts."
+ ::= { ifEntry 18 }
+
+ifOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of outbound packets which were chosen to be
+ discarded even though no errors had been detected to prevent
+ their being transmitted. One possible reason for discarding
+ such a packet could be to free up buffer space.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 19 }
+
+ifOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For packet-oriented interfaces, the number of outbound
+ packets that could not be transmitted because of errors.
+ For character-oriented or fixed-length interfaces, the
+ number of outbound transmission units that could not be
+ transmitted because of errors.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifEntry 20 }
+
+ifOutQLen OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The length of the output packet queue (in packets)."
+ ::= { ifEntry 21 }
+
+ifSpecific OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "A reference to MIB definitions specific to the particular
+ media being used to realize the interface. It is
+
+ recommended that this value point to an instance of a MIB
+ object in the media-specific MIB, i.e., that this object
+ have the semantics associated with the InstancePointer
+ textual convention defined in RFC 2579. In fact, it is
+ recommended that the media-specific MIB specify what value
+ ifSpecific should/can take for values of ifType. If no MIB
+ definitions specific to the particular media are available,
+ the value should be set to the OBJECT IDENTIFIER { 0 0 }."
+ ::= { ifEntry 22 }
+
+--
+-- Extension to the interface table
+--
+-- This table replaces the ifExtnsTable table.
+--
+
+ifXTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfXEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of interface entries. The number of entries is
+ given by the value of ifNumber. This table contains
+ additional objects for the interface table."
+ ::= { ifMIBObjects 1 }
+
+ifXEntry OBJECT-TYPE
+ SYNTAX IfXEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing additional management information
+ applicable to a particular interface."
+ AUGMENTS { ifEntry }
+ ::= { ifXTable 1 }
+
+IfXEntry ::=
+ SEQUENCE {
+ ifName DisplayString,
+ ifInMulticastPkts Counter32,
+ ifInBroadcastPkts Counter32,
+ ifOutMulticastPkts Counter32,
+ ifOutBroadcastPkts Counter32,
+ ifHCInOctets Counter64,
+ ifHCInUcastPkts Counter64,
+ ifHCInMulticastPkts Counter64,
+ ifHCInBroadcastPkts Counter64,
+ ifHCOutOctets Counter64,
+ ifHCOutUcastPkts Counter64,
+ ifHCOutMulticastPkts Counter64,
+ ifHCOutBroadcastPkts Counter64,
+ ifLinkUpDownTrapEnable INTEGER,
+ ifHighSpeed Gauge32,
+ ifPromiscuousMode TruthValue,
+ ifConnectorPresent TruthValue,
+ ifAlias DisplayString,
+ ifCounterDiscontinuityTime TimeStamp
+ }
+
+ifName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The textual name of the interface. The value of this
+ object should be the name of the interface as assigned by
+ the local device and should be suitable for use in commands
+ entered at the device's `console'. This might be a text
+ name, such as `le0' or a simple port number, such as `1',
+ depending on the interface naming syntax of the device. If
+ several entries in the ifTable together represent a single
+ interface as named by the device, then each will have the
+ same value of ifName. Note that for an agent which responds
+ to SNMP queries concerning an interface on some other
+ (proxied) device, then the value of ifName for such an
+ interface is the proxied device's local name for it.
+
+ If there is no local name, or this object is otherwise not
+ applicable, then this object contains a zero-length string."
+ ::= { ifXEntry 1 }
+
+ifInMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast
+ address at this sub-layer. For a MAC layer protocol, this
+ includes both Group and Functional addresses.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 2 }
+
+ifInBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a broadcast
+ address at this sub-layer.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 3 }
+
+ifOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast address at this sub-layer, including those that
+ were discarded or not sent. For a MAC layer protocol, this
+ includes both Group and Functional addresses.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 4 }
+
+ifOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ broadcast address at this sub-layer, including those that
+ were discarded or not sent.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 5 }
+
+--
+-- High Capacity Counter objects. These objects are all
+-- 64 bit versions of the "basic" ifTable counters. These
+-- objects all have the same basic semantics as their 32-bit
+-- counterparts, however, their syntax has been extended
+-- to 64 bits.
+--
+
+ifHCInOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received on the interface,
+ including framing characters. This object is a 64-bit
+ version of ifInOctets.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 6 }
+
+ifHCInUcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were not addressed to a multicast
+ or broadcast address at this sub-layer. This object is a
+ 64-bit version of ifInUcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 7 }
+
+ifHCInMulticastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a multicast
+ address at this sub-layer. For a MAC layer protocol, this
+ includes both Group and Functional addresses. This object
+ is a 64-bit version of ifInMulticastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 8 }
+
+ifHCInBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, delivered by this sub-layer to a
+ higher (sub-)layer, which were addressed to a broadcast
+ address at this sub-layer. This object is a 64-bit version
+ of ifInBroadcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 9 }
+
+ifHCOutOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters. This object is a
+ 64-bit version of ifOutOctets.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 10 }
+
+ifHCOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were not addressed to a
+ multicast or broadcast address at this sub-layer, including
+ those that were discarded or not sent. This object is a
+ 64-bit version of ifOutUcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 11 }
+
+ifHCOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ multicast address at this sub-layer, including those that
+ were discarded or not sent. For a MAC layer protocol, this
+ includes both Group and Functional addresses. This object
+ is a 64-bit version of ifOutMulticastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 12 }
+
+ifHCOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets that higher-level protocols
+ requested be transmitted, and which were addressed to a
+ broadcast address at this sub-layer, including those that
+ were discarded or not sent. This object is a 64-bit version
+ of ifOutBroadcastPkts.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ifCounterDiscontinuityTime."
+ ::= { ifXEntry 13 }
+
+ifLinkUpDownTrapEnable OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether linkUp/linkDown traps should be generated
+ for this interface.
+
+ By default, this object should have the value enabled(1) for
+ interfaces which do not operate on 'top' of any other
+ interface (as defined in the ifStackTable), and disabled(2)
+ otherwise."
+ ::= { ifXEntry 14 }
+
+ifHighSpeed OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth in units
+ of 1,000,000 bits per second. If this object reports a
+ value of `n' then the speed of the interface is somewhere in
+ the range of `n-500,000' to `n+499,999'. For interfaces
+ which do not vary in bandwidth or for those where no
+ accurate estimation can be made, this object should contain
+ the nominal bandwidth. For a sub-layer which has no concept
+ of bandwidth, this object should be zero."
+ ::= { ifXEntry 15 }
+
+ifPromiscuousMode OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object has a value of false(2) if this interface only
+ accepts packets/frames that are addressed to this station.
+ This object has a value of true(1) when the station accepts
+ all packets/frames transmitted on the media. The value
+ true(1) is only legal on certain types of media. If legal,
+ setting this object to a value of true(1) may require the
+ interface to be reset before becoming effective.
+
+ The value of ifPromiscuousMode does not affect the reception
+ of broadcast and multicast packets/frames by the interface."
+ ::= { ifXEntry 16 }
+
+ifConnectorPresent OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)' if the interface
+ sublayer has a physical connector and the value 'false(2)'
+ otherwise."
+ ::= { ifXEntry 17 }
+
+ifAlias OBJECT-TYPE
+ SYNTAX DisplayString (SIZE(0..64))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object is an 'alias' name for the interface as
+ specified by a network manager, and provides a non-volatile
+ 'handle' for the interface.
+
+ On the first instantiation of an interface, the value of
+ ifAlias associated with that interface is the zero-length
+ string. As and when a value is written into an instance of
+ ifAlias through a network management set operation, then the
+ agent must retain the supplied value in the ifAlias instance
+ associated with the same interface for as long as that
+ interface remains instantiated, including across all re-
+ initializations/reboots of the network management system,
+ including those which result in a change of the interface's
+ ifIndex value.
+
+ An example of the value which a network manager might store
+ in this object for a WAN interface is the (Telco's) circuit
+ number/identifier of the interface.
+
+ Some agents may support write-access only for interfaces
+ having particular values of ifType. An agent which supports
+ write access to this object is required to keep the value in
+ non-volatile storage, but it may limit the length of new
+ values depending on how much storage is already occupied by
+ the current values for other interfaces."
+ ::= { ifXEntry 18 }
+
+ifCounterDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this interface's counters suffered a
+ discontinuity. The relevant counters are the specific
+ instances associated with this interface of any Counter32 or
+
+ Counter64 object contained in the ifTable or ifXTable. If
+ no such discontinuities have occurred since the last re-
+ initialization of the local management subsystem, then this
+ object contains a zero value."
+ ::= { ifXEntry 19 }
+
+-- The Interface Stack Group
+--
+-- Implementation of this group is optional, but strongly recommended
+-- for all systems
+--
+
+ifStackTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing information on the relationships
+ between the multiple sub-layers of network interfaces. In
+ particular, it contains information on which sub-layers run
+ 'on top of' which other sub-layers, where each sub-layer
+ corresponds to a conceptual row in the ifTable. For
+ example, when the sub-layer with ifIndex value x runs over
+ the sub-layer with ifIndex value y, then this table
+ contains:
+
+ ifStackStatus.x.y=active
+
+ For each ifIndex value, I, which identifies an active
+ interface, there are always at least two instantiated rows
+ in this table associated with I. For one of these rows, I
+ is the value of ifStackHigherLayer; for the other, I is the
+ value of ifStackLowerLayer. (If I is not involved in
+ multiplexing, then these are the only two rows associated
+ with I.)
+
+ For example, two rows exist even for an interface which has
+ no others stacked on top or below it:
+
+ ifStackStatus.0.x=active
+ ifStackStatus.x.0=active "
+ ::= { ifMIBObjects 2 }
+
+ifStackEntry OBJECT-TYPE
+ SYNTAX IfStackEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information on a particular relationship between two sub-
+ layers, specifying that one sub-layer runs on 'top' of the
+ other sub-layer. Each sub-layer corresponds to a conceptual
+ row in the ifTable."
+ INDEX { ifStackHigherLayer, ifStackLowerLayer }
+ ::= { ifStackTable 1 }
+
+IfStackEntry ::=
+ SEQUENCE {
+ ifStackHigherLayer InterfaceIndexOrZero,
+ ifStackLowerLayer InterfaceIndexOrZero,
+ ifStackStatus RowStatus
+ }
+
+ifStackHigherLayer OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex corresponding to the higher sub-layer
+ of the relationship, i.e., the sub-layer which runs on 'top'
+ of the sub-layer identified by the corresponding instance of
+ ifStackLowerLayer. If there is no higher sub-layer (below
+ the internetwork layer), then this object has the value 0."
+ ::= { ifStackEntry 1 }
+
+ifStackLowerLayer OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex corresponding to the lower sub-layer
+ of the relationship, i.e., the sub-layer which runs 'below'
+ the sub-layer identified by the corresponding instance of
+ ifStackHigherLayer. If there is no lower sub-layer, then
+ this object has the value 0."
+ ::= { ifStackEntry 2 }
+
+ifStackStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of the relationship between two sub-layers.
+
+ Changing the value of this object from 'active' to
+ 'notInService' or 'destroy' will likely have consequences up
+ and down the interface stack. Thus, write access to this
+ object is likely to be inappropriate for some types of
+ interfaces, and many implementations will choose not to
+ support write-access for any type of interface."
+ ::= { ifStackEntry 3 }
+
+ifStackLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last change of
+ the (whole) interface stack. A change of the interface
+ stack is defined to be any creation, deletion, or change in
+ value of any instance of ifStackStatus. If the interface
+ stack has been unchanged since the last re-initialization of
+ the local network management subsystem, then this object
+ contains a zero value."
+ ::= { ifMIBObjects 6 }
+
+-- Generic Receive Address Table
+--
+-- This group of objects is mandatory for all types of
+-- interfaces which can receive packets/frames addressed to
+-- more than one address.
+--
+-- This table replaces the ifExtnsRcvAddr table. The main
+-- difference is that this table makes use of the RowStatus
+-- textual convention, while ifExtnsRcvAddr did not.
+
+ifRcvAddressTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfRcvAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains an entry for each address (broadcast,
+ multicast, or uni-cast) for which the system will receive
+ packets/frames on a particular interface, except as follows:
+
+ - for an interface operating in promiscuous mode, entries
+ are only required for those addresses for which the system
+ would receive frames were it not operating in promiscuous
+ mode.
+
+ - for 802.5 functional addresses, only one entry is
+ required, for the address which has the functional address
+ bit ANDed with the bit mask of all functional addresses for
+ which the interface will accept frames.
+
+ A system is normally able to use any unicast address which
+ corresponds to an entry in this table as a source address."
+ ::= { ifMIBObjects 4 }
+
+ifRcvAddressEntry OBJECT-TYPE
+ SYNTAX IfRcvAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of objects identifying an address for which the
+ system will accept packets/frames on the particular
+ interface identified by the index value ifIndex."
+ INDEX { ifIndex, ifRcvAddressAddress }
+ ::= { ifRcvAddressTable 1 }
+
+IfRcvAddressEntry ::=
+ SEQUENCE {
+ ifRcvAddressAddress PhysAddress,
+ ifRcvAddressStatus RowStatus,
+ ifRcvAddressType INTEGER
+ }
+
+ifRcvAddressAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An address for which the system will accept packets/frames
+ on this entry's interface."
+ ::= { ifRcvAddressEntry 1 }
+
+ifRcvAddressStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object is used to create and delete rows in the
+ ifRcvAddressTable."
+ ::= { ifRcvAddressEntry 2 }
+
+ifRcvAddressType OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ other(1),
+ volatile(2),
+ nonVolatile(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object has the value nonVolatile(3) for those entries
+ in the table which are valid and will not be deleted by the
+ next restart of the managed system. Entries having the
+ value volatile(2) are valid and exist, but have not been
+ saved, so that will not exist after the next restart of the
+ managed system. Entries having the value other(1) are valid
+ and exist but are not classified as to whether they will
+ continue to exist after the next restart."
+ DEFVAL { volatile }
+ ::= { ifRcvAddressEntry 3 }
+
+-- definition of interface-related traps.
+
+linkDown NOTIFICATION-TYPE
+ OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
+ STATUS current
+ DESCRIPTION
+ "A linkDown trap signifies that the SNMP entity, acting in
+ an agent role, has detected that the ifOperStatus object for
+ one of its communication links is about to enter the down
+ state from some other state (but not from the notPresent
+ state). This other state is indicated by the included value
+ of ifOperStatus."
+ ::= { snmpTraps 3 }
+
+linkUp NOTIFICATION-TYPE
+ OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
+ STATUS current
+ DESCRIPTION
+ "A linkUp trap signifies that the SNMP entity, acting in an
+ agent role, has detected that the ifOperStatus object for
+ one of its communication links left the down state and
+ transitioned into some other state (but not into the
+ notPresent state). This other state is indicated by the
+ included value of ifOperStatus."
+ ::= { snmpTraps 4 }
+
+-- conformance information
+
+ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
+
+ifGroups OBJECT IDENTIFIER ::= { ifConformance 1 }
+ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
+
+-- compliance statements
+
+ifCompliance3 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which have
+ network interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralInformationGroup,
+ linkUpDownNotificationsGroup }
+
+-- The groups:
+-- ifFixedLengthGroup
+-- ifHCFixedLengthGroup
+-- ifPacketGroup
+-- ifHCPacketGroup
+-- ifVHCPacketGroup
+-- are mutually exclusive; at most one of these groups is implemented
+-- for a particular interface. When any of these groups is implemented
+-- for a particular interface, then ifCounterDiscontinuityGroup must
+-- also be implemented for that interface.
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units, and for which the value of the
+ corresponding instance of ifSpeed is less than or equal to
+ 20,000,000 bits/second."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces which
+ are packet-oriented, and for which the value of the
+ corresponding instance of ifSpeed is less than or equal to
+ 20,000,000 bits/second."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second but less than or equal to 650,000,000
+ bits/second."
+
+ GROUP ifVHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifCounterDiscontinuityGroup
+ DESCRIPTION
+ "This group is mandatory for those network interfaces that
+ are required to maintain counters (i.e., those for which one
+ of the ifFixedLengthGroup, ifHCFixedLengthGroup,
+ ifPacketGroup, ifHCPacketGroup, or ifVHCPacketGroup is
+ mandatory)."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+
+ OBJECT ifAlias
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ifCompliances 3 }
+
+-- units of conformance
+
+ifGeneralInformationGroup OBJECT-GROUP
+ OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
+ ifAdminStatus, ifOperStatus, ifLastChange,
+ ifLinkUpDownTrapEnable, ifConnectorPresent,
+ ifHighSpeed, ifName, ifNumber, ifAlias,
+ ifTableLastChange }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information applicable to
+ all network interfaces."
+ ::= { ifGroups 10 }
+
+-- the following five groups are mutually exclusive; at most
+-- one of these groups is implemented for any interface
+
+ifFixedLengthGroup OBJECT-GROUP
+ OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ non-high speed (non-high speed interfaces transmit and
+ receive at speeds less than or equal to 20,000,000
+ bits/second) character-oriented or fixed-length-transmission
+ network interfaces."
+ ::= { ifGroups 2 }
+
+ifHCFixedLengthGroup OBJECT-GROUP
+ OBJECTS { ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ high speed (greater than 20,000,000 bits/second) character-
+ oriented or fixed-length-transmission network interfaces."
+ ::= { ifGroups 3 }
+
+ifPacketGroup OBJECT-GROUP
+ OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ non-high speed (non-high speed interfaces transmit and
+ receive at speeds less than or equal to 20,000,000
+ bits/second) packet-oriented network interfaces."
+ ::= { ifGroups 4 }
+
+ifHCPacketGroup OBJECT-GROUP
+ OBJECTS { ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ high speed (greater than 20,000,000 bits/second but less
+ than or equal to 650,000,000 bits/second) packet-oriented
+ network interfaces."
+ ::= { ifGroups 5 }
+
+ifVHCPacketGroup OBJECT-GROUP
+ OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
+ ifHCInBroadcastPkts, ifHCOutUcastPkts,
+ ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
+ ifHCInOctets, ifHCOutOctets,
+ ifInOctets, ifOutOctets, ifInUnknownProtos,
+ ifInErrors, ifOutErrors,
+ ifMtu, ifInUcastPkts, ifInMulticastPkts,
+ ifInBroadcastPkts, ifInDiscards,
+ ifOutUcastPkts, ifOutMulticastPkts,
+ ifOutBroadcastPkts, ifOutDiscards,
+ ifPromiscuousMode }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ higher speed (greater than 650,000,000 bits/second) packet-
+ oriented network interfaces."
+ ::= { ifGroups 6 }
+
+ifRcvAddressGroup OBJECT-GROUP
+ OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information on the
+ multiple addresses which an interface receives."
+ ::= { ifGroups 7 }
+
+ifStackGroup2 OBJECT-GROUP
+ OBJECTS { ifStackStatus, ifStackLastChange }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information on the
+ layering of MIB-II interfaces."
+ ::= { ifGroups 11 }
+
+ifCounterDiscontinuityGroup OBJECT-GROUP
+ OBJECTS { ifCounterDiscontinuityTime }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing information specific to
+ interface counter discontinuities."
+ ::= { ifGroups 13 }
+
+linkUpDownNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { linkUp, linkDown }
+ STATUS current
+ DESCRIPTION
+ "The notifications which indicate specific changes in the
+ value of ifOperStatus."
+ ::= { ifGroups 14 }
+
+-- Deprecated Definitions - Objects
+
+--
+-- The Interface Test Table
+--
+-- This group of objects is optional. However, a media-specific
+
+-- MIB may make implementation of this group mandatory.
+--
+-- This table replaces the ifExtnsTestTable
+--
+
+ifTestTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfTestEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "This table contains one entry per interface. It defines
+ objects which allow a network manager to instruct an agent
+ to test an interface for various faults. Tests for an
+ interface are defined in the media-specific MIB for that
+ interface. After invoking a test, the object ifTestResult
+ can be read to determine the outcome. If an agent can not
+ perform the test, ifTestResult is set to so indicate. The
+ object ifTestCode can be used to provide further test-
+ specific or interface-specific (or even enterprise-specific)
+ information concerning the outcome of the test. Only one
+ test can be in progress on each interface at any one time.
+ If one test is in progress when another test is invoked, the
+ second test is rejected. Some agents may reject a test when
+ a prior test is active on another interface.
+
+ Before starting a test, a manager-station must first obtain
+ 'ownership' of the entry in the ifTestTable for the
+ interface to be tested. This is accomplished with the
+ ifTestId and ifTestStatus objects as follows:
+
+ try_again:
+ get (ifTestId, ifTestStatus)
+ while (ifTestStatus != notInUse)
+ /*
+ * Loop while a test is running or some other
+ * manager is configuring a test.
+ */
+ short delay
+ get (ifTestId, ifTestStatus)
+ }
+
+ /*
+ * Is not being used right now -- let's compete
+ * to see who gets it.
+ */
+ lock_value = ifTestId
+
+ if ( set(ifTestId = lock_value, ifTestStatus = inUse,
+ ifTestOwner = 'my-IP-address') == FAILURE)
+ /*
+ * Another manager got the ifTestEntry -- go
+ * try again
+ */
+ goto try_again;
+
+ /*
+ * I have the lock
+ */
+ set up any test parameters.
+
+ /*
+ * This starts the test
+ */
+ set(ifTestType = test_to_run);
+
+ wait for test completion by polling ifTestResult
+
+ when test completes, agent sets ifTestResult
+ agent also sets ifTestStatus = 'notInUse'
+
+ retrieve any additional test results, and ifTestId
+
+ if (ifTestId == lock_value+1) results are valid
+
+ A manager station first retrieves the value of the
+ appropriate ifTestId and ifTestStatus objects, periodically
+ repeating the retrieval if necessary, until the value of
+ ifTestStatus is 'notInUse'. The manager station then tries
+ to set the same ifTestId object to the value it just
+ retrieved, the same ifTestStatus object to 'inUse', and the
+ corresponding ifTestOwner object to a value indicating
+ itself. If the set operation succeeds then the manager has
+ obtained ownership of the ifTestEntry, and the value of the
+ ifTestId object is incremented by the agent (per the
+ semantics of TestAndIncr). Failure of the set operation
+ indicates that some other manager has obtained ownership of
+ the ifTestEntry.
+
+ Once ownership is obtained, any test parameters can be
+ setup, and then the test is initiated by setting ifTestType.
+ On completion of the test, the agent sets ifTestStatus to
+ 'notInUse'. Once this occurs, the manager can retrieve the
+ results. In the (rare) event that the invocation of tests
+ by two network managers were to overlap, then there would be
+ a possibility that the first test's results might be
+ overwritten by the second test's results prior to the first
+
+ results being read. This unlikely circumstance can be
+ detected by a network manager retrieving ifTestId at the
+ same time as retrieving the test results, and ensuring that
+ the results are for the desired request.
+
+ If ifTestType is not set within an abnormally long period of
+ time after ownership is obtained, the agent should time-out
+ the manager, and reset the value of the ifTestStatus object
+ back to 'notInUse'. It is suggested that this time-out
+ period be 5 minutes.
+
+ In general, a management station must not retransmit a
+ request to invoke a test for which it does not receive a
+ response; instead, it properly inspects an agent's MIB to
+ determine if the invocation was successful. Only if the
+ invocation was unsuccessful, is the invocation request
+ retransmitted.
+
+ Some tests may require the interface to be taken off-line in
+ order to execute them, or may even require the agent to
+ reboot after completion of the test. In these
+ circumstances, communication with the management station
+ invoking the test may be lost until after completion of the
+ test. An agent is not required to support such tests.
+ However, if such tests are supported, then the agent should
+ make every effort to transmit a response to the request
+ which invoked the test prior to losing communication. When
+ the agent is restored to normal service, the results of the
+ test are properly made available in the appropriate objects.
+ Note that this requires that the ifIndex value assigned to
+ an interface must be unchanged even if the test causes a
+ reboot. An agent must reject any test for which it cannot,
+ perhaps due to resource constraints, make available at least
+ the minimum amount of information after that test
+ completes."
+ ::= { ifMIBObjects 3 }
+
+ifTestEntry OBJECT-TYPE
+ SYNTAX IfTestEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "An entry containing objects for invoking tests on an
+ interface."
+ AUGMENTS { ifEntry }
+ ::= { ifTestTable 1 }
+
+IfTestEntry ::=
+
+ SEQUENCE {
+ ifTestId TestAndIncr,
+ ifTestStatus INTEGER,
+ ifTestType AutonomousType,
+ ifTestResult INTEGER,
+ ifTestCode OBJECT IDENTIFIER,
+ ifTestOwner OwnerString
+ }
+
+ifTestId OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "This object identifies the current invocation of the
+ interface's test."
+ ::= { ifTestEntry 1 }
+
+ifTestStatus OBJECT-TYPE
+ SYNTAX INTEGER { notInUse(1), inUse(2) }
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "This object indicates whether or not some manager currently
+ has the necessary 'ownership' required to invoke a test on
+ this interface. A write to this object is only successful
+ when it changes its value from 'notInUse(1)' to 'inUse(2)'.
+ After completion of a test, the agent resets the value back
+ to 'notInUse(1)'."
+ ::= { ifTestEntry 2 }
+
+ifTestType OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "A control variable used to start and stop operator-
+ initiated interface tests. Most OBJECT IDENTIFIER values
+ assigned to tests are defined elsewhere, in association with
+ specific types of interface. However, this document assigns
+ a value for a full-duplex loopback test, and defines the
+ special meanings of the subject identifier:
+
+ noTest OBJECT IDENTIFIER ::= { 0 0 }
+
+ When the value noTest is written to this object, no action
+ is taken unless a test is in progress, in which case the
+ test is aborted. Writing any other value to this object is
+
+ only valid when no test is currently in progress, in which
+ case the indicated test is initiated.
+
+ When read, this object always returns the most recent value
+ that ifTestType was set to. If it has not been set since
+ the last initialization of the network management subsystem
+ on the agent, a value of noTest is returned."
+ ::= { ifTestEntry 3 }
+
+ifTestResult OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1), -- no test yet requested
+ success(2),
+ inProgress(3),
+ notSupported(4),
+ unAbleToRun(5), -- due to state of system
+ aborted(6),
+ failed(7)
+ }
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "This object contains the result of the most recently
+ requested test, or the value none(1) if no tests have been
+ requested since the last reset. Note that this facility
+ provides no provision for saving the results of one test
+ when starting another, as could be required if used by
+ multiple managers concurrently."
+ ::= { ifTestEntry 4 }
+
+ifTestCode OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "This object contains a code which contains more specific
+ information on the test result, for example an error-code
+ after a failed test. Error codes and other values this
+ object may take are specific to the type of interface and/or
+ test. The value may have the semantics of either the
+ AutonomousType or InstancePointer textual conventions as
+ defined in RFC 2579. The identifier:
+
+ testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 }
+
+ is defined for use if no additional result code is
+ available."
+ ::= { ifTestEntry 5 }
+
+ifTestOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The entity which currently has the 'ownership' required to
+ invoke a test on this interface."
+ ::= { ifTestEntry 6 }
+
+-- Deprecated Definitions - Groups
+
+ifGeneralGroup OBJECT-GROUP
+ OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
+ ifAdminStatus, ifOperStatus, ifLastChange,
+ ifLinkUpDownTrapEnable, ifConnectorPresent,
+ ifHighSpeed, ifName }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects deprecated in favour of
+ ifGeneralInformationGroup."
+ ::= { ifGroups 1 }
+
+ifTestGroup OBJECT-GROUP
+ OBJECTS { ifTestId, ifTestStatus, ifTestType,
+ ifTestResult, ifTestCode, ifTestOwner }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing the ability to invoke
+ tests on an interface."
+ ::= { ifGroups 8 }
+
+ifStackGroup OBJECT-GROUP
+ OBJECTS { ifStackStatus }
+ STATUS deprecated
+ DESCRIPTION
+ "The previous collection of objects providing information on
+ the layering of MIB-II interfaces."
+ ::= { ifGroups 9 }
+
+ifOldObjectsGroup OBJECT-GROUP
+ OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
+ ifOutQLen, ifSpecific }
+ STATUS deprecated
+ DESCRIPTION
+ "The collection of objects deprecated from the original MIB-
+ II interfaces group."
+ ::= { ifGroups 12 }
+
+-- Deprecated Definitions - Compliance
+
+ifCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "A compliance statement defined in a previous version of
+ this MIB module, for SNMP entities which have network
+ interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are character-oriented or transmit data in fixed-
+ length transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are packet-oriented."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifTestGroup
+ DESCRIPTION
+ "This group is optional. Media-specific MIBs which require
+ interface tests are strongly encouraged to use this group
+ for invoking tests and reporting results. A medium specific
+ MIB which has mandatory tests may make implementation of
+
+ this group mandatory."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifStackStatus
+ SYNTAX INTEGER { active(1) } -- subset of RowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and only one of the six
+ enumerated values for the RowStatus textual convention need
+ be supported, specifically: active(1)."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+ ::= { ifCompliances 1 }
+
+ifCompliance2 MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "A compliance statement defined in a previous version of
+ this MIB module, for SNMP entities which have network
+ interfaces."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2,
+ ifCounterDiscontinuityGroup }
+
+ GROUP ifFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are character-oriented or transmit data in fixed-length
+ transmission units."
+
+ GROUP ifHCFixedLengthGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are character-oriented or transmit data in fixed-
+ length transmission units, and for which the value of the
+ corresponding instance of ifSpeed is greater than 20,000,000
+ bits/second."
+
+ GROUP ifPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all network interfaces which
+ are packet-oriented."
+
+ GROUP ifHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory only for those network interfaces
+ which are packet-oriented and for which the value of the
+ corresponding instance of ifSpeed is greater than
+ 650,000,000 bits/second."
+
+ GROUP ifRcvAddressGroup
+ DESCRIPTION
+ "The applicability of this group MUST be defined by the
+ media-specific MIBs. Media-specific MIBs must define the
+ exact meaning, use, and semantics of the addresses in this
+ group."
+
+ OBJECT ifLinkUpDownTrapEnable
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifPromiscuousMode
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT ifStackStatus
+ SYNTAX INTEGER { active(1) } -- subset of RowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and only one of the six
+ enumerated values for the RowStatus textual convention need
+ be supported, specifically: active(1)."
+
+ OBJECT ifAdminStatus
+ SYNTAX INTEGER { up(1), down(2) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ testing(3)."
+
+ OBJECT ifAlias
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ifCompliances 2 }
+
+END
diff --git a/mibs/INET-ADDRESS-MIB.txt b/mibs/INET-ADDRESS-MIB.txt
new file mode 100644
index 00000000..a778cba6
--- /dev/null
+++ b/mibs/INET-ADDRESS-MIB.txt
@@ -0,0 +1,402 @@
+INET-ADDRESS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, mib-2, Unsigned32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+inetAddressMIB MODULE-IDENTITY
+ LAST-UPDATED "200502040000Z"
+ ORGANIZATION
+ "IETF Operations and Management Area"
+ CONTACT-INFO
+ "Juergen Schoenwaelder (Editor)
+ International University Bremen
+ P.O. Box 750 561
+ 28725 Bremen, Germany
+
+ Phone: +49 421 200-3587
+ EMail: j.schoenwaelder@iu-bremen.de
+
+ Send comments to <ietfmibs@ops.ietf.org>."
+ DESCRIPTION
+ "This MIB module defines textual conventions for
+ representing Internet addresses. An Internet
+ address can be an IPv4 address, an IPv6 address,
+ or a DNS domain name. This module also defines
+ textual conventions for Internet port numbers,
+ autonomous system numbers, and the length of an
+ Internet address prefix.
+
+ Copyright (C) The Internet Society (2005). This version
+ of this MIB module is part of RFC 4001, see the RFC
+ itself for full legal notices."
+ REVISION "200502040000Z"
+ DESCRIPTION
+ "Third version, published as RFC 4001. This revision
+ introduces the InetZoneIndex, InetScopeType, and
+ InetVersion textual conventions."
+ REVISION "200205090000Z"
+ DESCRIPTION
+ "Second version, published as RFC 3291. This
+ revision contains several clarifications and
+ introduces several new textual conventions:
+ InetAddressPrefixLength, InetPortNumber,
+ InetAutonomousSystemNumber, InetAddressIPv4z,
+ and InetAddressIPv6z."
+ REVISION "200006080000Z"
+ DESCRIPTION
+ "Initial version, published as RFC 2851."
+ ::= { mib-2 76 }
+
+InetAddressType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value that represents a type of Internet address.
+
+ unknown(0) An unknown address type. This value MUST
+ be used if the value of the corresponding
+ InetAddress object is a zero-length string.
+ It may also be used to indicate an IP address
+ that is not in one of the formats defined
+ below.
+
+ ipv4(1) An IPv4 address as defined by the
+ InetAddressIPv4 textual convention.
+
+ ipv6(2) An IPv6 address as defined by the
+ InetAddressIPv6 textual convention.
+
+ ipv4z(3) A non-global IPv4 address including a zone
+ index as defined by the InetAddressIPv4z
+ textual convention.
+
+ ipv6z(4) A non-global IPv6 address including a zone
+ index as defined by the InetAddressIPv6z
+ textual convention.
+
+ dns(16) A DNS domain name as defined by the
+ InetAddressDNS textual convention.
+
+ Each definition of a concrete InetAddressType value must be
+ accompanied by a definition of a textual convention for use
+ with that InetAddressType.
+
+ To support future extensions, the InetAddressType textual
+ convention SHOULD NOT be sub-typed in object type definitions.
+ It MAY be sub-typed in compliance statements in order to
+ require only a subset of these address types for a compliant
+ implementation.
+
+ Implementations must ensure that InetAddressType objects
+ and any dependent objects (e.g., InetAddress objects) are
+ consistent. An inconsistentValue error must be generated
+ if an attempt to change an InetAddressType object would,
+ for example, lead to an undefined InetAddress value. In
+
+ particular, InetAddressType/InetAddress pairs must be
+ changed together if the address type changes (e.g., from
+ ipv6(2) to ipv4(1))."
+ SYNTAX INTEGER {
+ unknown(0),
+ ipv4(1),
+ ipv6(2),
+ ipv4z(3),
+ ipv6z(4),
+ dns(16)
+ }
+
+InetAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a generic Internet address.
+
+ An InetAddress value is always interpreted within the context
+ of an InetAddressType value. Every usage of the InetAddress
+ textual convention is required to specify the InetAddressType
+ object that provides the context. It is suggested that the
+ InetAddressType object be logically registered before the
+ object(s) that use the InetAddress textual convention, if
+ they appear in the same logical row.
+
+ The value of an InetAddress object must always be
+ consistent with the value of the associated InetAddressType
+ object. Attempts to set an InetAddress object to a value
+ inconsistent with the associated InetAddressType
+ must fail with an inconsistentValue error.
+
+ When this textual convention is used as the syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the object definition MUST include a 'SIZE' clause to
+ limit the number of potential instance sub-identifiers;
+ otherwise the applicable constraints MUST be stated in
+ the appropriate conceptual row DESCRIPTION clauses, or
+ in the surrounding documentation if there is no single
+ DESCRIPTION clause that is appropriate."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+InetAddressIPv4 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d"
+ STATUS current
+ DESCRIPTION
+ "Represents an IPv4 network address:
+
+ Octets Contents Encoding
+ 1-4 IPv4 address network-byte order
+
+ The corresponding InetAddressType value is ipv4(1).
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (4))
+
+InetAddressIPv6 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x"
+ STATUS current
+ DESCRIPTION
+ "Represents an IPv6 network address:
+
+ Octets Contents Encoding
+ 1-16 IPv6 address network-byte order
+
+ The corresponding InetAddressType value is ipv6(2).
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (16))
+
+InetAddressIPv4z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d%4d"
+ STATUS current
+ DESCRIPTION
+ "Represents a non-global IPv4 network address, together
+ with its zone index:
+
+ Octets Contents Encoding
+ 1-4 IPv4 address network-byte order
+ 5-8 zone index network-byte order
+
+ The corresponding InetAddressType value is ipv4z(3).
+
+ The zone index (bytes 5-8) is used to disambiguate identical
+ address values on nodes that have interfaces attached to
+ different zones of the same scope. The zone index may contain
+ the special value 0, which refers to the default zone for each
+ scope.
+
+ This textual convention SHOULD NOT be used directly in object
+
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (8))
+
+InetAddressIPv6z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d"
+ STATUS current
+ DESCRIPTION
+ "Represents a non-global IPv6 network address, together
+ with its zone index:
+
+ Octets Contents Encoding
+ 1-16 IPv6 address network-byte order
+ 17-20 zone index network-byte order
+
+ The corresponding InetAddressType value is ipv6z(4).
+
+ The zone index (bytes 17-20) is used to disambiguate
+ identical address values on nodes that have interfaces
+ attached to different zones of the same scope. The zone index
+ may contain the special value 0, which refers to the default
+ zone for each scope.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (20))
+
+InetAddressDNS ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "Represents a DNS domain name. The name SHOULD be fully
+ qualified whenever possible.
+
+ The corresponding InetAddressType is dns(16).
+
+ The DESCRIPTION clause of InetAddress objects that may have
+ InetAddressDNS values MUST fully describe how (and when)
+ these names are to be resolved to IP addresses.
+
+ The resolution of an InetAddressDNS value may require to
+ query multiple DNS records (e.g., A for IPv4 and AAAA for
+ IPv6). The order of the resolution process and which DNS
+ record takes precedence depends on the configuration of the
+ resolver.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions, as it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or in
+ conjunction with InetAddressType, as a pair."
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+InetAddressPrefixLength ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "Denotes the length of a generic Internet network address
+ prefix. A value of n corresponds to an IP address mask
+ that has n contiguous 1-bits from the most significant
+ bit (MSB), with all other bits set to 0.
+
+ An InetAddressPrefixLength value is always interpreted within
+ the context of an InetAddressType value. Every usage of the
+ InetAddressPrefixLength textual convention is required to
+ specify the InetAddressType object that provides the
+ context. It is suggested that the InetAddressType object be
+ logically registered before the object(s) that use the
+ InetAddressPrefixLength textual convention, if they appear
+ in the same logical row.
+
+ InetAddressPrefixLength values larger than
+ the maximum length of an IP address for a specific
+ InetAddressType are treated as the maximum significant
+ value applicable for the InetAddressType. The maximum
+ significant value is 32 for the InetAddressType
+ 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType
+ 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value
+ for the InetAddressType 'dns(16)' is 0.
+
+ The value zero is object-specific and must be defined as
+ part of the description of any object that uses this
+ syntax. Examples of the usage of zero might include
+ situations where the Internet network address prefix
+ is unknown or does not apply.
+
+ The upper bound of the prefix length has been chosen to
+ be consistent with the maximum size of an InetAddress."
+ SYNTAX Unsigned32 (0..2040)
+
+InetPortNumber ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "Represents a 16 bit port number of an Internet transport
+
+ layer protocol. Port numbers are assigned by IANA. A
+ current list of all assignments is available from
+ <http://www.iana.org/>.
+
+ The value zero is object-specific and must be defined as
+ part of the description of any object that uses this
+ syntax. Examples of the usage of zero might include
+ situations where a port number is unknown, or when the
+ value zero is used as a wildcard in a filter."
+ REFERENCE "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960"
+ SYNTAX Unsigned32 (0..65535)
+
+InetAutonomousSystemNumber ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "Represents an autonomous system number that identifies an
+ Autonomous System (AS). An AS is a set of routers under a
+ single technical administration, using an interior gateway
+ protocol and common metrics to route packets within the AS,
+ and using an exterior gateway protocol to route packets to
+ other ASes'. IANA maintains the AS number space and has
+ delegated large parts to the regional registries.
+
+ Autonomous system numbers are currently limited to 16 bits
+ (0..65535). There is, however, work in progress to enlarge the
+ autonomous system number space to 32 bits. Therefore, this
+ textual convention uses an Unsigned32 value without a
+ range restriction in order to support a larger autonomous
+ system number space."
+ REFERENCE "RFC 1771, RFC 1930"
+ SYNTAX Unsigned32
+
+InetScopeType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a scope type. This textual convention can be used
+ in cases where a MIB has to represent different scope types
+ and there is no context information, such as an InetAddress
+ object, that implicitly defines the scope type.
+
+ Note that not all possible values have been assigned yet, but
+ they may be assigned in future revisions of this specification.
+ Applications should therefore be able to deal with values
+ not yet assigned."
+ REFERENCE "RFC 3513"
+ SYNTAX INTEGER {
+ -- reserved(0),
+ interfaceLocal(1),
+ linkLocal(2),
+ subnetLocal(3),
+ adminLocal(4),
+ siteLocal(5), -- site-local unicast addresses
+ -- have been deprecated by RFC 3879
+ -- unassigned(6),
+ -- unassigned(7),
+ organizationLocal(8),
+ -- unassigned(9),
+ -- unassigned(10),
+ -- unassigned(11),
+ -- unassigned(12),
+ -- unassigned(13),
+ global(14)
+ -- reserved(15)
+ }
+
+InetZoneIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A zone index identifies an instance of a zone of a
+ specific scope.
+
+ The zone index MUST disambiguate identical address
+ values. For link-local addresses, the zone index will
+ typically be the interface index (ifIndex as defined in the
+ IF-MIB) of the interface on which the address is configured.
+
+ The zone index may contain the special value 0, which refers
+ to the default zone. The default zone may be used in cases
+ where the valid zone index is not known (e.g., when a
+ management application has to write a link-local IPv6
+ address without knowing the interface index value). The
+ default zone SHOULD NOT be used as an easy way out in
+ cases where the zone index for a non-global IPv6 address
+ is known."
+ REFERENCE "RFC4007"
+ SYNTAX Unsigned32
+
+InetVersion ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value representing a version of the IP protocol.
+
+ unknown(0) An unknown or unspecified version of the IP
+ protocol.
+
+ ipv4(1) The IPv4 protocol as defined in RFC 791 (STD 5).
+
+ ipv6(2) The IPv6 protocol as defined in RFC 2460.
+
+ Note that this textual convention SHOULD NOT be used to
+ distinguish different address types associated with IP
+ protocols. The InetAddressType has been designed for this
+ purpose."
+ REFERENCE "RFC 791, RFC 2460"
+ SYNTAX INTEGER {
+ unknown(0),
+ ipv4(1),
+ ipv6(2)
+ }
+END
diff --git a/mibs/IP-FORWARD-MIB.txt b/mibs/IP-FORWARD-MIB.txt
new file mode 100644
index 00000000..347b5e00
--- /dev/null
+++ b/mibs/IP-FORWARD-MIB.txt
@@ -0,0 +1,1277 @@
+IP-FORWARD-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ IpAddress, Integer32, Gauge32,
+ Counter32 FROM SNMPv2-SMI
+ RowStatus FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InterfaceIndexOrZero FROM IF-MIB
+ ip FROM IP-MIB
+ IANAipRouteProtocol FROM IANA-RTPROTO-MIB
+ InetAddress, InetAddressType,
+ InetAddressPrefixLength,
+ InetAutonomousSystemNumber FROM INET-ADDRESS-MIB;
+
+ipForward MODULE-IDENTITY
+ LAST-UPDATED "200602010000Z"
+ ORGANIZATION
+ "IETF IPv6 Working Group
+ http://www.ietf.org/html.charters/ipv6-charter.html"
+ CONTACT-INFO
+ "Editor:
+ Brian Haberman
+ Johns Hopkins University - Applied Physics Laboratory
+ Mailstop 17-S442
+ 11100 Johns Hopkins Road
+ Laurel MD, 20723-6099 USA
+
+ Phone: +1-443-778-1319
+ Email: brian@innovationslab.net
+
+ Send comments to <ipv6@ietf.org>"
+ DESCRIPTION
+ "The MIB module for the management of CIDR multipath IP
+ Routes.
+
+ Copyright (C) The Internet Society (2006). This version
+ of this MIB module is a part of RFC 4292; see the RFC
+ itself for full legal notices."
+
+ REVISION "200602010000Z"
+ DESCRIPTION
+ "IPv4/v6 version-independent revision. Minimal changes
+ were made to the original RFC 2096 MIB to allow easy
+ upgrade of existing IPv4 implementations to the
+ version-independent MIB. These changes include:
+
+ Adding inetCidrRouteDiscards as a replacement for the
+ deprecated ipRoutingDiscards and ipv6DiscardedRoutes
+ objects.
+
+ Adding a new conformance statement to support the
+ implementation of the IP Forwarding MIB in a
+ read-only mode.
+
+ The inetCidrRouteTable replaces the IPv4-specific
+ ipCidrRouteTable, its related objects, and related
+ conformance statements.
+
+ Published as RFC 4292."
+
+ REVISION "199609190000Z"
+ DESCRIPTION
+ "Revised to support CIDR routes.
+ Published as RFC 2096."
+
+ REVISION "199207022156Z"
+ DESCRIPTION
+ "Initial version, published as RFC 1354."
+ ::= { ip 24 }
+
+inetCidrRouteNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current inetCidrRouteTable entries that
+ are not invalid."
+::= { ipForward 6 }
+
+inetCidrRouteDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of valid route entries discarded from the
+ inetCidrRouteTable. Discarded route entries do not
+ appear in the inetCidrRouteTable. One possible reason
+ for discarding an entry would be to free-up buffer space
+ for other route table entries."
+ ::= { ipForward 8 }
+
+-- Inet CIDR Route Table
+
+-- The Inet CIDR Route Table deprecates and replaces the
+-- ipCidrRoute Table currently in the IP Forwarding Table MIB.
+-- It adds IP protocol independence.
+
+inetCidrRouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF InetCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This entity's IP Routing table."
+ REFERENCE
+ "RFC 1213 Section 6.6, The IP Group"
+ ::= { ipForward 7 }
+
+inetCidrRouteEntry OBJECT-TYPE
+ SYNTAX InetCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A particular route to a particular destination, under a
+ particular policy (as reflected in the
+ inetCidrRoutePolicy object).
+
+ Dynamically created rows will survive an agent reboot.
+
+ Implementers need to be aware that if the total number
+ of elements (octets or sub-identifiers) in
+ inetCidrRouteDest, inetCidrRoutePolicy, and
+ inetCidrRouteNextHop exceeds 111, then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ INDEX {
+ inetCidrRouteDestType,
+ inetCidrRouteDest,
+ inetCidrRoutePfxLen,
+ inetCidrRoutePolicy,
+ inetCidrRouteNextHopType,
+ inetCidrRouteNextHop
+ }
+ ::= { inetCidrRouteTable 1 }
+
+InetCidrRouteEntry ::= SEQUENCE {
+ inetCidrRouteDestType InetAddressType,
+ inetCidrRouteDest InetAddress,
+ inetCidrRoutePfxLen InetAddressPrefixLength,
+ inetCidrRoutePolicy OBJECT IDENTIFIER,
+ inetCidrRouteNextHopType InetAddressType,
+ inetCidrRouteNextHop InetAddress,
+ inetCidrRouteIfIndex InterfaceIndexOrZero,
+ inetCidrRouteType INTEGER,
+ inetCidrRouteProto IANAipRouteProtocol,
+ inetCidrRouteAge Gauge32,
+ inetCidrRouteNextHopAS InetAutonomousSystemNumber,
+ inetCidrRouteMetric1 Integer32,
+ inetCidrRouteMetric2 Integer32,
+ inetCidrRouteMetric3 Integer32,
+ inetCidrRouteMetric4 Integer32,
+ inetCidrRouteMetric5 Integer32,
+ inetCidrRouteStatus RowStatus
+ }
+
+inetCidrRouteDestType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the inetCidrRouteDest address, as defined
+ in the InetAddress MIB.
+
+ Only those address types that may appear in an actual
+ routing table are allowed as values of this object."
+ REFERENCE "RFC 4001"
+ ::= { inetCidrRouteEntry 1 }
+
+inetCidrRouteDest OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The destination IP address of this route.
+
+ The type of this address is determined by the value of
+ the inetCidrRouteDestType object.
+
+ The values for the index objects inetCidrRouteDest and
+ inetCidrRoutePfxLen must be consistent. When the value
+ of inetCidrRouteDest (excluding the zone index, if one
+ is present) is x, then the bitwise logical-AND
+ of x with the value of the mask formed from the
+ corresponding index object inetCidrRoutePfxLen MUST be
+ equal to x. If not, then the index pair is not
+ consistent and an inconsistentName error must be
+ returned on SET or CREATE requests."
+ ::= { inetCidrRouteEntry 2 }
+
+inetCidrRoutePfxLen OBJECT-TYPE
+ SYNTAX InetAddressPrefixLength
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates the number of leading one bits that form the
+ mask to be logical-ANDed with the destination address
+ before being compared to the value in the
+
+ inetCidrRouteDest field.
+
+ The values for the index objects inetCidrRouteDest and
+ inetCidrRoutePfxLen must be consistent. When the value
+ of inetCidrRouteDest (excluding the zone index, if one
+ is present) is x, then the bitwise logical-AND
+ of x with the value of the mask formed from the
+ corresponding index object inetCidrRoutePfxLen MUST be
+ equal to x. If not, then the index pair is not
+ consistent and an inconsistentName error must be
+ returned on SET or CREATE requests."
+ ::= { inetCidrRouteEntry 3 }
+
+inetCidrRoutePolicy OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This object is an opaque object without any defined
+ semantics. Its purpose is to serve as an additional
+ index that may delineate between multiple entries to
+ the same destination. The value { 0 0 } shall be used
+ as the default value for this object."
+ ::= { inetCidrRouteEntry 4 }
+
+inetCidrRouteNextHopType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of the inetCidrRouteNextHop address, as
+ defined in the InetAddress MIB.
+
+ Value should be set to unknown(0) for non-remote
+ routes.
+
+ Only those address types that may appear in an actual
+ routing table are allowed as values of this object."
+ REFERENCE "RFC 4001"
+ ::= { inetCidrRouteEntry 5 }
+
+inetCidrRouteNextHop OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "On remote routes, the address of the next system en
+
+ route. For non-remote routes, a zero length string.
+
+ The type of this address is determined by the value of
+ the inetCidrRouteNextHopType object."
+ ::= { inetCidrRouteEntry 6 }
+
+inetCidrRouteIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The ifIndex value that identifies the local interface
+ through which the next hop of this route should be
+ reached. A value of 0 is valid and represents the
+ scenario where no interface is specified."
+ ::= { inetCidrRouteEntry 7 }
+
+inetCidrRouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified by this MIB
+ reject (2), -- route that discards traffic and
+ -- returns ICMP notification
+ local (3), -- local interface
+ remote (4), -- remote destination
+ blackhole(5) -- route that discards traffic
+ -- silently
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of route. Note that local(3) refers to a
+ route for which the next hop is the final destination;
+ remote(4) refers to a route for which the next hop is
+ not the final destination.
+
+ Routes that do not result in traffic forwarding or
+ rejection should not be displayed, even if the
+ implementation keeps them stored internally.
+
+ reject(2) refers to a route that, if matched, discards
+ the message as unreachable and returns a notification
+ (e.g., ICMP error) to the message sender. This is used
+ in some protocols as a means of correctly aggregating
+ routes.
+
+ blackhole(5) refers to a route that, if matched,
+ discards the message silently."
+ ::= { inetCidrRouteEntry 8 }
+
+inetCidrRouteProto OBJECT-TYPE
+ SYNTAX IANAipRouteProtocol
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The routing mechanism via which this route was learned.
+ Inclusion of values for gateway routing protocols is
+ not intended to imply that hosts should support those
+ protocols."
+ ::= { inetCidrRouteEntry 9 }
+
+inetCidrRouteAge OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds since this route was last updated
+ or otherwise determined to be correct. Note that no
+ semantics of 'too old' can be implied, except through
+ knowledge of the routing protocol by which the route
+ was learned."
+ ::= { inetCidrRouteEntry 10 }
+
+inetCidrRouteNextHopAS OBJECT-TYPE
+ SYNTAX InetAutonomousSystemNumber
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Autonomous System Number of the Next Hop. The
+ semantics of this object are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. When this object is unknown or not relevant, its
+ value should be set to zero."
+ DEFVAL { 0 }
+ ::= { inetCidrRouteEntry 11 }
+
+inetCidrRouteMetric1 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 12 }
+
+inetCidrRouteMetric2 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 13 }
+
+inetCidrRouteMetric3 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 14 }
+
+inetCidrRouteMetric4 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 15 }
+
+inetCidrRouteMetric5 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+
+ protocol specified in the route's inetCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { inetCidrRouteEntry 16 }
+
+inetCidrRouteStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The row status variable, used according to row
+ installation and removal conventions.
+
+ A row entry cannot be modified when the status is
+ marked as active(1)."
+ ::= { inetCidrRouteEntry 17 }
+
+-- Conformance information
+
+ipForwardConformance
+ OBJECT IDENTIFIER ::= { ipForward 5 }
+
+ipForwardGroups
+ OBJECT IDENTIFIER ::= { ipForwardConformance 1 }
+
+ipForwardCompliances
+ OBJECT IDENTIFIER ::= { ipForwardConformance 2 }
+
+-- Compliance statements
+
+ipForwardFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "When this MIB is implemented for read-create, the
+ implementation can claim full compliance.
+
+ There are a number of INDEX objects that cannot be
+ represented in the form of OBJECT clauses in SMIv2,
+ but for which there are compliance requirements,
+ expressed in OBJECT clause form in this description:
+
+ -- OBJECT inetCidrRouteDestType
+ -- SYNTAX InetAddressType (ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global ipv4 and ipv6 addresses.
+
+ --
+ -- OBJECT inetCidrRouteDest
+ -- SYNTAX InetAddress (SIZE (4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global IPv4 and IPv6 addresses.
+ --
+ -- OBJECT inetCidrRouteNextHopType
+ -- SYNTAX InetAddressType (unknown(0), ipv4(1),
+ -- ipv6(2), ipv4z(3)
+ -- ipv6z(4))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global ipv4 and ipv6 addresses.
+ --
+ -- OBJECT inetCidrRouteNextHop
+ -- SYNTAX InetAddress (SIZE (0 | 4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for global and
+ -- non-global IPv4 and IPv6 addresses.
+ "
+
+ MODULE -- this module
+ MANDATORY-GROUPS { inetForwardCidrRouteGroup }
+
+ OBJECT inetCidrRouteStatus
+ SYNTAX RowStatus { active(1), notInService (2) }
+ WRITE-SYNTAX RowStatus { active(1), notInService (2),
+ createAndGo(4), destroy(6) }
+ DESCRIPTION "Support for createAndWait is not required."
+ ::= { ipForwardCompliances 3 }
+
+ipForwardReadOnlyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "When this MIB is implemented without support for read-
+ create (i.e., in read-only mode), the implementation can
+ claim read-only compliance."
+ MODULE -- this module
+ MANDATORY-GROUPS { inetForwardCidrRouteGroup }
+
+ OBJECT inetCidrRouteIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteNextHopAS
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric1
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric2
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric3
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric4
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteMetric5
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT inetCidrRouteStatus
+ SYNTAX RowStatus { active(1) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { ipForwardCompliances 4 }
+
+-- units of conformance
+
+inetForwardCidrRouteGroup OBJECT-GROUP
+ OBJECTS { inetCidrRouteDiscards,
+ inetCidrRouteIfIndex, inetCidrRouteType,
+ inetCidrRouteProto, inetCidrRouteAge,
+ inetCidrRouteNextHopAS, inetCidrRouteMetric1,
+ inetCidrRouteMetric2, inetCidrRouteMetric3,
+ inetCidrRouteMetric4, inetCidrRouteMetric5,
+ inetCidrRouteStatus, inetCidrRouteNumber
+ }
+ STATUS current
+ DESCRIPTION
+ "The IP version-independent CIDR Route Table."
+ ::= { ipForwardGroups 4 }
+
+-- Deprecated Objects
+
+ipCidrRouteNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of current ipCidrRouteTable entries that are
+ not invalid. This object is deprecated in favor of
+ inetCidrRouteNumber and the inetCidrRouteTable."
+ ::= { ipForward 3 }
+
+-- IP CIDR Route Table
+
+-- The IP CIDR Route Table obsoletes and replaces the ipRoute
+-- Table current in MIB-I and MIB-II and the IP Forwarding Table.
+-- It adds knowledge of the autonomous system of the next hop,
+-- multiple next hops, policy routing, and Classless
+-- Inter-Domain Routing.
+
+ipCidrRouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "This entity's IP Routing table. This table has been
+ deprecated in favor of the IP version neutral
+ inetCidrRouteTable."
+ REFERENCE
+ "RFC 1213 Section 6.6, The IP Group"
+ ::= { ipForward 4 }
+
+ipCidrRouteEntry OBJECT-TYPE
+ SYNTAX IpCidrRouteEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A particular route to a particular destination, under a
+
+ particular policy."
+ INDEX {
+ ipCidrRouteDest,
+ ipCidrRouteMask,
+ ipCidrRouteTos,
+ ipCidrRouteNextHop
+ }
+ ::= { ipCidrRouteTable 1 }
+
+IpCidrRouteEntry ::= SEQUENCE {
+ ipCidrRouteDest IpAddress,
+ ipCidrRouteMask IpAddress,
+ ipCidrRouteTos Integer32,
+ ipCidrRouteNextHop IpAddress,
+ ipCidrRouteIfIndex Integer32,
+ ipCidrRouteType INTEGER,
+ ipCidrRouteProto INTEGER,
+ ipCidrRouteAge Integer32,
+ ipCidrRouteInfo OBJECT IDENTIFIER,
+ ipCidrRouteNextHopAS Integer32,
+ ipCidrRouteMetric1 Integer32,
+ ipCidrRouteMetric2 Integer32,
+ ipCidrRouteMetric3 Integer32,
+ ipCidrRouteMetric4 Integer32,
+ ipCidrRouteMetric5 Integer32,
+ ipCidrRouteStatus RowStatus
+ }
+
+ipCidrRouteDest OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The destination IP address of this route.
+
+ This object may not take a Multicast (Class D) address
+ value.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipCidrRouteMask object is
+ not equal to x."
+ ::= { ipCidrRouteEntry 1 }
+
+ipCidrRouteMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "Indicate the mask to be logical-ANDed with the
+ destination address before being compared to the value
+ in the ipCidrRouteDest field. For those systems that
+ do not support arbitrary subnet masks, an agent
+ constructs the value of the ipCidrRouteMask by
+ reference to the IP Address Class.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipCidrRouteDest object is
+ not equal to ipCidrRouteDest."
+ ::= { ipCidrRouteEntry 2 }
+
+-- The following convention is included for specification
+-- of TOS Field contents. At this time, the Host Requirements
+-- and the Router Requirements documents disagree on the width
+-- of the TOS field. This mapping describes the Router
+-- Requirements mapping, and leaves room to widen the TOS field
+-- without impact to fielded systems.
+
+ipCidrRouteTos OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The policy specifier is the IP TOS Field. The encoding
+ of IP TOS is as specified by the following convention.
+ Zero indicates the default path if no more specific
+ policy applies.
+
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | | | |
+ | PRECEDENCE | TYPE OF SERVICE | 0 |
+ | | | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ IP TOS IP TOS
+ Field Policy Field Policy
+ Contents Code Contents Code
+ 0 0 0 0 ==> 0 0 0 0 1 ==> 2
+ 0 0 1 0 ==> 4 0 0 1 1 ==> 6
+ 0 1 0 0 ==> 8 0 1 0 1 ==> 10
+ 0 1 1 0 ==> 12 0 1 1 1 ==> 14
+ 1 0 0 0 ==> 16 1 0 0 1 ==> 18
+ 1 0 1 0 ==> 20 1 0 1 1 ==> 22
+
+ 1 1 0 0 ==> 24 1 1 0 1 ==> 26
+ 1 1 1 0 ==> 28 1 1 1 1 ==> 30"
+ ::= { ipCidrRouteEntry 3 }
+
+ipCidrRouteNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "On remote routes, the address of the next system en
+ route; Otherwise, 0.0.0.0."
+ ::= { ipCidrRouteEntry 4 }
+
+ipCidrRouteIfIndex OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The ifIndex value that identifies the local interface
+ through which the next hop of this route should be
+ reached."
+ DEFVAL { 0 }
+ ::= { ipCidrRouteEntry 5 }
+
+ipCidrRouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified by this MIB
+ reject (2), -- route that discards traffic
+ local (3), -- local interface
+ remote (4) -- remote destination
+ }
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The type of route. Note that local(3) refers to a
+ route for which the next hop is the final destination;
+ remote(4) refers to a route for which the next hop is
+ not the final destination.
+
+ Routes that do not result in traffic forwarding or
+ rejection should not be displayed, even if the
+ implementation keeps them stored internally.
+
+ reject (2) refers to a route that, if matched,
+ discards the message as unreachable. This is used in
+ some protocols as a means of correctly aggregating
+ routes."
+ ::= { ipCidrRouteEntry 6 }
+
+ipCidrRouteProto OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified
+ local (2), -- local interface
+ netmgmt (3), -- static route
+ icmp (4), -- result of ICMP Redirect
+
+ -- the following are all dynamic
+ -- routing protocols
+ egp (5), -- Exterior Gateway Protocol
+ ggp (6), -- Gateway-Gateway Protocol
+ hello (7), -- FuzzBall HelloSpeak
+ rip (8), -- Berkeley RIP or RIP-II
+ isIs (9), -- Dual IS-IS
+ esIs (10), -- ISO 9542
+ ciscoIgrp (11), -- Cisco IGRP
+ bbnSpfIgp (12), -- BBN SPF IGP
+ ospf (13), -- Open Shortest Path First
+ bgp (14), -- Border Gateway Protocol
+ idpr (15), -- InterDomain Policy Routing
+ ciscoEigrp (16) -- Cisco EIGRP
+ }
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The routing mechanism via which this route was learned.
+ Inclusion of values for gateway routing protocols is
+ not intended to imply that hosts should support those
+ protocols."
+ ::= { ipCidrRouteEntry 7 }
+
+ipCidrRouteAge OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of seconds since this route was last updated
+ or otherwise determined to be correct. Note that no
+ semantics of `too old' can be implied, except through
+ knowledge of the routing protocol by which the route
+ was learned."
+ DEFVAL { 0 }
+ ::= { ipCidrRouteEntry 8 }
+
+ipCidrRouteInfo OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol that is responsible for
+ this route, as determined by the value specified in the
+ route's ipCidrRouteProto value. If this information is
+ not present, its value should be set to the OBJECT
+ IDENTIFIER { 0 0 }, which is a syntactically valid
+ object identifier, and any implementation conforming to
+ ASN.1 and the Basic Encoding Rules must be able to
+ generate and recognize this value."
+ ::= { ipCidrRouteEntry 9 }
+
+ipCidrRouteNextHopAS OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The Autonomous System Number of the Next Hop. The
+ semantics of this object are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. When this object is unknown or not relevant, its
+ value should be set to zero."
+ DEFVAL { 0 }
+ ::= { ipCidrRouteEntry 10 }
+
+ipCidrRouteMetric1 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 11 }
+
+ipCidrRouteMetric2 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 12 }
+
+ipCidrRouteMetric3 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 13 }
+
+ipCidrRouteMetric4 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 14 }
+
+ipCidrRouteMetric5 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipCidrRouteProto
+ value. If this metric is not used, its value should be
+ set to -1."
+ DEFVAL { -1 }
+ ::= { ipCidrRouteEntry 15 }
+
+ipCidrRouteStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The row status variable, used according to row
+ installation and removal conventions."
+ ::= { ipCidrRouteEntry 16 }
+
+-- compliance statements
+
+ipForwardCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities that
+ implement the ipForward MIB.
+
+ This compliance statement has been deprecated and
+ replaced with ipForwardFullCompliance and
+ ipForwardReadOnlyCompliance."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ipForwardCidrRouteGroup }
+ ::= { ipForwardCompliances 1 }
+
+-- units of conformance
+
+ipForwardCidrRouteGroup OBJECT-GROUP
+ OBJECTS { ipCidrRouteNumber,
+ ipCidrRouteDest, ipCidrRouteMask, ipCidrRouteTos,
+ ipCidrRouteNextHop, ipCidrRouteIfIndex,
+ ipCidrRouteType, ipCidrRouteProto, ipCidrRouteAge,
+ ipCidrRouteInfo,ipCidrRouteNextHopAS,
+ ipCidrRouteMetric1, ipCidrRouteMetric2,
+ ipCidrRouteMetric3, ipCidrRouteMetric4,
+ ipCidrRouteMetric5, ipCidrRouteStatus
+ }
+ STATUS deprecated
+ DESCRIPTION
+ "The CIDR Route Table.
+
+ This group has been deprecated and replaced with
+ inetForwardCidrRouteGroup."
+ ::= { ipForwardGroups 3 }
+
+-- Obsoleted Definitions - Objects
+
+ipForwardNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The number of current ipForwardTable entries that are
+ not invalid."
+ ::= { ipForward 1 }
+
+-- IP Forwarding Table
+
+-- The IP Forwarding Table obsoletes and replaces the ipRoute
+-- Table current in MIB-I and MIB-II. It adds knowledge of
+-- the autonomous system of the next hop, multiple next hop
+-- support, and policy routing support.
+
+ipForwardTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpForwardEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "This entity's IP Routing table."
+ REFERENCE
+ "RFC 1213 Section 6.6, The IP Group"
+ ::= { ipForward 2 }
+
+ipForwardEntry OBJECT-TYPE
+ SYNTAX IpForwardEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A particular route to a particular destination, under a
+ particular policy."
+ INDEX {
+ ipForwardDest,
+ ipForwardProto,
+ ipForwardPolicy,
+ ipForwardNextHop
+ }
+ ::= { ipForwardTable 1 }
+
+IpForwardEntry ::= SEQUENCE {
+ ipForwardDest IpAddress,
+ ipForwardMask IpAddress,
+ ipForwardPolicy Integer32,
+ ipForwardNextHop IpAddress,
+ ipForwardIfIndex Integer32,
+ ipForwardType INTEGER,
+ ipForwardProto INTEGER,
+ ipForwardAge Integer32,
+ ipForwardInfo OBJECT IDENTIFIER,
+ ipForwardNextHopAS Integer32,
+ ipForwardMetric1 Integer32,
+ ipForwardMetric2 Integer32,
+ ipForwardMetric3 Integer32,
+ ipForwardMetric4 Integer32,
+ ipForwardMetric5 Integer32
+ }
+
+ipForwardDest OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The destination IP address of this route. An entry
+ with a value of 0.0.0.0 is considered a default route.
+
+ This object may not take a Multicast (Class D) address
+ value.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipForwardMask object is
+ not equal to x."
+ ::= { ipForwardEntry 1 }
+
+ipForwardMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "Indicate the mask to be logical-ANDed with the
+ destination address before being compared to the value
+ in the ipForwardDest field. For those systems that do
+ not support arbitrary subnet masks, an agent constructs
+ the value of the ipForwardMask by reference to the IP
+ Address Class.
+
+ Any assignment (implicit or otherwise) of an instance
+ of this object to a value x must be rejected if the
+ bitwise logical-AND of x with the value of the
+ corresponding instance of the ipForwardDest object is
+ not equal to ipForwardDest."
+ DEFVAL { '00000000'H } -- 0.0.0.0
+ ::= { ipForwardEntry 2 }
+
+-- The following convention is included for specification
+-- of TOS Field contents. At this time, the Host Requirements
+-- and the Router Requirements documents disagree on the width
+-- of the TOS field. This mapping describes the Router
+
+-- Requirements mapping, and leaves room to widen the TOS field
+-- without impact to fielded systems.
+
+ipForwardPolicy OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The general set of conditions that would cause
+ the selection of one multipath route (set of
+ next hops for a given destination) is referred
+ to as 'policy'.
+
+ Unless the mechanism indicated by ipForwardProto
+ specifies otherwise, the policy specifier is
+ the IP TOS Field. The encoding of IP TOS is as
+ specified by the following convention. Zero
+ indicates the default path if no more specific
+ policy applies.
+
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | | | |
+ | PRECEDENCE | TYPE OF SERVICE | 0 |
+ | | | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ IP TOS IP TOS
+ Field Policy Field Policy
+ Contents Code Contents Code
+ 0 0 0 0 ==> 0 0 0 0 1 ==> 2
+ 0 0 1 0 ==> 4 0 0 1 1 ==> 6
+ 0 1 0 0 ==> 8 0 1 0 1 ==> 10
+ 0 1 1 0 ==> 12 0 1 1 1 ==> 14
+ 1 0 0 0 ==> 16 1 0 0 1 ==> 18
+ 1 0 1 0 ==> 20 1 0 1 1 ==> 22
+ 1 1 0 0 ==> 24 1 1 0 1 ==> 26
+ 1 1 1 0 ==> 28 1 1 1 1 ==> 30
+
+ Protocols defining 'policy' otherwise must either
+ define a set of values that are valid for
+ this object or must implement an integer-instanced
+ policy table for which this object's
+ value acts as an index."
+ ::= { ipForwardEntry 3 }
+
+ipForwardNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "On remote routes, the address of the next system en
+ route; otherwise, 0.0.0.0."
+ ::= { ipForwardEntry 4 }
+
+ipForwardIfIndex OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The ifIndex value that identifies the local interface
+ through which the next hop of this route should be
+ reached."
+ DEFVAL { 0 }
+ ::= { ipForwardEntry 5 }
+
+ipForwardType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified by this MIB
+ invalid (2), -- logically deleted
+ local (3), -- local interface
+ remote (4) -- remote destination
+ }
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The type of route. Note that local(3) refers to a
+ route for which the next hop is the final destination;
+ remote(4) refers to a route for which the next hop is
+ not the final destination.
+
+ Setting this object to the value invalid(2) has the
+ effect of invalidating the corresponding entry in the
+ ipForwardTable object. That is, it effectively
+ disassociates the destination identified with said
+ entry from the route identified with said entry. It is
+ an implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared to
+ receive tabular information from agents that
+ corresponds to entries not currently in use. Proper
+ interpretation of such entries requires examination of
+ the relevant ipForwardType object."
+ DEFVAL { invalid }
+ ::= { ipForwardEntry 6 }
+
+ipForwardProto OBJECT-TYPE
+ SYNTAX INTEGER {
+ other (1), -- not specified
+ local (2), -- local interface
+ netmgmt (3), -- static route
+ icmp (4), -- result of ICMP Redirect
+
+ -- the following are all dynamic
+ -- routing protocols
+ egp (5), -- Exterior Gateway Protocol
+ ggp (6), -- Gateway-Gateway Protocol
+ hello (7), -- FuzzBall HelloSpeak
+ rip (8), -- Berkeley RIP or RIP-II
+ is-is (9), -- Dual IS-IS
+ es-is (10), -- ISO 9542
+ ciscoIgrp (11), -- Cisco IGRP
+ bbnSpfIgp (12), -- BBN SPF IGP
+ ospf (13), -- Open Shortest Path First
+ bgp (14), -- Border Gateway Protocol
+ idpr (15) -- InterDomain Policy Routing
+ }
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The routing mechanism via which this route was learned.
+ Inclusion of values for gateway routing protocols is
+ not intended to imply that hosts should support those
+ protocols."
+ ::= { ipForwardEntry 7 }
+
+ipForwardAge OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The number of seconds since this route was last updated
+ or otherwise determined to be correct. Note that no
+ semantics of `too old' can be implied except through
+ knowledge of the routing protocol by which the route
+ was learned."
+ DEFVAL { 0 }
+ ::= { ipForwardEntry 8 }
+
+ipForwardInfo OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol that is responsible for
+ this route, as determined by the value specified in the
+ route's ipForwardProto value. If this information is
+ not present, its value should be set to the OBJECT
+ IDENTIFIER { 0 0 }, which is a syntactically valid
+ object identifier, and any implementation conforming to
+ ASN.1 and the Basic Encoding Rules must be able to
+ generate and recognize this value."
+ ::= { ipForwardEntry 9 }
+
+ipForwardNextHopAS OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The Autonomous System Number of the Next Hop. When
+ this is unknown or not relevant to the protocol
+ indicated by ipForwardProto, zero."
+ DEFVAL { 0 }
+ ::= { ipForwardEntry 10 }
+
+ipForwardMetric1 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 11 }
+
+ipForwardMetric2 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 12 }
+
+ipForwardMetric3 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 13 }
+
+ipForwardMetric4 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 14 }
+
+ipForwardMetric5 OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the routing-
+ protocol specified in the route's ipForwardProto value.
+ If this metric is not used, its value should be set to
+ -1."
+ DEFVAL { -1 }
+ ::= { ipForwardEntry 15 }
+
+-- Obsoleted Definitions - Groups
+-- compliance statements
+
+ipForwardOldCompliance MODULE-COMPLIANCE
+ STATUS obsolete
+ DESCRIPTION
+ "The compliance statement for SNMP entities that
+ implement the ipForward MIB."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { ipForwardMultiPathGroup }
+ ::= { ipForwardCompliances 2 }
+
+ipForwardMultiPathGroup OBJECT-GROUP
+ OBJECTS { ipForwardNumber,
+ ipForwardDest, ipForwardMask, ipForwardPolicy,
+ ipForwardNextHop, ipForwardIfIndex, ipForwardType,
+ ipForwardProto, ipForwardAge, ipForwardInfo,
+ ipForwardNextHopAS,
+ ipForwardMetric1, ipForwardMetric2, ipForwardMetric3,
+ ipForwardMetric4, ipForwardMetric5
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "IP Multipath Route Table."
+ ::= { ipForwardGroups 2 }
+
+END
diff --git a/mibs/IP-MIB.txt b/mibs/IP-MIB.txt
new file mode 100644
index 00000000..fe2db5f2
--- /dev/null
+++ b/mibs/IP-MIB.txt
@@ -0,0 +1,4993 @@
+IP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Counter32, IpAddress,
+ mib-2, Unsigned32, Counter64,
+ zeroDotZero FROM SNMPv2-SMI
+ PhysAddress, TruthValue,
+ TimeStamp, RowPointer,
+ TEXTUAL-CONVENTION, TestAndIncr,
+ RowStatus, StorageType FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InetAddress, InetAddressType,
+ InetAddressPrefixLength,
+ InetVersion, InetZoneIndex FROM INET-ADDRESS-MIB
+ InterfaceIndex FROM IF-MIB;
+
+ipMIB MODULE-IDENTITY
+ LAST-UPDATED "200602020000Z"
+ ORGANIZATION "IETF IPv6 MIB Revision Team"
+ CONTACT-INFO
+ "Editor:
+
+ Shawn A. Routhier
+ Interworking Labs
+ 108 Whispering Pines Dr. Suite 235
+ Scotts Valley, CA 95066
+ USA
+ EMail: <sar@iwl.com>"
+ DESCRIPTION
+ "The MIB module for managing IP and ICMP implementations, but
+ excluding their management of IP routes.
+
+ Copyright (C) The Internet Society (2006). This version of
+ this MIB module is part of RFC 4293; see the RFC itself for
+ full legal notices."
+
+ REVISION "200602020000Z"
+ DESCRIPTION
+ "The IP version neutral revision with added IPv6 objects for
+ ND, default routers, and router advertisements. As well as
+ being the successor to RFC 2011, this MIB is also the
+ successor to RFCs 2465 and 2466. Published as RFC 4293."
+
+ REVISION "199411010000Z"
+ DESCRIPTION
+ "A separate MIB module (IP-MIB) for IP and ICMP management
+ objects. Published as RFC 2011."
+
+ REVISION "199103310000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was part of MIB-II,
+ which was published as RFC 1213."
+ ::= { mib-2 48}
+
+--
+-- The textual conventions we define and use in this MIB.
+--
+
+IpAddressOriginTC ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The origin of the address.
+
+ manual(2) indicates that the address was manually configured
+ to a specified address, e.g., by user configuration.
+
+ dhcp(4) indicates an address that was assigned to this
+ system by a DHCP server.
+
+ linklayer(5) indicates an address created by IPv6 stateless
+
+ auto-configuration.
+
+ random(6) indicates an address chosen by the system at
+ random, e.g., an IPv4 address within 169.254/16, or an RFC
+ 3041 privacy address."
+ SYNTAX INTEGER {
+ other(1),
+ manual(2),
+ dhcp(4),
+ linklayer(5),
+ random(6)
+ }
+
+IpAddressStatusTC ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The status of an address. Most of the states correspond to
+ states from the IPv6 Stateless Address Autoconfiguration
+ protocol.
+
+ The preferred(1) state indicates that this is a valid
+ address that can appear as the destination or source address
+ of a packet.
+
+ The deprecated(2) state indicates that this is a valid but
+ deprecated address that should no longer be used as a source
+ address in new communications, but packets addressed to such
+ an address are processed as expected.
+
+ The invalid(3) state indicates that this isn't a valid
+ address and it shouldn't appear as the destination or source
+ address of a packet.
+
+ The inaccessible(4) state indicates that the address is not
+ accessible because the interface to which this address is
+ assigned is not operational.
+
+ The unknown(5) state indicates that the status cannot be
+ determined for some reason.
+
+ The tentative(6) state indicates that the uniqueness of the
+ address on the link is being verified. Addresses in this
+ state should not be used for general communication and
+ should only be used to determine the uniqueness of the
+ address.
+
+ The duplicate(7) state indicates the address has been
+ determined to be non-unique on the link and so must not be
+
+ used.
+
+ The optimistic(8) state indicates the address is available
+ for use, subject to restrictions, while its uniqueness on
+ a link is being verified.
+
+ In the absence of other information, an IPv4 address is
+ always preferred(1)."
+ REFERENCE "RFC 2462"
+ SYNTAX INTEGER {
+ preferred(1),
+ deprecated(2),
+ invalid(3),
+ inaccessible(4),
+ unknown(5),
+ tentative(6),
+ duplicate(7),
+ optimistic(8)
+ }
+
+IpAddressPrefixOriginTC ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The origin of this prefix.
+
+ manual(2) indicates a prefix that was manually configured.
+
+ wellknown(3) indicates a well-known prefix, e.g., 169.254/16
+ for IPv4 auto-configuration or fe80::/10 for IPv6 link-local
+ addresses. Well known prefixes may be assigned by IANA,
+ the address registries, or by specification in a standards
+ track RFC.
+
+ dhcp(4) indicates a prefix that was assigned by a DHCP
+ server.
+
+ routeradv(5) indicates a prefix learned from a router
+ advertisement.
+
+ Note: while IpAddressOriginTC and IpAddressPrefixOriginTC
+ are similar, they are not identical. The first defines how
+ an address was created, while the second defines how a
+ prefix was found."
+ SYNTAX INTEGER {
+ other(1),
+ manual(2),
+ wellknown(3),
+ dhcp(4),
+ routeradv(5)
+ }
+
+Ipv6AddressIfIdentifierTC ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 address
+ interface identifiers. This is a binary string
+ of up to 8 octets in network byte-order."
+ SYNTAX OCTET STRING (SIZE (0..8))
+
+--
+-- the IP general group
+-- some objects that affect all of IPv4
+--
+
+ip OBJECT IDENTIFIER ::= { mib-2 4 }
+
+ipForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+ notForwarding(2) -- NOT acting as a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting as an IPv4
+ router in respect to the forwarding of datagrams received
+ by, but not addressed to, this entity. IPv4 routers forward
+ datagrams. IPv4 hosts do not (except those source-routed
+ via the host).
+
+ When this object is written, the entity should save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system.
+ Note: a stronger requirement is not used because this object
+ was previously defined."
+ ::= { ip 1 }
+
+ipDefaultTTL OBJECT-TYPE
+ SYNTAX Integer32 (1..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The default value inserted into the Time-To-Live field of
+ the IPv4 header of datagrams originated at this entity,
+ whenever a TTL value is not supplied by the transport layer
+
+ protocol.
+
+ When this object is written, the entity should save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system.
+ Note: a stronger requirement is not used because this object
+ was previously defined."
+ ::= { ip 2 }
+
+ipReasmTimeout OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of seconds that received fragments are
+ held while they are awaiting reassembly at this entity."
+ ::= { ip 13 }
+
+--
+-- the IPv6 general group
+-- Some objects that affect all of IPv6
+--
+
+ipv6IpForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+ notForwarding(2) -- NOT acting as a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting as an IPv6
+ router on any interface in respect to the forwarding of
+ datagrams received by, but not addressed to, this entity.
+ IPv6 routers forward datagrams. IPv6 hosts do not (except
+ those source-routed via the host).
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ ::= { ip 25 }
+
+ipv6IpDefaultHopLimit OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The default value inserted into the Hop Limit field of the
+ IPv6 header of datagrams originated at this entity whenever
+ a Hop Limit value is not supplied by the transport layer
+ protocol.
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ REFERENCE "RFC 2461 Section 6.3.2"
+ ::= { ip 26 }
+
+--
+-- IPv4 Interface Table
+--
+
+ipv4InterfaceTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ a row in the ipv4InterfaceTable was added or deleted, or
+ when an ipv4InterfaceReasmMaxSize or an
+ ipv4InterfaceEnableStatus object was modified.
+
+ If new objects are added to the ipv4InterfaceTable that
+ require the ipv4InterfaceTableLastChange to be updated when
+ they are modified, they must specify that requirement in
+ their description clause."
+ ::= { ip 27 }
+
+ipv4InterfaceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv4InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing per-interface IPv4-specific
+ information."
+ ::= { ip 28 }
+
+ipv4InterfaceEntry OBJECT-TYPE
+ SYNTAX Ipv4InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing IPv4-specific information for a specific
+ interface."
+ INDEX { ipv4InterfaceIfIndex }
+ ::= { ipv4InterfaceTable 1 }
+
+Ipv4InterfaceEntry ::= SEQUENCE {
+ ipv4InterfaceIfIndex InterfaceIndex,
+ ipv4InterfaceReasmMaxSize Integer32,
+ ipv4InterfaceEnableStatus INTEGER,
+ ipv4InterfaceRetransmitTime Unsigned32
+ }
+
+ipv4InterfaceIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface to
+ which this entry is applicable. The interface identified by
+ a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipv4InterfaceEntry 1 }
+
+ipv4InterfaceReasmMaxSize OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv4 datagram that this entity can
+ re-assemble from incoming IPv4 fragmented datagrams received
+ on this interface."
+ ::= { ipv4InterfaceEntry 2 }
+
+ipv4InterfaceEnableStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether IPv4 is enabled (up) or disabled
+ (down) on this interface. This object does not affect the
+ state of the interface itself, only its connection to an
+ IPv4 stack. The IF-MIB should be used to control the state
+ of the interface."
+ ::= { ipv4InterfaceEntry 3 }
+
+ipv4InterfaceRetransmitTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time between retransmissions of ARP requests to a
+ neighbor when resolving the address or when probing the
+ reachability of a neighbor."
+ REFERENCE "RFC 1122"
+ DEFVAL { 1000 }
+ ::= { ipv4InterfaceEntry 4 }
+
+--
+-- v6 interface table
+--
+
+ipv6InterfaceTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ a row in the ipv6InterfaceTable was added or deleted or when
+ an ipv6InterfaceReasmMaxSize, ipv6InterfaceIdentifier,
+ ipv6InterfaceEnableStatus, ipv6InterfaceReachableTime,
+ ipv6InterfaceRetransmitTime, or ipv6InterfaceForwarding
+ object was modified.
+
+ If new objects are added to the ipv6InterfaceTable that
+ require the ipv6InterfaceTableLastChange to be updated when
+ they are modified, they must specify that requirement in
+ their description clause."
+ ::= { ip 29 }
+
+ipv6InterfaceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing per-interface IPv6-specific
+ information."
+ ::= { ip 30 }
+
+ipv6InterfaceEntry OBJECT-TYPE
+ SYNTAX Ipv6InterfaceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing IPv6-specific information for a given
+ interface."
+ INDEX { ipv6InterfaceIfIndex }
+ ::= { ipv6InterfaceTable 1 }
+
+Ipv6InterfaceEntry ::= SEQUENCE {
+ ipv6InterfaceIfIndex InterfaceIndex,
+ ipv6InterfaceReasmMaxSize Unsigned32,
+ ipv6InterfaceIdentifier Ipv6AddressIfIdentifierTC,
+ ipv6InterfaceEnableStatus INTEGER,
+ ipv6InterfaceReachableTime Unsigned32,
+ ipv6InterfaceRetransmitTime Unsigned32,
+ ipv6InterfaceForwarding INTEGER
+ }
+
+ipv6InterfaceIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface to
+ which this entry is applicable. The interface identified by
+ a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipv6InterfaceEntry 1 }
+
+ipv6InterfaceReasmMaxSize OBJECT-TYPE
+ SYNTAX Unsigned32 (1500..65535)
+ UNITS "octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv6 datagram that this entity can
+ re-assemble from incoming IPv6 fragmented datagrams received
+ on this interface."
+ ::= { ipv6InterfaceEntry 2 }
+
+ipv6InterfaceIdentifier OBJECT-TYPE
+ SYNTAX Ipv6AddressIfIdentifierTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Interface Identifier for this interface. The Interface
+ Identifier is combined with an address prefix to form an
+ interface address.
+
+ By default, the Interface Identifier is auto-configured
+ according to the rules of the link type to which this
+ interface is attached.
+
+ A zero length identifier may be used where appropriate. One
+ possible example is a loopback interface."
+ ::= { ipv6InterfaceEntry 3 }
+
+-- This object ID is reserved as it was used in earlier versions of
+-- the MIB module. In theory, OIDs are not assigned until the
+-- specification is released as an RFC; however, as some companies
+-- may have shipped code based on earlier versions of the MIB, it
+-- seems best to reserve this OID. This OID had been
+-- ipv6InterfacePhysicalAddress.
+-- ::= { ipv6InterfaceEntry 4}
+
+ipv6InterfaceEnableStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether IPv6 is enabled (up) or disabled
+ (down) on this interface. This object does not affect the
+ state of the interface itself, only its connection to an
+ IPv6 stack. The IF-MIB should be used to control the state
+ of the interface.
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ ::= { ipv6InterfaceEntry 5 }
+
+ipv6InterfaceReachableTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time a neighbor is considered reachable after receiving
+ a reachability confirmation."
+ REFERENCE "RFC 2461, Section 6.3.2"
+ ::= { ipv6InterfaceEntry 6 }
+
+ipv6InterfaceRetransmitTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time between retransmissions of Neighbor Solicitation
+ messages to a neighbor when resolving the address or when
+ probing the reachability of a neighbor."
+ REFERENCE "RFC 2461, Section 6.3.2"
+ ::= { ipv6InterfaceEntry 7 }
+
+ipv6InterfaceForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+ notForwarding(2) -- NOT acting as a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting as an IPv6
+ router on this interface with respect to the forwarding of
+ datagrams received by, but not addressed to, this entity.
+ IPv6 routers forward datagrams. IPv6 hosts do not (except
+ those source-routed via the host).
+
+ This object is constrained by ipv6IpForwarding and is
+ ignored if ipv6IpForwarding is set to notForwarding. Those
+ systems that do not provide per-interface control of the
+ forwarding function should set this object to forwarding for
+ all interfaces and allow the ipv6IpForwarding object to
+ control the forwarding capability.
+
+ When this object is written, the entity SHOULD save the
+ change to non-volatile storage and restore the object from
+ non-volatile storage upon re-initialization of the system."
+ ::= { ipv6InterfaceEntry 8 }
+
+--
+-- Per-Interface or System-Wide IP statistics.
+--
+-- The following two tables, ipSystemStatsTable and ipIfStatsTable,
+-- are intended to provide the same counters at different granularities.
+-- The ipSystemStatsTable provides system wide counters aggregating
+-- the traffic counters for all interfaces for a given address type.
+-- The ipIfStatsTable provides the same counters but for specific
+-- interfaces rather than as an aggregate.
+--
+-- Note well: If a system provides both system-wide and interface-
+-- specific values, the system-wide value may not be equal to the sum
+-- of the interface-specific values across all interfaces due to e.g.,
+-- dynamic interface creation/deletion.
+--
+-- Note well: Both of these tables contain some items that are
+
+-- represented by two objects, representing the value in either 32
+-- or 64 bits. For those objects, the 32-bit value MUST be the low
+-- order 32 bits of the 64-bit value. Also note that the 32-bit
+-- counters must be included when the 64-bit counters are included.
+
+ipTrafficStats OBJECT IDENTIFIER ::= { ip 31 }
+
+ipSystemStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpSystemStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing system wide, IP version specific
+ traffic statistics. This table and the ipIfStatsTable
+ contain similar objects whose difference is in their
+ granularity. Where this table contains system wide traffic
+ statistics, the ipIfStatsTable contains the same statistics
+ but counted on a per-interface basis."
+ ::= { ipTrafficStats 1 }
+
+ipSystemStatsEntry OBJECT-TYPE
+ SYNTAX IpSystemStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A statistics entry containing system-wide objects for a
+ particular IP version."
+ INDEX { ipSystemStatsIPVersion }
+ ::= { ipSystemStatsTable 1 }
+
+IpSystemStatsEntry ::= SEQUENCE {
+ ipSystemStatsIPVersion InetVersion,
+ ipSystemStatsInReceives Counter32,
+ ipSystemStatsHCInReceives Counter64,
+ ipSystemStatsInOctets Counter32,
+ ipSystemStatsHCInOctets Counter64,
+ ipSystemStatsInHdrErrors Counter32,
+ ipSystemStatsInNoRoutes Counter32,
+ ipSystemStatsInAddrErrors Counter32,
+ ipSystemStatsInUnknownProtos Counter32,
+ ipSystemStatsInTruncatedPkts Counter32,
+ ipSystemStatsInForwDatagrams Counter32,
+ ipSystemStatsHCInForwDatagrams Counter64,
+ ipSystemStatsReasmReqds Counter32,
+ ipSystemStatsReasmOKs Counter32,
+ ipSystemStatsReasmFails Counter32,
+ ipSystemStatsInDiscards Counter32,
+ ipSystemStatsInDelivers Counter32,
+ ipSystemStatsHCInDelivers Counter64,
+ ipSystemStatsOutRequests Counter32,
+ ipSystemStatsHCOutRequests Counter64,
+ ipSystemStatsOutNoRoutes Counter32,
+ ipSystemStatsOutForwDatagrams Counter32,
+ ipSystemStatsHCOutForwDatagrams Counter64,
+ ipSystemStatsOutDiscards Counter32,
+ ipSystemStatsOutFragReqds Counter32,
+ ipSystemStatsOutFragOKs Counter32,
+ ipSystemStatsOutFragFails Counter32,
+ ipSystemStatsOutFragCreates Counter32,
+ ipSystemStatsOutTransmits Counter32,
+ ipSystemStatsHCOutTransmits Counter64,
+ ipSystemStatsOutOctets Counter32,
+ ipSystemStatsHCOutOctets Counter64,
+ ipSystemStatsInMcastPkts Counter32,
+ ipSystemStatsHCInMcastPkts Counter64,
+ ipSystemStatsInMcastOctets Counter32,
+ ipSystemStatsHCInMcastOctets Counter64,
+ ipSystemStatsOutMcastPkts Counter32,
+ ipSystemStatsHCOutMcastPkts Counter64,
+ ipSystemStatsOutMcastOctets Counter32,
+ ipSystemStatsHCOutMcastOctets Counter64,
+ ipSystemStatsInBcastPkts Counter32,
+ ipSystemStatsHCInBcastPkts Counter64,
+ ipSystemStatsOutBcastPkts Counter32,
+ ipSystemStatsHCOutBcastPkts Counter64,
+ ipSystemStatsDiscontinuityTime TimeStamp,
+ ipSystemStatsRefreshRate Unsigned32
+ }
+
+ipSystemStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of this row."
+ ::= { ipSystemStatsEntry 1 }
+
+-- This object ID is reserved to allow the IDs for this table's objects
+-- to align with the objects in the ipIfStatsTable.
+-- ::= { ipSystemStatsEntry 2 }
+
+ipSystemStatsInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 3 }
+
+ipSystemStatsHCInReceives OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error. This object counts the same
+ datagrams as ipSystemStatsInReceives, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 4 }
+
+ipSystemStatsInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. Octets from datagrams
+ counted in ipSystemStatsInReceives MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 5 }
+
+ipSystemStatsHCInOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. This object counts the
+ same octets as ipSystemStatsInOctets, but allows for larger
+
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 6 }
+
+ipSystemStatsInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded due to errors in
+ their IP headers, including version number mismatch, other
+ format errors, hop count exceeded, errors discovered in
+ processing their IP options, etc.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 7 }
+
+ipSystemStatsInNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because no route
+ could be found to transmit them to their destination.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 8 }
+
+ipSystemStatsInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because the IP
+ address in their IP header's destination field was not a
+ valid address to be received at this entity. This count
+ includes invalid addresses (e.g., ::0). For entities
+ that are not IP routers and therefore do not forward
+
+ datagrams, this counter includes datagrams discarded
+ because the destination address was not a local address.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 9 }
+
+ipSystemStatsInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally-addressed IP datagrams received
+ successfully but discarded because of an unknown or
+ unsupported protocol.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 10 }
+
+ipSystemStatsInTruncatedPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because the
+ datagram frame didn't carry enough data.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 11 }
+
+ipSystemStatsInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. In entities that do not act as IP routers,
+ this counter will include only those datagrams that were
+ Source-Routed via this entity, and the Source-Route
+ processing was successful.
+
+ When tracking interface statistics, the counter of the
+ incoming interface is incremented for each datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 12 }
+
+ipSystemStatsHCInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. This object counts the same packets as
+ ipSystemStatsInForwDatagrams, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 13 }
+
+ipSystemStatsReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP fragments received that needed to be
+ reassembled at this interface.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 14 }
+
+ipSystemStatsReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams successfully reassembled.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 15 }
+
+ipSystemStatsReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of failures detected by the IP re-assembly
+ algorithm (for whatever reason: timed out, errors, etc.).
+ Note that this is not necessarily a count of discarded IP
+ fragments since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments by
+ combining them as they are received.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 16 }
+
+ipSystemStatsInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams for which no problems were
+ encountered to prevent their continued processing, but
+ were discarded (e.g., for lack of buffer space). Note that
+ this counter does not include any datagrams discarded while
+ awaiting re-assembly.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 17 }
+
+ipSystemStatsInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP).
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 18 }
+
+ipSystemStatsHCInDelivers OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP). This object counts the
+ same packets as ipSystemStatsInDelivers, but allows for
+ larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 19 }
+
+ipSystemStatsOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. Note that this counter does not include any
+ datagrams counted in ipSystemStatsOutForwDatagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 20 }
+
+ipSystemStatsHCOutRequests OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. This object counts the same packets as
+ ipSystemStatsOutRequests, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 21 }
+
+ipSystemStatsOutNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally generated IP datagrams discarded
+ because no route could be found to transmit them to their
+ destination.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 22 }
+
+ipSystemStatsOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. In entities
+ that do not act as IP routers, this counter will include
+ only those datagrams that were Source-Routed via this
+ entity, and the Source-Route processing was successful.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ forwarded datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 23 }
+
+ipSystemStatsHCOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. This object
+ counts the same packets as ipSystemStatsOutForwDatagrams,
+ but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 24 }
+
+ipSystemStatsOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output IP datagrams for which no problem was
+ encountered to prevent their transmission to their
+ destination, but were discarded (e.g., for lack of
+ buffer space). Note that this counter would include
+
+ datagrams counted in ipSystemStatsOutForwDatagrams if any
+ such datagrams met this (discretionary) discard criterion.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 25 }
+
+ipSystemStatsOutFragReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that would require fragmentation
+ in order to be transmitted.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 26 }
+
+ipSystemStatsOutFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been successfully
+ fragmented.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 27 }
+
+ipSystemStatsOutFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been discarded because
+ they needed to be fragmented but could not be. This
+ includes IPv4 packets that have the DF bit set and IPv6
+ packets that are being forwarded and exceed the outgoing
+ link MTU.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for an unsuccessfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 28 }
+
+ipSystemStatsOutFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagram fragments that have been
+ generated as a result of IP fragmentation.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 29 }
+
+ipSystemStatsOutTransmits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This includes
+ datagrams generated locally and those forwarded by this
+ entity.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 30 }
+
+ipSystemStatsHCOutTransmits OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This object counts
+ the same datagrams as ipSystemStatsOutTransmits, but allows
+ for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 31 }
+
+ipSystemStatsOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. Octets from datagrams
+ counted in ipSystemStatsOutTransmits MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 32 }
+
+ipSystemStatsHCOutOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. This objects counts the same
+ octets as ipSystemStatsOutOctets, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 33 }
+
+ipSystemStatsInMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 34 }
+
+ipSystemStatsHCInMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received. This object
+ counts the same datagrams as ipSystemStatsInMcastPkts but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 35 }
+
+ipSystemStatsInMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+ datagrams. Octets from datagrams counted in
+ ipSystemStatsInMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 36 }
+
+ipSystemStatsHCInMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+ datagrams. This object counts the same octets as
+ ipSystemStatsInMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 37 }
+
+ipSystemStatsOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 38 }
+
+ipSystemStatsHCOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted. This
+ object counts the same datagrams as
+ ipSystemStatsOutMcastPkts, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 39 }
+
+ipSystemStatsOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. Octets from datagrams counted in
+
+ ipSystemStatsOutMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 40 }
+
+ipSystemStatsHCOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. This object counts the same octets as
+ ipSystemStatsOutMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 41 }
+
+ipSystemStatsInBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 42 }
+
+ipSystemStatsHCInBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received. This object
+ counts the same datagrams as ipSystemStatsInBcastPkts but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 43 }
+
+ipSystemStatsOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 44 }
+
+ipSystemStatsHCOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted. This
+ object counts the same datagrams as
+ ipSystemStatsOutBcastPkts, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipSystemStatsDiscontinuityTime."
+ ::= { ipSystemStatsEntry 45 }
+
+ipSystemStatsDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this entry's counters suffered a
+ discontinuity.
+
+ If no such discontinuities have occurred since the last re-
+ initialization of the local management subsystem, then this
+ object contains a zero value."
+ ::= { ipSystemStatsEntry 46 }
+
+ipSystemStatsRefreshRate OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milli-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum reasonable polling interval for this entry.
+ This object provides an indication of the minimum amount of
+ time required to update the counters in this entry."
+ ::= { ipSystemStatsEntry 47 }
+
+ipIfStatsTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ a row in the ipIfStatsTable was added or deleted.
+
+ If new objects are added to the ipIfStatsTable that require
+ the ipIfStatsTableLastChange to be updated when they are
+ modified, they must specify that requirement in their
+ description clause."
+ ::= { ipTrafficStats 2 }
+
+ipIfStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpIfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing per-interface traffic statistics. This
+ table and the ipSystemStatsTable contain similar objects
+ whose difference is in their granularity. Where this table
+ contains per-interface statistics, the ipSystemStatsTable
+ contains the same statistics, but counted on a system wide
+ basis."
+ ::= { ipTrafficStats 3 }
+
+ipIfStatsEntry OBJECT-TYPE
+ SYNTAX IpIfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface statistics entry containing objects for a
+ particular interface and version of IP."
+ INDEX { ipIfStatsIPVersion, ipIfStatsIfIndex }
+ ::= { ipIfStatsTable 1 }
+
+IpIfStatsEntry ::= SEQUENCE {
+ ipIfStatsIPVersion InetVersion,
+ ipIfStatsIfIndex InterfaceIndex,
+ ipIfStatsInReceives Counter32,
+ ipIfStatsHCInReceives Counter64,
+ ipIfStatsInOctets Counter32,
+ ipIfStatsHCInOctets Counter64,
+ ipIfStatsInHdrErrors Counter32,
+ ipIfStatsInNoRoutes Counter32,
+ ipIfStatsInAddrErrors Counter32,
+ ipIfStatsInUnknownProtos Counter32,
+ ipIfStatsInTruncatedPkts Counter32,
+ ipIfStatsInForwDatagrams Counter32,
+ ipIfStatsHCInForwDatagrams Counter64,
+ ipIfStatsReasmReqds Counter32,
+ ipIfStatsReasmOKs Counter32,
+ ipIfStatsReasmFails Counter32,
+ ipIfStatsInDiscards Counter32,
+ ipIfStatsInDelivers Counter32,
+ ipIfStatsHCInDelivers Counter64,
+ ipIfStatsOutRequests Counter32,
+ ipIfStatsHCOutRequests Counter64,
+ ipIfStatsOutForwDatagrams Counter32,
+ ipIfStatsHCOutForwDatagrams Counter64,
+ ipIfStatsOutDiscards Counter32,
+ ipIfStatsOutFragReqds Counter32,
+ ipIfStatsOutFragOKs Counter32,
+ ipIfStatsOutFragFails Counter32,
+ ipIfStatsOutFragCreates Counter32,
+ ipIfStatsOutTransmits Counter32,
+ ipIfStatsHCOutTransmits Counter64,
+ ipIfStatsOutOctets Counter32,
+ ipIfStatsHCOutOctets Counter64,
+ ipIfStatsInMcastPkts Counter32,
+ ipIfStatsHCInMcastPkts Counter64,
+ ipIfStatsInMcastOctets Counter32,
+ ipIfStatsHCInMcastOctets Counter64,
+ ipIfStatsOutMcastPkts Counter32,
+ ipIfStatsHCOutMcastPkts Counter64,
+ ipIfStatsOutMcastOctets Counter32,
+ ipIfStatsHCOutMcastOctets Counter64,
+ ipIfStatsInBcastPkts Counter32,
+ ipIfStatsHCInBcastPkts Counter64,
+ ipIfStatsOutBcastPkts Counter32,
+ ipIfStatsHCOutBcastPkts Counter64,
+ ipIfStatsDiscontinuityTime TimeStamp,
+ ipIfStatsRefreshRate Unsigned32
+ }
+
+ipIfStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of this row."
+ ::= { ipIfStatsEntry 1 }
+
+ipIfStatsIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface to
+ which this entry is applicable. The interface identified by
+ a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipIfStatsEntry 2 }
+
+ipIfStatsInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 3 }
+
+ipIfStatsHCInReceives OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input IP datagrams received, including
+ those received in error. This object counts the same
+ datagrams as ipIfStatsInReceives, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 4 }
+
+ipIfStatsInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. Octets from datagrams
+ counted in ipIfStatsInReceives MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 5 }
+
+ipIfStatsHCInOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in input IP datagrams,
+ including those received in error. This object counts the
+ same octets as ipIfStatsInOctets, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 6 }
+
+ipIfStatsInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded due to errors in
+ their IP headers, including version number mismatch, other
+ format errors, hop count exceeded, errors discovered in
+ processing their IP options, etc.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 7 }
+
+ipIfStatsInNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because no route
+ could be found to transmit them to their destination.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 8 }
+
+ipIfStatsInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because the IP
+ address in their IP header's destination field was not a
+ valid address to be received at this entity. This count
+ includes invalid addresses (e.g., ::0). For entities that
+ are not IP routers and therefore do not forward datagrams,
+ this counter includes datagrams discarded because the
+ destination address was not a local address.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 9 }
+
+ipIfStatsInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally-addressed IP datagrams received
+ successfully but discarded because of an unknown or
+ unsupported protocol.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 10 }
+
+ipIfStatsInTruncatedPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams discarded because the
+ datagram frame didn't carry enough data.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 11 }
+
+ipIfStatsInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. In entities that do not act as IP routers,
+ this counter will include only those datagrams that were
+ Source-Routed via this entity, and the Source-Route
+ processing was successful.
+
+ When tracking interface statistics, the counter of the
+ incoming interface is incremented for each datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 12 }
+
+ipIfStatsHCInForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IP destination and for which this entity
+ attempted to find a route to forward them to that final
+ destination. This object counts the same packets as
+
+ ipIfStatsInForwDatagrams, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 13 }
+
+ipIfStatsReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP fragments received that needed to be
+ reassembled at this interface.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 14 }
+
+ipIfStatsReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams successfully reassembled.
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 15 }
+
+ipIfStatsReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of failures detected by the IP re-assembly
+ algorithm (for whatever reason: timed out, errors, etc.).
+ Note that this is not necessarily a count of discarded IP
+ fragments since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments by
+ combining them as they are received.
+
+ When tracking interface statistics, the counter of the
+ interface to which these fragments were addressed is
+ incremented. This interface might not be the same as the
+ input interface for some of the fragments.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 16 }
+
+ipIfStatsInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IP datagrams for which no problems were
+ encountered to prevent their continued processing, but
+ were discarded (e.g., for lack of buffer space). Note that
+ this counter does not include any datagrams discarded while
+ awaiting re-assembly.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 17 }
+
+ipIfStatsInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP).
+
+ When tracking interface statistics, the counter of the
+ interface to which these datagrams were addressed is
+ incremented. This interface might not be the same as the
+
+ input interface for some of the datagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 18 }
+
+ipIfStatsHCInDelivers OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully delivered to IP
+ user-protocols (including ICMP). This object counts the
+ same packets as ipIfStatsInDelivers, but allows for larger
+ values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 19 }
+
+ipIfStatsOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. Note that this counter does not include any
+ datagrams counted in ipIfStatsOutForwDatagrams.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 20 }
+
+ipIfStatsHCOutRequests OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that local IP user-
+ protocols (including ICMP) supplied to IP in requests for
+ transmission. This object counts the same packets as
+
+ ipIfStatsOutRequests, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 21 }
+
+-- This object ID is reserved to allow the IDs for this table's objects
+-- to align with the objects in the ipSystemStatsTable.
+-- ::= {ipIfStatsEntry 22}
+
+ipIfStatsOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. In entities
+ that do not act as IP routers, this counter will include
+ only those datagrams that were Source-Routed via this
+ entity, and the Source-Route processing was successful.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ forwarded datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 23 }
+
+ipIfStatsHCOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of datagrams for which this entity was not their
+ final IP destination and for which it was successful in
+ finding a path to their final destination. This object
+ counts the same packets as ipIfStatsOutForwDatagrams, but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 24 }
+
+ipIfStatsOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output IP datagrams for which no problem was
+ encountered to prevent their transmission to their
+ destination, but were discarded (e.g., for lack of
+ buffer space). Note that this counter would include
+ datagrams counted in ipIfStatsOutForwDatagrams if any such
+ datagrams met this (discretionary) discard criterion.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 25 }
+
+ipIfStatsOutFragReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that would require fragmentation
+ in order to be transmitted.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 26 }
+
+ipIfStatsOutFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been successfully
+ fragmented.
+
+ When tracking interface statistics, the counter of the
+
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 27 }
+
+ipIfStatsOutFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP datagrams that have been discarded because
+ they needed to be fragmented but could not be. This
+ includes IPv4 packets that have the DF bit set and IPv6
+ packets that are being forwarded and exceed the outgoing
+ link MTU.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for an unsuccessfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 28 }
+
+ipIfStatsOutFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagram fragments that have been
+ generated as a result of IP fragmentation.
+
+ When tracking interface statistics, the counter of the
+ outgoing interface is incremented for a successfully
+ fragmented datagram.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 29 }
+
+ipIfStatsOutTransmits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This includes
+ datagrams generated locally and those forwarded by this
+ entity.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 30 }
+
+ipIfStatsHCOutTransmits OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IP datagrams that this entity supplied
+ to the lower layers for transmission. This object counts
+ the same datagrams as ipIfStatsOutTransmits, but allows for
+ larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 31 }
+
+ipIfStatsOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. Octets from datagrams
+ counted in ipIfStatsOutTransmits MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 32 }
+
+ipIfStatsHCOutOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets in IP datagrams delivered to the
+ lower layers for transmission. This objects counts the same
+ octets as ipIfStatsOutOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 33 }
+
+ipIfStatsInMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 34 }
+
+ipIfStatsHCInMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams received. This object
+ counts the same datagrams as ipIfStatsInMcastPkts, but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 35 }
+
+ipIfStatsInMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+
+ datagrams. Octets from datagrams counted in
+ ipIfStatsInMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 36 }
+
+ipIfStatsHCInMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets received in IP multicast
+ datagrams. This object counts the same octets as
+ ipIfStatsInMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 37 }
+
+ipIfStatsOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 38 }
+
+ipIfStatsHCOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP multicast datagrams transmitted. This
+ object counts the same datagrams as ipIfStatsOutMcastPkts,
+ but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 39 }
+
+ipIfStatsOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. Octets from datagrams counted in
+ ipIfStatsOutMcastPkts MUST be counted here.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 40 }
+
+ipIfStatsHCOutMcastOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets transmitted in IP multicast
+ datagrams. This object counts the same octets as
+ ipIfStatsOutMcastOctets, but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 41 }
+
+ipIfStatsInBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 42 }
+
+ipIfStatsHCInBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams received. This object
+ counts the same datagrams as ipIfStatsInBcastPkts, but
+ allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 43 }
+
+ipIfStatsOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 44 }
+
+ipIfStatsHCOutBcastPkts OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IP broadcast datagrams transmitted. This
+ object counts the same datagrams as ipIfStatsOutBcastPkts,
+ but allows for larger values.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the management system, and at other
+ times as indicated by the value of
+ ipIfStatsDiscontinuityTime."
+ ::= { ipIfStatsEntry 45 }
+
+ipIfStatsDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+
+ any one or more of this entry's counters suffered a
+ discontinuity.
+
+ If no such discontinuities have occurred since the last re-
+ initialization of the local management subsystem, then this
+ object contains a zero value."
+ ::= { ipIfStatsEntry 46 }
+
+ipIfStatsRefreshRate OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milli-seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum reasonable polling interval for this entry.
+ This object provides an indication of the minimum amount of
+ time required to update the counters in this entry."
+ ::= { ipIfStatsEntry 47 }
+
+--
+-- Internet Address Prefix table
+--
+
+ipAddressPrefixTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddressPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table allows the user to determine the source of an IP
+ address or set of IP addresses, and allows other tables to
+ share the information via pointer rather than by copying.
+
+ For example, when the node configures both a unicast and
+ anycast address for a prefix, the ipAddressPrefix objects
+ for those addresses will point to a single row in this
+ table.
+
+ This table primarily provides support for IPv6 prefixes, and
+ several of the objects are less meaningful for IPv4. The
+ table continues to allow IPv4 addresses to allow future
+ flexibility. In order to promote a common configuration,
+ this document includes suggestions for default values for
+ IPv4 prefixes. Each of these values may be overridden if an
+ object is meaningful to the node.
+
+ All prefixes used by this entity should be included in this
+ table independent of how the entity learned the prefix.
+ (This table isn't limited to prefixes learned from router
+
+ advertisements.)"
+ ::= { ip 32 }
+
+ipAddressPrefixEntry OBJECT-TYPE
+ SYNTAX IpAddressPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in the ipAddressPrefixTable."
+ INDEX { ipAddressPrefixIfIndex, ipAddressPrefixType,
+ ipAddressPrefixPrefix, ipAddressPrefixLength }
+ ::= { ipAddressPrefixTable 1 }
+
+IpAddressPrefixEntry ::= SEQUENCE {
+ ipAddressPrefixIfIndex InterfaceIndex,
+ ipAddressPrefixType InetAddressType,
+ ipAddressPrefixPrefix InetAddress,
+ ipAddressPrefixLength InetAddressPrefixLength,
+ ipAddressPrefixOrigin IpAddressPrefixOriginTC,
+ ipAddressPrefixOnLinkFlag TruthValue,
+ ipAddressPrefixAutonomousFlag TruthValue,
+ ipAddressPrefixAdvPreferredLifetime Unsigned32,
+ ipAddressPrefixAdvValidLifetime Unsigned32
+ }
+
+ipAddressPrefixIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface on
+ which this prefix is configured. The interface identified
+ by a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipAddressPrefixEntry 1 }
+
+ipAddressPrefixType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of ipAddressPrefix."
+ ::= { ipAddressPrefixEntry 2 }
+
+ipAddressPrefixPrefix OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address prefix. The address type of this object is
+ specified in ipAddressPrefixType. The length of this object
+ is the standard length for objects of that type (4 or 16
+ bytes). Any bits after ipAddressPrefixLength must be zero.
+
+ Implementors need to be aware that, if the size of
+ ipAddressPrefixPrefix exceeds 114 octets, then OIDS of
+ instances of columns in this row will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ ::= { ipAddressPrefixEntry 3 }
+
+ipAddressPrefixLength OBJECT-TYPE
+ SYNTAX InetAddressPrefixLength
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The prefix length associated with this prefix.
+
+ The value 0 has no special meaning for this object. It
+ simply refers to address '::/0'."
+ ::= { ipAddressPrefixEntry 4 }
+
+ipAddressPrefixOrigin OBJECT-TYPE
+ SYNTAX IpAddressPrefixOriginTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The origin of this prefix."
+ ::= { ipAddressPrefixEntry 5 }
+
+ipAddressPrefixOnLinkFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)', if this prefix can be
+ used for on-link determination; otherwise, the value is
+ 'false(2)'.
+
+ The default for IPv4 prefixes is 'true(1)'."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 6 }
+
+ipAddressPrefixAutonomousFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Autonomous address configuration flag. When true(1),
+ indicates that this prefix can be used for autonomous
+ address configuration (i.e., can be used to form a local
+ interface address). If false(2), it is not used to auto-
+ configure a local interface address.
+
+ The default for IPv4 prefixes is 'false(2)'."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 7 }
+
+ipAddressPrefixAdvPreferredLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remaining length of time, in seconds, that this prefix
+ will continue to be preferred, i.e., time until deprecation.
+
+ A value of 4,294,967,295 represents infinity.
+
+ The address generated from a deprecated prefix should no
+ longer be used as a source address in new communications,
+ but packets received on such an interface are processed as
+ expected.
+
+ The default for IPv4 prefixes is 4,294,967,295 (infinity)."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 8 }
+
+ipAddressPrefixAdvValidLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remaining length of time, in seconds, that this prefix
+ will continue to be valid, i.e., time until invalidation. A
+ value of 4,294,967,295 represents infinity.
+
+ The address generated from an invalidated prefix should not
+ appear as the destination or source address of a packet.
+
+ The default for IPv4 prefixes is 4,294,967,295 (infinity)."
+ REFERENCE "For IPv6 RFC 2461, especially sections 2 and 4.6.2 and
+ RFC 2462"
+ ::= { ipAddressPrefixEntry 9 }
+
+--
+-- Internet Address Table
+--
+
+ipAddressSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow cooperating SNMP managers to
+ coordinate their use of the set operation in creating or
+ modifying rows within this table.
+
+ In order to use this lock to coordinate the use of set
+ operations, managers should first retrieve
+ ipAddressTableSpinLock. They should then determine the
+ appropriate row to create or modify. Finally, they should
+ issue the appropriate set command, including the retrieved
+ value of ipAddressSpinLock. If another manager has altered
+ the table in the meantime, then the value of
+ ipAddressSpinLock will have changed, and the creation will
+ fail as it will be specifying an incorrect value for
+ ipAddressSpinLock. It is suggested, but not required, that
+ the ipAddressSpinLock be the first var bind for each set of
+ objects representing a 'row' in a PDU."
+ ::= { ip 33 }
+
+ipAddressTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains addressing information relevant to the
+ entity's interfaces.
+
+ This table does not contain multicast address information.
+ Tables for such information should be contained in multicast
+ specific MIBs, such as RFC 3019.
+
+ While this table is writable, the user will note that
+ several objects, such as ipAddressOrigin, are not. The
+ intention in allowing a user to write to this table is to
+ allow them to add or remove any entry that isn't
+
+ permanent. The user should be allowed to modify objects
+ and entries when that would not cause inconsistencies
+ within the table. Allowing write access to objects, such
+ as ipAddressOrigin, could allow a user to insert an entry
+ and then label it incorrectly.
+
+ Note well: When including IPv6 link-local addresses in this
+ table, the entry must use an InetAddressType of 'ipv6z' in
+ order to differentiate between the possible interfaces."
+ ::= { ip 34 }
+
+ipAddressEntry OBJECT-TYPE
+ SYNTAX IpAddressEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An address mapping for a particular interface."
+ INDEX { ipAddressAddrType, ipAddressAddr }
+ ::= { ipAddressTable 1 }
+
+IpAddressEntry ::= SEQUENCE {
+ ipAddressAddrType InetAddressType,
+ ipAddressAddr InetAddress,
+ ipAddressIfIndex InterfaceIndex,
+ ipAddressType INTEGER,
+ ipAddressPrefix RowPointer,
+ ipAddressOrigin IpAddressOriginTC,
+ ipAddressStatus IpAddressStatusTC,
+ ipAddressCreated TimeStamp,
+ ipAddressLastChanged TimeStamp,
+ ipAddressRowStatus RowStatus,
+ ipAddressStorageType StorageType
+ }
+
+ipAddressAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of ipAddressAddr."
+ ::= { ipAddressEntry 1 }
+
+ipAddressAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP address to which this entry's addressing information
+
+ pertains. The address type of this object is specified in
+ ipAddressAddrType.
+
+ Implementors need to be aware that if the size of
+ ipAddressAddr exceeds 116 octets, then OIDS of instances of
+ columns in this row will have more than 128 sub-identifiers
+ and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { ipAddressEntry 2 }
+
+ipAddressIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface to
+ which this entry is applicable. The interface identified by
+ a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipAddressEntry 3 }
+
+ipAddressType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unicast(1),
+ anycast(2),
+ broadcast(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of address. broadcast(3) is not a valid value for
+ IPv6 addresses (RFC 3513)."
+ DEFVAL { unicast }
+ ::= { ipAddressEntry 4 }
+
+ipAddressPrefix OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A pointer to the row in the prefix table to which this
+ address belongs. May be { 0 0 } if there is no such row."
+ DEFVAL { zeroDotZero }
+ ::= { ipAddressEntry 5 }
+
+ipAddressOrigin OBJECT-TYPE
+ SYNTAX IpAddressOriginTC
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The origin of the address."
+ ::= { ipAddressEntry 6 }
+
+ipAddressStatus OBJECT-TYPE
+ SYNTAX IpAddressStatusTC
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of the address, describing if the address can be
+ used for communication.
+
+ In the absence of other information, an IPv4 address is
+ always preferred(1)."
+ DEFVAL { preferred }
+ ::= { ipAddressEntry 7 }
+
+ipAddressCreated OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry was created.
+ If this entry was created prior to the last re-
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= { ipAddressEntry 8 }
+
+ipAddressLastChanged OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry was last
+ updated. If this entry was updated prior to the last re-
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= { ipAddressEntry 9 }
+
+ipAddressRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ The RowStatus TC requires that this DESCRIPTION clause
+ states under which circumstances other objects in this row
+
+ can be modified. The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified.
+
+ A conceptual row can not be made active until the
+ ipAddressIfIndex has been set to a valid index."
+ ::= { ipAddressEntry 10 }
+
+ipAddressStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row. If this object
+ has a value of 'permanent', then no other objects are
+ required to be able to be modified."
+ DEFVAL { volatile }
+ ::= { ipAddressEntry 11 }
+
+--
+-- the Internet Address Translation table
+--
+
+ipNetToPhysicalTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpNetToPhysicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP Address Translation table used for mapping from IP
+ addresses to physical addresses.
+
+ The Address Translation tables contain the IP address to
+ 'physical' address equivalences. Some interfaces do not use
+ translation tables for determining address equivalences
+ (e.g., DDN-X.25 has an algorithmic method); if all
+ interfaces are of this type, then the Address Translation
+ table is empty, i.e., has zero entries.
+
+ While many protocols may be used to populate this table, ARP
+ and Neighbor Discovery are the most likely
+ options."
+ REFERENCE "RFC 826 and RFC 2461"
+ ::= { ip 35 }
+
+ipNetToPhysicalEntry OBJECT-TYPE
+ SYNTAX IpNetToPhysicalEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains one IP address to `physical' address
+ equivalence."
+ INDEX { ipNetToPhysicalIfIndex,
+ ipNetToPhysicalNetAddressType,
+ ipNetToPhysicalNetAddress }
+ ::= { ipNetToPhysicalTable 1 }
+
+IpNetToPhysicalEntry ::= SEQUENCE {
+ ipNetToPhysicalIfIndex InterfaceIndex,
+ ipNetToPhysicalNetAddressType InetAddressType,
+ ipNetToPhysicalNetAddress InetAddress,
+ ipNetToPhysicalPhysAddress PhysAddress,
+ ipNetToPhysicalLastUpdated TimeStamp,
+ ipNetToPhysicalType INTEGER,
+ ipNetToPhysicalState INTEGER,
+ ipNetToPhysicalRowStatus RowStatus
+ }
+
+ipNetToPhysicalIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface to
+ which this entry is applicable. The interface identified by
+ a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipNetToPhysicalEntry 1 }
+
+ipNetToPhysicalNetAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The type of ipNetToPhysicalNetAddress."
+ ::= { ipNetToPhysicalEntry 2 }
+
+ipNetToPhysicalNetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP Address corresponding to the media-dependent
+ `physical' address. The address type of this object is
+ specified in ipNetToPhysicalAddressType.
+
+ Implementors need to be aware that if the size of
+
+ ipNetToPhysicalNetAddress exceeds 115 octets, then OIDS of
+ instances of columns in this row will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ ::= { ipNetToPhysicalEntry 3 }
+
+ipNetToPhysicalPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress (SIZE(0..65535))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The media-dependent `physical' address.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity SHOULD NOT save the
+ change to non-volatile storage."
+ ::= { ipNetToPhysicalEntry 4 }
+
+ipNetToPhysicalLastUpdated OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry was last
+ updated. If this entry was updated prior to the last re-
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= { ipNetToPhysicalEntry 5 }
+
+ipNetToPhysicalType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated mapping
+ dynamic(3),
+ static(4),
+ local(5) -- local interface
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of mapping.
+
+ Setting this object to the value invalid(2) has the effect
+ of invalidating the corresponding entry in the
+ ipNetToPhysicalTable. That is, it effectively dis-
+ associates the interface identified with said entry from the
+ mapping identified with said entry. It is an
+ implementation-specific matter as to whether the agent
+
+ removes an invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive tabular
+ information from agents that corresponds to entries not
+ currently in use. Proper interpretation of such entries
+ requires examination of the relevant ipNetToPhysicalType
+ object.
+
+ The 'dynamic(3)' type indicates that the IP address to
+ physical addresses mapping has been dynamically resolved
+ using e.g., IPv4 ARP or the IPv6 Neighbor Discovery
+ protocol.
+
+ The 'static(4)' type indicates that the mapping has been
+ statically configured. Both of these refer to entries that
+ provide mappings for other entities addresses.
+
+ The 'local(5)' type indicates that the mapping is provided
+ for an entity's own interface address.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity SHOULD NOT save the
+ change to non-volatile storage."
+ DEFVAL { static }
+ ::= { ipNetToPhysicalEntry 6 }
+
+ipNetToPhysicalState OBJECT-TYPE
+ SYNTAX INTEGER {
+ reachable(1), -- confirmed reachability
+
+ stale(2), -- unconfirmed reachability
+
+ delay(3), -- waiting for reachability
+ -- confirmation before entering
+ -- the probe state
+
+ probe(4), -- actively probing
+
+ invalid(5), -- an invalidated mapping
+
+ unknown(6), -- state can not be determined
+ -- for some reason.
+
+ incomplete(7) -- address resolution is being
+ -- performed.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Neighbor Unreachability Detection state for the
+ interface when the address mapping in this entry is used.
+ If Neighbor Unreachability Detection is not in use (e.g. for
+ IPv4), this object is always unknown(6)."
+ REFERENCE "RFC 2461"
+ ::= { ipNetToPhysicalEntry 7 }
+
+ipNetToPhysicalRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ The RowStatus TC requires that this DESCRIPTION clause
+ states under which circumstances other objects in this row
+ can be modified. The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified.
+
+ A conceptual row can not be made active until the
+ ipNetToPhysicalPhysAddress object has been set.
+
+ Note that if the ipNetToPhysicalType is set to 'invalid',
+ the managed node may delete the entry independent of the
+ state of this object."
+ ::= { ipNetToPhysicalEntry 8 }
+
+--
+-- The IPv6 Scope Zone Index Table.
+--
+
+ipv6ScopeZoneIndexTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6ScopeZoneIndexEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table used to describe IPv6 unicast and multicast scope
+ zones.
+
+ For those objects that have names rather than numbers, the
+ names were chosen to coincide with the names used in the
+ IPv6 address architecture document. "
+ REFERENCE "Section 2.7 of RFC 4291"
+ ::= { ip 36 }
+
+ipv6ScopeZoneIndexEntry OBJECT-TYPE
+ SYNTAX Ipv6ScopeZoneIndexEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains the list of scope identifiers on a given
+ interface."
+ INDEX { ipv6ScopeZoneIndexIfIndex }
+ ::= { ipv6ScopeZoneIndexTable 1 }
+
+Ipv6ScopeZoneIndexEntry ::= SEQUENCE {
+ ipv6ScopeZoneIndexIfIndex InterfaceIndex,
+ ipv6ScopeZoneIndexLinkLocal InetZoneIndex,
+ ipv6ScopeZoneIndex3 InetZoneIndex,
+ ipv6ScopeZoneIndexAdminLocal InetZoneIndex,
+ ipv6ScopeZoneIndexSiteLocal InetZoneIndex,
+ ipv6ScopeZoneIndex6 InetZoneIndex,
+ ipv6ScopeZoneIndex7 InetZoneIndex,
+ ipv6ScopeZoneIndexOrganizationLocal InetZoneIndex,
+ ipv6ScopeZoneIndex9 InetZoneIndex,
+ ipv6ScopeZoneIndexA InetZoneIndex,
+ ipv6ScopeZoneIndexB InetZoneIndex,
+ ipv6ScopeZoneIndexC InetZoneIndex,
+ ipv6ScopeZoneIndexD InetZoneIndex
+ }
+
+ipv6ScopeZoneIndexIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface to
+ which these scopes belong. The interface identified by a
+ particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipv6ScopeZoneIndexEntry 1 }
+
+ipv6ScopeZoneIndexLinkLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the link-local scope on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 2 }
+
+ipv6ScopeZoneIndex3 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 3 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 3 }
+
+ipv6ScopeZoneIndexAdminLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the admin-local scope on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 4 }
+
+ipv6ScopeZoneIndexSiteLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the site-local scope on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 5 }
+
+ipv6ScopeZoneIndex6 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 6 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 6 }
+
+ipv6ScopeZoneIndex7 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 7 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 7 }
+
+ipv6ScopeZoneIndexOrganizationLocal OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for the organization-local scope on this
+ interface."
+ ::= { ipv6ScopeZoneIndexEntry 8 }
+
+ipv6ScopeZoneIndex9 OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope 9 on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 9 }
+
+ipv6ScopeZoneIndexA OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope A on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 10 }
+
+ipv6ScopeZoneIndexB OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope B on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 11 }
+
+ipv6ScopeZoneIndexC OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope C on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 12 }
+
+ipv6ScopeZoneIndexD OBJECT-TYPE
+ SYNTAX InetZoneIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The zone index for scope D on this interface."
+ ::= { ipv6ScopeZoneIndexEntry 13 }
+
+--
+-- The Default Router Table
+-- This table simply lists the default routers; for more information
+-- about routing tables, see the routing MIBs
+--
+
+ipDefaultRouterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpDefaultRouterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table used to describe the default routers known to this
+
+ entity."
+ ::= { ip 37 }
+
+ipDefaultRouterEntry OBJECT-TYPE
+ SYNTAX IpDefaultRouterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains information about a default router known
+ to this entity."
+ INDEX {ipDefaultRouterAddressType, ipDefaultRouterAddress,
+ ipDefaultRouterIfIndex}
+ ::= { ipDefaultRouterTable 1 }
+
+IpDefaultRouterEntry ::= SEQUENCE {
+ ipDefaultRouterAddressType InetAddressType,
+ ipDefaultRouterAddress InetAddress,
+ ipDefaultRouterIfIndex InterfaceIndex,
+ ipDefaultRouterLifetime Unsigned32,
+ ipDefaultRouterPreference INTEGER
+ }
+
+ipDefaultRouterAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type for this row."
+ ::= { ipDefaultRouterEntry 1 }
+
+ipDefaultRouterAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP address of the default router represented by this
+ row. The address type of this object is specified in
+ ipDefaultRouterAddressType.
+
+ Implementers need to be aware that if the size of
+ ipDefaultRouterAddress exceeds 115 octets, then OIDS of
+ instances of columns in this row will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3."
+ ::= { ipDefaultRouterEntry 2 }
+
+ipDefaultRouterIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface by
+ which the router can be reached. The interface identified
+ by a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipDefaultRouterEntry 3 }
+
+ipDefaultRouterLifetime OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65535)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remaining length of time, in seconds, that this router
+ will continue to be useful as a default router. A value of
+ zero indicates that it is no longer useful as a default
+ router. It is left to the implementer of the MIB as to
+ whether a router with a lifetime of zero is removed from the
+ list.
+
+ For IPv6, this value should be extracted from the router
+ advertisement messages."
+ REFERENCE "For IPv6 RFC 2462 sections 4.2 and 6.3.4"
+ ::= { ipDefaultRouterEntry 4 }
+
+ipDefaultRouterPreference OBJECT-TYPE
+ SYNTAX INTEGER {
+ reserved (-2),
+ low (-1),
+ medium (0),
+ high (1)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An indication of preference given to this router as a
+ default router as described in he Default Router
+ Preferences document. Treating the value as a
+ 2 bit signed integer allows for simple arithmetic
+ comparisons.
+
+ For IPv4 routers or IPv6 routers that are not using the
+ updated router advertisement format, this object is set to
+ medium (0)."
+ REFERENCE "RFC 4291, section 2.1"
+ ::= { ipDefaultRouterEntry 5 }
+
+--
+-- Configuration information for constructing router advertisements
+--
+
+ipv6RouterAdvertSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow cooperating SNMP managers to
+ coordinate their use of the set operation in creating or
+ modifying rows within this table.
+
+ In order to use this lock to coordinate the use of set
+ operations, managers should first retrieve
+ ipv6RouterAdvertSpinLock. They should then determine the
+ appropriate row to create or modify. Finally, they should
+ issue the appropriate set command including the retrieved
+ value of ipv6RouterAdvertSpinLock. If another manager has
+ altered the table in the meantime, then the value of
+ ipv6RouterAdvertSpinLock will have changed and the creation
+ will fail as it will be specifying an incorrect value for
+ ipv6RouterAdvertSpinLock. It is suggested, but not
+ required, that the ipv6RouterAdvertSpinLock be the first var
+ bind for each set of objects representing a 'row' in a PDU."
+ ::= { ip 38 }
+
+ipv6RouterAdvertTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6RouterAdvertEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table containing information used to construct router
+ advertisements."
+ ::= { ip 39 }
+
+ipv6RouterAdvertEntry OBJECT-TYPE
+ SYNTAX Ipv6RouterAdvertEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing information used to construct router
+ advertisements.
+
+ Information in this table is persistent, and when this
+ object is written, the entity SHOULD save the change to
+ non-volatile storage."
+ INDEX { ipv6RouterAdvertIfIndex }
+ ::= { ipv6RouterAdvertTable 1 }
+
+Ipv6RouterAdvertEntry ::= SEQUENCE {
+ ipv6RouterAdvertIfIndex InterfaceIndex,
+ ipv6RouterAdvertSendAdverts TruthValue,
+ ipv6RouterAdvertMaxInterval Unsigned32,
+ ipv6RouterAdvertMinInterval Unsigned32,
+ ipv6RouterAdvertManagedFlag TruthValue,
+ ipv6RouterAdvertOtherConfigFlag TruthValue,
+ ipv6RouterAdvertLinkMTU Unsigned32,
+ ipv6RouterAdvertReachableTime Unsigned32,
+ ipv6RouterAdvertRetransmitTime Unsigned32,
+ ipv6RouterAdvertCurHopLimit Unsigned32,
+ ipv6RouterAdvertDefaultLifetime Unsigned32,
+ ipv6RouterAdvertRowStatus RowStatus
+ }
+
+ipv6RouterAdvertIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index value that uniquely identifies the interface on
+ which router advertisements constructed with this
+ information will be transmitted. The interface identified
+ by a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipv6RouterAdvertEntry 1 }
+
+ipv6RouterAdvertSendAdverts OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A flag indicating whether the router sends periodic
+ router advertisements and responds to router solicitations
+ on this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { false }
+ ::= { ipv6RouterAdvertEntry 2 }
+
+ipv6RouterAdvertMaxInterval OBJECT-TYPE
+ SYNTAX Unsigned32 (4..1800)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum time allowed between sending unsolicited router
+
+ advertisements from this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 600 }
+ ::= { ipv6RouterAdvertEntry 3 }
+
+ipv6RouterAdvertMinInterval OBJECT-TYPE
+ SYNTAX Unsigned32 (3..1350)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The minimum time allowed between sending unsolicited router
+ advertisements from this interface.
+
+ The default is 0.33 * ipv6RouterAdvertMaxInterval, however,
+ in the case of a low value for ipv6RouterAdvertMaxInterval,
+ the minimum value for this object is restricted to 3."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ ::= { ipv6RouterAdvertEntry 4 }
+
+ipv6RouterAdvertManagedFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The true/false value to be placed into the 'managed address
+ configuration' flag field in router advertisements sent from
+ this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { false }
+ ::= { ipv6RouterAdvertEntry 5 }
+
+ipv6RouterAdvertOtherConfigFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The true/false value to be placed into the 'other stateful
+ configuration' flag field in router advertisements sent from
+ this interface."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { false }
+ ::= { ipv6RouterAdvertEntry 6 }
+
+ipv6RouterAdvertLinkMTU OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in MTU options sent by the router on
+ this interface.
+
+ A value of zero indicates that no MTU options are sent."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 0 }
+ ::= { ipv6RouterAdvertEntry 7 }
+
+ipv6RouterAdvertReachableTime OBJECT-TYPE
+ SYNTAX Unsigned32 (0..3600000)
+ UNITS "milliseconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in the reachable time field in router
+ advertisement messages sent from this interface.
+
+ A value of zero in the router advertisement indicates that
+ the advertisement isn't specifying a value for reachable
+ time."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 0 }
+ ::= { ipv6RouterAdvertEntry 8 }
+
+ipv6RouterAdvertRetransmitTime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in the retransmit timer field in
+ router advertisements sent from this interface.
+
+ A value of zero in the router advertisement indicates that
+ the advertisement isn't specifying a value for retrans
+ time."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ DEFVAL { 0 }
+ ::= { ipv6RouterAdvertEntry 9 }
+
+ipv6RouterAdvertCurHopLimit OBJECT-TYPE
+ SYNTAX Unsigned32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The default value to be placed in the current hop limit
+ field in router advertisements sent from this interface.
+
+ The value should be set to the current diameter of the
+ Internet.
+
+ A value of zero in the router advertisement indicates that
+ the advertisement isn't specifying a value for curHopLimit.
+
+ The default should be set to the value specified in the IANA
+ web pages (www.iana.org) at the time of implementation."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ ::= { ipv6RouterAdvertEntry 10 }
+
+ipv6RouterAdvertDefaultLifetime OBJECT-TYPE
+ SYNTAX Unsigned32 (0|4..9000)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be placed in the router lifetime field of
+ router advertisements sent from this interface. This value
+ MUST be either 0 or between ipv6RouterAdvertMaxInterval and
+ 9000 seconds.
+
+ A value of zero indicates that the router is not to be used
+ as a default router.
+
+ The default is 3 * ipv6RouterAdvertMaxInterval."
+ REFERENCE "RFC 2461 Section 6.2.1"
+ ::= { ipv6RouterAdvertEntry 11 }
+
+ipv6RouterAdvertRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ As all objects in this conceptual row have default values, a
+ row can be created and made active by setting this object
+ appropriately.
+
+ The RowStatus TC requires that this DESCRIPTION clause
+ states under which circumstances other objects in this row
+ can be modified. The value of this object has no effect on
+ whether other objects in this conceptual row can be
+ modified."
+ ::= { ipv6RouterAdvertEntry 12 }
+
+--
+
+-- ICMP section
+--
+
+icmp OBJECT IDENTIFIER ::= { mib-2 5 }
+
+--
+-- ICMP non-message-specific counters
+--
+
+-- These object IDs are reserved, as they were used in earlier
+-- versions of the MIB module. In theory, OIDs are not assigned
+-- until the specification is released as an RFC; however, as some
+-- companies may have shipped code based on earlier versions of
+-- the MIB, it seems best to reserve these OIDs.
+-- ::= { icmp 27 }
+-- ::= { icmp 28 }
+
+icmpStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IcmpStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of generic system-wide ICMP counters."
+ ::= { icmp 29 }
+
+icmpStatsEntry OBJECT-TYPE
+ SYNTAX IcmpStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the icmpStatsTable."
+ INDEX { icmpStatsIPVersion }
+ ::= { icmpStatsTable 1 }
+
+IcmpStatsEntry ::= SEQUENCE {
+ icmpStatsIPVersion InetVersion,
+ icmpStatsInMsgs Counter32,
+ icmpStatsInErrors Counter32,
+ icmpStatsOutMsgs Counter32,
+ icmpStatsOutErrors Counter32
+ }
+
+icmpStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of the statistics."
+ ::= { icmpStatsEntry 1 }
+
+icmpStatsInMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages that the entity received.
+ Note that this counter includes all those counted by
+ icmpStatsInErrors."
+ ::= { icmpStatsEntry 2 }
+
+icmpStatsInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages that the entity received but
+ determined as having ICMP-specific errors (bad ICMP
+ checksums, bad length, etc.)."
+ ::= { icmpStatsEntry 3 }
+
+icmpStatsOutMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages that the entity attempted
+ to send. Note that this counter includes all those counted
+ by icmpStatsOutErrors."
+ ::= { icmpStatsEntry 4 }
+
+icmpStatsOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages that this entity did not send
+ due to problems discovered within ICMP, such as a lack of
+ buffers. This value should not include errors discovered
+ outside the ICMP layer, such as the inability of IP to route
+ the resultant datagram. In some implementations, there may
+ be no types of error that contribute to this counter's
+ value."
+ ::= { icmpStatsEntry 5 }
+
+--
+-- per-version, per-message type ICMP counters
+
+--
+
+icmpMsgStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IcmpMsgStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of system-wide per-version, per-message type ICMP
+ counters."
+ ::= { icmp 30 }
+
+icmpMsgStatsEntry OBJECT-TYPE
+ SYNTAX IcmpMsgStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row in the icmpMsgStatsTable.
+
+ The system should track each ICMP type value, even if that
+ ICMP type is not supported by the system. However, a
+ given row need not be instantiated unless a message of that
+ type has been processed, i.e., the row for
+ icmpMsgStatsType=X MAY be instantiated before but MUST be
+ instantiated after the first message with Type=X is
+ received or transmitted. After receiving or transmitting
+ any succeeding messages with Type=X, the relevant counter
+ must be incremented."
+ INDEX { icmpMsgStatsIPVersion, icmpMsgStatsType }
+ ::= { icmpMsgStatsTable 1 }
+
+IcmpMsgStatsEntry ::= SEQUENCE {
+ icmpMsgStatsIPVersion InetVersion,
+ icmpMsgStatsType Integer32,
+ icmpMsgStatsInPkts Counter32,
+ icmpMsgStatsOutPkts Counter32
+ }
+
+icmpMsgStatsIPVersion OBJECT-TYPE
+ SYNTAX InetVersion
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IP version of the statistics."
+ ::= { icmpMsgStatsEntry 1 }
+
+icmpMsgStatsType OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The ICMP type field of the message type being counted by
+ this row.
+
+ Note that ICMP message types are scoped by the address type
+ in use."
+ REFERENCE "http://www.iana.org/assignments/icmp-parameters and
+ http://www.iana.org/assignments/icmpv6-parameters"
+ ::= { icmpMsgStatsEntry 2 }
+
+icmpMsgStatsInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input packets for this AF and type."
+ ::= { icmpMsgStatsEntry 3 }
+
+icmpMsgStatsOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output packets for this AF and type."
+ ::= { icmpMsgStatsEntry 4 }
+--
+-- conformance information
+--
+
+ipMIBConformance OBJECT IDENTIFIER ::= { ipMIB 2 }
+
+ipMIBCompliances OBJECT IDENTIFIER ::= { ipMIBConformance 1 }
+ipMIBGroups OBJECT IDENTIFIER ::= { ipMIBConformance 2 }
+
+-- compliance statements
+ipMIBCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for systems that implement IP -
+ either IPv4 or IPv6.
+
+ There are a number of INDEX objects that cannot be
+ represented in the form of OBJECT clauses in SMIv2, but
+ for which we have the following compliance requirements,
+ expressed in OBJECT clause form in this description
+ clause:
+
+ -- OBJECT ipSystemStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT ipIfStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT icmpStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT icmpMsgStatsIPVersion
+ -- SYNTAX InetVersion {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only IPv4 and IPv6
+ -- versions.
+ --
+ -- OBJECT ipAddressPrefixType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4 and
+ -- IPv6 address types.
+ --
+ -- OBJECT ipAddressPrefixPrefix
+ -- SYNTAX InetAddress (Size(4 | 16))
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4 and
+ -- IPv6 addresses and so the size can be either 4 or
+ -- 16 bytes.
+ --
+ -- OBJECT ipAddressAddrType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 address types.
+ --
+ -- OBJECT ipAddressAddr
+ -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+
+ -- non-global IPv4 and IPv6 addresses and so the size
+ -- can be 4, 8, 16, or 20 bytes.
+ --
+ -- OBJECT ipNetToPhysicalNetAddressType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 address types.
+ --
+ -- OBJECT ipNetToPhysicalNetAddress
+ -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 addresses and so the size
+ -- can be 4, 8, 16, or 20 bytes.
+ --
+ -- OBJECT ipDefaultRouterAddressType
+ -- SYNTAX InetAddressType {ipv4(1), ipv6(2),
+ -- ipv4z(3), ipv6z(4)}
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 address types.
+ --
+ -- OBJECT ipDefaultRouterAddress
+ -- SYNTAX InetAddress (Size(4 | 8 | 16 | 20))
+ -- DESCRIPTION
+ -- This MIB requires support for only global and
+ -- non-global IPv4 and IPv6 addresses and so the size
+ -- can be 4, 8, 16, or 20 bytes."
+
+ MODULE -- this module
+
+ MANDATORY-GROUPS { ipSystemStatsGroup, ipAddressGroup,
+ ipNetToPhysicalGroup, ipDefaultRouterGroup,
+ icmpStatsGroup }
+
+ GROUP ipSystemStatsHCOctetGroup
+ DESCRIPTION
+ "This group is mandatory for systems that have an aggregate
+ bandwidth of greater than 20MB. Including this group does
+ not allow an entity to neglect the 32 bit versions of these
+ objects."
+
+ GROUP ipSystemStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for systems that have an aggregate
+ bandwidth of greater than 650MB. Including this group
+
+ does not allow an entity to neglect the 32 bit versions of
+ these objects."
+
+ GROUP ipIfStatsGroup
+ DESCRIPTION
+ "This group is optional for all systems."
+
+ GROUP ipIfStatsHCOctetGroup
+ DESCRIPTION
+ "This group is mandatory for systems that include the
+ ipIfStatsGroup and include links with bandwidths of greater
+ than 20MB. Including this group does not allow an entity to
+ neglect the 32 bit versions of these objects."
+
+ GROUP ipIfStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for systems that include the
+ ipIfStatsGroup and include links with bandwidths of greater
+ than 650MB. Including this group does not allow an entity
+ to neglect the 32 bit versions of these objects."
+
+ GROUP ipv4GeneralGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4."
+
+ GROUP ipv4IfGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4."
+
+ GROUP ipv4SystemStatsGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4."
+
+ GROUP ipv4SystemStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4 and
+ that have an aggregate bandwidth of greater than 650MB.
+ Including this group does not allow an entity to neglect the
+ 32 bit versions of these objects."
+
+ GROUP ipv4IfStatsGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4 and
+ including the ipIfStatsGroup."
+
+ GROUP ipv4IfStatsHCPacketGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv4 and
+
+ including the ipIfStatsHCPacketGroup. Including this group
+ does not allow an entity to neglect the 32 bit versions of
+ these objects."
+
+ GROUP ipv6GeneralGroup2
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipv6IfGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipAddressPrefixGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipv6ScopeGroup
+ DESCRIPTION
+ "This group is mandatory for all systems supporting IPv6."
+
+ GROUP ipv6RouterAdvertGroup
+ DESCRIPTION
+ "This group is mandatory for all IPv6 routers."
+
+ GROUP ipLastChangeGroup
+ DESCRIPTION
+ "This group is optional for all agents."
+
+ OBJECT ipv6IpForwarding
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6IpDefaultHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv4InterfaceEnableStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6InterfaceEnableStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6InterfaceForwarding
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipAddressSpinLock
+ MIN-ACCESS not-accessible
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object. However, if an agent provides write access to any
+ of the other objects in the ipAddressGroup, it SHOULD
+ provide write access to this object as well."
+
+ OBJECT ipAddressIfIndex
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressRowStatus
+ SYNTAX RowStatus { active(1) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipAddressStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object.
+
+ If an agent allows this object to be written or created, it
+ is not required to allow this object to be set to readOnly,
+ permanent, or nonVolatile."
+
+ OBJECT ipNetToPhysicalPhysAddress
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipNetToPhysicalType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+
+ OBJECT ipv6RouterAdvertSpinLock
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object. However, if an agent provides write access to
+ any of the other objects in the ipv6RouterAdvertGroup, it
+ SHOULD provide write access to this object as well."
+
+ OBJECT ipv6RouterAdvertSendAdverts
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertMaxInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertMinInterval
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertManagedFlag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertOtherConfigFlag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertLinkMTU
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertReachableTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertRetransmitTime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertCurHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertDefaultLifetime
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write access to this
+ object."
+
+ OBJECT ipv6RouterAdvertRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write or create access
+ to this object."
+ ::= { ipMIBCompliances 2 }
+
+-- units of conformance
+
+ipv4GeneralGroup OBJECT-GROUP
+ OBJECTS { ipForwarding, ipDefaultTTL, ipReasmTimeout }
+ STATUS current
+ DESCRIPTION
+ "The group of IPv4-specific objects for basic management of
+ IPv4 entities."
+ ::= { ipMIBGroups 3 }
+
+ipv4IfGroup OBJECT-GROUP
+ OBJECTS { ipv4InterfaceReasmMaxSize, ipv4InterfaceEnableStatus,
+ ipv4InterfaceRetransmitTime }
+ STATUS current
+ DESCRIPTION
+ "The group of IPv4-specific objects for basic management of
+ IPv4 interfaces."
+ ::= { ipMIBGroups 4 }
+
+ipv6GeneralGroup2 OBJECT-GROUP
+ OBJECTS { ipv6IpForwarding, ipv6IpDefaultHopLimit }
+ STATUS current
+ DESCRIPTION
+ "The IPv6 group of objects providing for basic management of
+ IPv6 entities."
+ ::= { ipMIBGroups 5 }
+
+ipv6IfGroup OBJECT-GROUP
+ OBJECTS { ipv6InterfaceReasmMaxSize, ipv6InterfaceIdentifier,
+ ipv6InterfaceEnableStatus, ipv6InterfaceReachableTime,
+ ipv6InterfaceRetransmitTime, ipv6InterfaceForwarding }
+ STATUS current
+ DESCRIPTION
+ "The group of IPv6-specific objects for basic management of
+ IPv6 interfaces."
+ ::= { ipMIBGroups 6 }
+
+ipLastChangeGroup OBJECT-GROUP
+ OBJECTS { ipv4InterfaceTableLastChange,
+ ipv6InterfaceTableLastChange,
+ ipIfStatsTableLastChange }
+ STATUS current
+ DESCRIPTION
+ "The last change objects associated with this MIB. These
+ objects are optional for all agents. They SHOULD be
+ implemented on agents where it is possible to determine the
+ proper values. Where it is not possible to determine the
+ proper values, for example when the tables are split amongst
+ several sub-agents using AgentX, the agent MUST NOT
+ implement these objects to return an incorrect or static
+ value."
+ ::= { ipMIBGroups 7 }
+
+ipSystemStatsGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsInReceives,
+ ipSystemStatsInOctets,
+ ipSystemStatsInHdrErrors,
+ ipSystemStatsInNoRoutes,
+ ipSystemStatsInAddrErrors,
+ ipSystemStatsInUnknownProtos,
+ ipSystemStatsInTruncatedPkts,
+ ipSystemStatsInForwDatagrams,
+ ipSystemStatsReasmReqds,
+ ipSystemStatsReasmOKs,
+ ipSystemStatsReasmFails,
+ ipSystemStatsInDiscards,
+ ipSystemStatsInDelivers,
+ ipSystemStatsOutRequests,
+ ipSystemStatsOutNoRoutes,
+ ipSystemStatsOutForwDatagrams,
+ ipSystemStatsOutDiscards,
+ ipSystemStatsOutFragReqds,
+ ipSystemStatsOutFragOKs,
+ ipSystemStatsOutFragFails,
+ ipSystemStatsOutFragCreates,
+ ipSystemStatsOutTransmits,
+ ipSystemStatsOutOctets,
+ ipSystemStatsInMcastPkts,
+ ipSystemStatsInMcastOctets,
+ ipSystemStatsOutMcastPkts,
+ ipSystemStatsOutMcastOctets,
+ ipSystemStatsDiscontinuityTime,
+ ipSystemStatsRefreshRate }
+ STATUS current
+ DESCRIPTION
+ "IP system wide statistics."
+ ::= { ipMIBGroups 8 }
+
+ipv4SystemStatsGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsInBcastPkts, ipSystemStatsOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only system wide statistics."
+ ::= { ipMIBGroups 9 }
+
+ipSystemStatsHCOctetGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsHCInOctets,
+ ipSystemStatsHCOutOctets,
+ ipSystemStatsHCInMcastOctets,
+ ipSystemStatsHCOutMcastOctets
+}
+ STATUS current
+ DESCRIPTION
+ "IP system wide statistics for systems that may overflow the
+ standard octet counters within 1 hour."
+ ::= { ipMIBGroups 10 }
+
+ipSystemStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsHCInReceives,
+ ipSystemStatsHCInForwDatagrams,
+ ipSystemStatsHCInDelivers,
+ ipSystemStatsHCOutRequests,
+ ipSystemStatsHCOutForwDatagrams,
+ ipSystemStatsHCOutTransmits,
+ ipSystemStatsHCInMcastPkts,
+ ipSystemStatsHCOutMcastPkts
+}
+ STATUS current
+ DESCRIPTION
+ "IP system wide statistics for systems that may overflow the
+ standard packet counters within 1 hour."
+ ::= { ipMIBGroups 11 }
+
+ipv4SystemStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipSystemStatsHCInBcastPkts,
+ ipSystemStatsHCOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only system wide statistics for systems that may
+ overflow the standard packet counters within 1 hour."
+ ::= { ipMIBGroups 12 }
+
+ipIfStatsGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsInReceives, ipIfStatsInOctets,
+ ipIfStatsInHdrErrors, ipIfStatsInNoRoutes,
+ ipIfStatsInAddrErrors, ipIfStatsInUnknownProtos,
+ ipIfStatsInTruncatedPkts, ipIfStatsInForwDatagrams,
+ ipIfStatsReasmReqds, ipIfStatsReasmOKs,
+ ipIfStatsReasmFails, ipIfStatsInDiscards,
+ ipIfStatsInDelivers, ipIfStatsOutRequests,
+ ipIfStatsOutForwDatagrams, ipIfStatsOutDiscards,
+ ipIfStatsOutFragReqds, ipIfStatsOutFragOKs,
+ ipIfStatsOutFragFails, ipIfStatsOutFragCreates,
+ ipIfStatsOutTransmits, ipIfStatsOutOctets,
+ ipIfStatsInMcastPkts, ipIfStatsInMcastOctets,
+ ipIfStatsOutMcastPkts, ipIfStatsOutMcastOctets,
+ ipIfStatsDiscontinuityTime, ipIfStatsRefreshRate }
+ STATUS current
+ DESCRIPTION
+ "IP per-interface statistics."
+ ::= { ipMIBGroups 13 }
+
+ipv4IfStatsGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsInBcastPkts, ipIfStatsOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only per-interface statistics."
+ ::= { ipMIBGroups 14 }
+
+ipIfStatsHCOctetGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsHCInOctets, ipIfStatsHCOutOctets,
+ ipIfStatsHCInMcastOctets, ipIfStatsHCOutMcastOctets }
+ STATUS current
+ DESCRIPTION
+ "IP per-interfaces statistics for systems that include
+ interfaces that may overflow the standard octet
+ counters within 1 hour."
+ ::= { ipMIBGroups 15 }
+
+ipIfStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsHCInReceives, ipIfStatsHCInForwDatagrams,
+ ipIfStatsHCInDelivers, ipIfStatsHCOutRequests,
+ ipIfStatsHCOutForwDatagrams, ipIfStatsHCOutTransmits,
+ ipIfStatsHCInMcastPkts, ipIfStatsHCOutMcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IP per-interfaces statistics for systems that include
+ interfaces that may overflow the standard packet counters
+ within 1 hour."
+ ::= { ipMIBGroups 16 }
+
+ipv4IfStatsHCPacketGroup OBJECT-GROUP
+ OBJECTS { ipIfStatsHCInBcastPkts, ipIfStatsHCOutBcastPkts }
+ STATUS current
+ DESCRIPTION
+ "IPv4 only per-interface statistics for systems that include
+ interfaces that may overflow the standard packet counters
+ within 1 hour."
+ ::= { ipMIBGroups 17 }
+
+ipAddressPrefixGroup OBJECT-GROUP
+ OBJECTS { ipAddressPrefixOrigin,
+ ipAddressPrefixOnLinkFlag,
+ ipAddressPrefixAutonomousFlag,
+ ipAddressPrefixAdvPreferredLifetime,
+ ipAddressPrefixAdvValidLifetime }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about address
+ prefixes used by this node."
+ ::= { ipMIBGroups 18 }
+
+ipAddressGroup OBJECT-GROUP
+ OBJECTS { ipAddressSpinLock, ipAddressIfIndex,
+ ipAddressType, ipAddressPrefix,
+ ipAddressOrigin, ipAddressStatus,
+ ipAddressCreated, ipAddressLastChanged,
+ ipAddressRowStatus, ipAddressStorageType }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about the
+ addresses relevant to this entity's interfaces."
+ ::= { ipMIBGroups 19 }
+
+ipNetToPhysicalGroup OBJECT-GROUP
+ OBJECTS { ipNetToPhysicalPhysAddress, ipNetToPhysicalLastUpdated,
+ ipNetToPhysicalType, ipNetToPhysicalState,
+ ipNetToPhysicalRowStatus }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about the
+ mappings of network address to physical address known to
+ this node."
+ ::= { ipMIBGroups 20 }
+
+ipv6ScopeGroup OBJECT-GROUP
+ OBJECTS { ipv6ScopeZoneIndexLinkLocal,
+ ipv6ScopeZoneIndex3,
+ ipv6ScopeZoneIndexAdminLocal,
+ ipv6ScopeZoneIndexSiteLocal,
+ ipv6ScopeZoneIndex6,
+ ipv6ScopeZoneIndex7,
+ ipv6ScopeZoneIndexOrganizationLocal,
+ ipv6ScopeZoneIndex9,
+ ipv6ScopeZoneIndexA,
+ ipv6ScopeZoneIndexB,
+ ipv6ScopeZoneIndexC,
+ ipv6ScopeZoneIndexD }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for managing IPv6 scope zones."
+ ::= { ipMIBGroups 21 }
+
+ipDefaultRouterGroup OBJECT-GROUP
+ OBJECTS { ipDefaultRouterLifetime, ipDefaultRouterPreference }
+ STATUS current
+ DESCRIPTION
+ "The group of objects for providing information about default
+ routers known to this node."
+ ::= { ipMIBGroups 22 }
+
+ipv6RouterAdvertGroup OBJECT-GROUP
+ OBJECTS { ipv6RouterAdvertSpinLock,
+ ipv6RouterAdvertSendAdverts,
+ ipv6RouterAdvertMaxInterval,
+ ipv6RouterAdvertMinInterval,
+ ipv6RouterAdvertManagedFlag,
+ ipv6RouterAdvertOtherConfigFlag,
+ ipv6RouterAdvertLinkMTU,
+ ipv6RouterAdvertReachableTime,
+ ipv6RouterAdvertRetransmitTime,
+ ipv6RouterAdvertCurHopLimit,
+ ipv6RouterAdvertDefaultLifetime,
+ ipv6RouterAdvertRowStatus
+}
+ STATUS current
+ DESCRIPTION
+ "The group of objects for controlling information advertised
+ by IPv6 routers."
+ ::= { ipMIBGroups 23 }
+
+icmpStatsGroup OBJECT-GROUP
+ OBJECTS {icmpStatsInMsgs, icmpStatsInErrors,
+ icmpStatsOutMsgs, icmpStatsOutErrors,
+ icmpMsgStatsInPkts, icmpMsgStatsOutPkts }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing ICMP statistics."
+ ::= { ipMIBGroups 24 }
+
+--
+-- Deprecated objects
+--
+
+ipInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of input datagrams received from
+ interfaces, including those received in error.
+
+ This object has been deprecated, as a new IP version-neutral
+
+ table has been added. It is loosely replaced by
+ ipSystemStatsInRecieves."
+ ::= { ip 3 }
+
+ipInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input datagrams discarded due to errors in
+ their IPv4 headers, including bad checksums, version number
+ mismatch, other format errors, time-to-live exceeded, errors
+ discovered in processing their IPv4 options, etc.
+
+ This object has been deprecated as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInHdrErrors."
+ ::= { ip 4 }
+
+ipInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input datagrams discarded because the IPv4
+ address in their IPv4 header's destination field was not a
+ valid address to be received at this entity. This count
+ includes invalid addresses (e.g., 0.0.0.0) and addresses of
+ unsupported Classes (e.g., Class E). For entities which are
+ not IPv4 routers, and therefore do not forward datagrams,
+ this counter includes datagrams discarded because the
+ destination address was not a local address.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInAddrErrors."
+ ::= { ip 5 }
+
+ipForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input datagrams for which this entity was not
+ their final IPv4 destination, as a result of which an
+ attempt was made to find a route to forward them to that
+ final destination. In entities which do not act as IPv4
+ routers, this counter will include only those packets which
+
+ were Source-Routed via this entity, and the Source-Route
+ option processing was successful.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInForwDatagrams."
+ ::= { ip 6 }
+
+ipInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of locally-addressed datagrams received
+ successfully but discarded because of an unknown or
+ unsupported protocol.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInUnknownProtos."
+ ::= { ip 7 }
+
+ipInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of input IPv4 datagrams for which no problems
+ were encountered to prevent their continued processing, but
+ which were discarded (e.g., for lack of buffer space). Note
+ that this counter does not include any datagrams discarded
+ while awaiting re-assembly.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsInDiscards."
+ ::= { ip 8 }
+
+ipInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of input datagrams successfully delivered
+ to IPv4 user-protocols (including ICMP).
+
+ This object has been deprecated as a new IP version neutral
+ table has been added. It is loosely replaced by
+
+ ipSystemStatsIndelivers."
+ ::= { ip 9 }
+
+ipOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of IPv4 datagrams which local IPv4 user
+ protocols (including ICMP) supplied to IPv4 in requests for
+ transmission. Note that this counter does not include any
+ datagrams counted in ipForwDatagrams.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutRequests."
+ ::= { ip 10 }
+
+ipOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of output IPv4 datagrams for which no problem was
+ encountered to prevent their transmission to their
+ destination, but which were discarded (e.g., for lack of
+ buffer space). Note that this counter would include
+ datagrams counted in ipForwDatagrams if any such packets met
+ this (discretionary) discard criterion.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutDiscards."
+ ::= { ip 11 }
+
+ipOutNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagrams discarded because no route
+ could be found to transmit them to their destination. Note
+ that this counter includes any packets counted in
+ ipForwDatagrams which meet this `no-route' criterion. Note
+ that this includes any datagrams which a host cannot route
+ because all of its default routers are down.
+
+ This object has been deprecated, as a new IP version-neutral
+
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutNoRoutes."
+ ::= { ip 12 }
+
+ipReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 fragments received which needed to be
+ reassembled at this entity.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsReasmReqds."
+ ::= { ip 14 }
+
+ipReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagrams successfully re-assembled.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsReasmOKs."
+ ::= { ip 15 }
+
+ipReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of failures detected by the IPv4 re-assembly
+ algorithm (for whatever reason: timed out, errors, etc).
+ Note that this is not necessarily a count of discarded IPv4
+ fragments since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments by
+ combining them as they are received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsReasmFails."
+ ::= { ip 16 }
+
+ipFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagrams that have been successfully
+ fragmented at this entity.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutFragOKs."
+ ::= { ip 17 }
+
+ipFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagrams that have been discarded
+ because they needed to be fragmented at this entity but
+ could not be, e.g., because their Don't Fragment flag was
+ set.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutFragFails."
+ ::= { ip 18 }
+
+ipFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of IPv4 datagram fragments that have been
+ generated as a result of fragmentation at this entity.
+
+ This object has been deprecated as a new IP version neutral
+ table has been added. It is loosely replaced by
+ ipSystemStatsOutFragCreates."
+ ::= { ip 19 }
+
+ipRoutingDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of routing entries which were chosen to be
+ discarded even though they are valid. One possible reason
+ for discarding such an entry could be to free-up buffer
+ space for other routing entries.
+
+ This object was defined in pre-IPv6 versions of the IP MIB.
+ It was implicitly IPv4 only, but the original specifications
+ did not indicate this protocol restriction. In order to
+ clarify the specifications, this object has been deprecated
+ and a similar, but more thoroughly clarified, object has
+ been added to the IP-FORWARD-MIB."
+ ::= { ip 23 }
+
+-- the deprecated IPv4 address table
+
+ipAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The table of addressing information relevant to this
+ entity's IPv4 addresses.
+
+ This table has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by the
+ ipAddressTable although several objects that weren't deemed
+ useful weren't carried forward while another
+ (ipAdEntReasmMaxSize) was moved to the ipv4InterfaceTable."
+ ::= { ip 20 }
+
+ipAddrEntry OBJECT-TYPE
+ SYNTAX IpAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The addressing information for one of this entity's IPv4
+ addresses."
+ INDEX { ipAdEntAddr }
+ ::= { ipAddrTable 1 }
+
+IpAddrEntry ::= SEQUENCE {
+ ipAdEntAddr IpAddress,
+ ipAdEntIfIndex INTEGER,
+ ipAdEntNetMask IpAddress,
+ ipAdEntBcastAddr INTEGER,
+ ipAdEntReasmMaxSize INTEGER
+ }
+
+ipAdEntAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The IPv4 address to which this entry's addressing
+ information pertains."
+ ::= { ipAddrEntry 1 }
+
+ipAdEntIfIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The index value which uniquely identifies the interface to
+ which this entry is applicable. The interface identified by
+ a particular value of this index is the same interface as
+ identified by the same value of the IF-MIB's ifIndex."
+ ::= { ipAddrEntry 2 }
+
+ipAdEntNetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The subnet mask associated with the IPv4 address of this
+ entry. The value of the mask is an IPv4 address with all
+ the network bits set to 1 and all the hosts bits set to 0."
+ ::= { ipAddrEntry 3 }
+
+ipAdEntBcastAddr OBJECT-TYPE
+ SYNTAX INTEGER (0..1)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The value of the least-significant bit in the IPv4 broadcast
+ address used for sending datagrams on the (logical)
+ interface associated with the IPv4 address of this entry.
+ For example, when the Internet standard all-ones broadcast
+ address is used, the value will be 1. This value applies to
+ both the subnet and network broadcast addresses used by the
+ entity on this (logical) interface."
+ ::= { ipAddrEntry 4 }
+
+ipAdEntReasmMaxSize OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The size of the largest IPv4 datagram which this entity can
+ re-assemble from incoming IPv4 fragmented datagrams received
+ on this interface."
+ ::= { ipAddrEntry 5 }
+
+-- the deprecated IPv4 Address Translation table
+
+-- The Address Translation tables contain the IpAddress to
+-- "physical" address equivalences. Some interfaces do not
+-- use translation tables for determining address
+-- equivalences (e.g., DDN-X.25 has an algorithmic method);
+-- if all interfaces are of this type, then the Address
+-- Translation table is empty, i.e., has zero entries.
+
+ipNetToMediaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpNetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The IPv4 Address Translation table used for mapping from
+ IPv4 addresses to physical addresses.
+
+ This table has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by the
+ ipNetToPhysicalTable."
+ ::= { ip 22 }
+
+ipNetToMediaEntry OBJECT-TYPE
+ SYNTAX IpNetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "Each entry contains one IpAddress to `physical' address
+ equivalence."
+ INDEX { ipNetToMediaIfIndex,
+ ipNetToMediaNetAddress }
+ ::= { ipNetToMediaTable 1 }
+
+IpNetToMediaEntry ::= SEQUENCE {
+ ipNetToMediaIfIndex INTEGER,
+ ipNetToMediaPhysAddress PhysAddress,
+ ipNetToMediaNetAddress IpAddress,
+ ipNetToMediaType INTEGER
+ }
+
+ipNetToMediaIfIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The interface on which this entry's equivalence is
+ effective. The interface identified by a particular value
+ of this index is the same interface as identified by the
+
+ same value of the IF-MIB's ifIndex.
+
+ This object predates the rule limiting index objects to a
+ max access value of 'not-accessible' and so continues to use
+ a value of 'read-create'."
+ ::= { ipNetToMediaEntry 1 }
+
+ipNetToMediaPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress (SIZE(0..65535))
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The media-dependent `physical' address. This object should
+ return 0 when this entry is in the 'incomplete' state.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity should not save the
+ change to non-volatile storage. Note: a stronger
+ requirement is not used because this object was previously
+ defined."
+ ::= { ipNetToMediaEntry 2 }
+
+ipNetToMediaNetAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The IpAddress corresponding to the media-dependent
+ `physical' address.
+
+ This object predates the rule limiting index objects to a
+ max access value of 'not-accessible' and so continues to use
+ a value of 'read-create'."
+ ::= { ipNetToMediaEntry 3 }
+
+ipNetToMediaType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated mapping
+ dynamic(3),
+ static(4)
+ }
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The type of mapping.
+
+ Setting this object to the value invalid(2) has the effect
+
+ of invalidating the corresponding entry in the
+ ipNetToMediaTable. That is, it effectively dis-associates
+ the interface identified with said entry from the mapping
+ identified with said entry. It is an implementation-
+ specific matter as to whether the agent removes an
+ invalidated entry from the table. Accordingly, management
+ stations must be prepared to receive tabular information
+ from agents that corresponds to entries not currently in
+ use. Proper interpretation of such entries requires
+ examination of the relevant ipNetToMediaType object.
+
+ As the entries in this table are typically not persistent
+ when this object is written the entity should not save the
+ change to non-volatile storage. Note: a stronger
+ requirement is not used because this object was previously
+ defined."
+ ::= { ipNetToMediaEntry 4 }
+
+-- the deprecated ICMP group
+
+icmpInMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of ICMP messages which the entity received.
+ Note that this counter includes all those counted by
+ icmpInErrors.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsInMsgs."
+ ::= { icmp 1 }
+
+icmpInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP messages which the entity received but
+ determined as having ICMP-specific errors (bad ICMP
+ checksums, bad length, etc.).
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsInErrors."
+ ::= { icmp 2 }
+
+icmpInDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable messages
+ received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 3 }
+
+icmpInTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 4 }
+
+icmpInParmProbs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 5 }
+
+icmpInSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Source Quench messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 6 }
+
+icmpInRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Redirect messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 7 }
+
+icmpInEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 8 }
+
+icmpInEchoReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 9 }
+
+icmpInTimestamps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp (request) messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 10 }
+
+icmpInTimestampReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 11 }
+
+icmpInAddrMasks OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 12 }
+
+icmpInAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages received.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 13 }
+
+icmpOutMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The total number of ICMP messages which this entity
+ attempted to send. Note that this counter includes all
+ those counted by icmpOutErrors.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsOutMsgs."
+ ::= { icmp 14 }
+
+icmpOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP messages which this entity did not send
+ due to problems discovered within ICMP, such as a lack of
+ buffers. This value should not include errors discovered
+ outside the ICMP layer, such as the inability of IP to route
+ the resultant datagram. In some implementations, there may
+ be no types of error which contribute to this counter's
+ value.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by
+ icmpStatsOutErrors."
+ ::= { icmp 15 }
+
+icmpOutDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 16 }
+
+icmpOutTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 17 }
+
+icmpOutParmProbs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 18 }
+
+icmpOutSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Source Quench messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 19 }
+
+icmpOutRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Redirect messages sent. For a host, this
+ object will always be zero, since hosts do not send
+ redirects.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 20 }
+
+icmpOutEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 21 }
+
+icmpOutEchoReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 22 }
+
+icmpOutTimestamps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp (request) messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 23 }
+
+icmpOutTimestampReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 24 }
+
+icmpOutAddrMasks OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 25 }
+
+icmpOutAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages sent.
+
+ This object has been deprecated, as a new IP version-neutral
+ table has been added. It is loosely replaced by a column in
+ the icmpMsgStatsTable."
+ ::= { icmp 26 }
+
+-- deprecated conformance information
+-- deprecated compliance statements
+
+ipMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for systems that implement only
+ IPv4. For version-independence, this compliance statement
+ is deprecated in favor of ipMIBCompliance2."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipGroup,
+ icmpGroup }
+ ::= { ipMIBCompliances 1 }
+
+-- deprecated units of conformance
+
+ipGroup OBJECT-GROUP
+ OBJECTS { ipForwarding, ipDefaultTTL,
+ ipInReceives, ipInHdrErrors,
+ ipInAddrErrors, ipForwDatagrams,
+ ipInUnknownProtos, ipInDiscards,
+ ipInDelivers, ipOutRequests,
+ ipOutDiscards, ipOutNoRoutes,
+ ipReasmTimeout, ipReasmReqds,
+ ipReasmOKs, ipReasmFails,
+ ipFragOKs, ipFragFails,
+ ipFragCreates, ipAdEntAddr,
+ ipAdEntIfIndex, ipAdEntNetMask,
+ ipAdEntBcastAddr, ipAdEntReasmMaxSize,
+ ipNetToMediaIfIndex, ipNetToMediaPhysAddress,
+ ipNetToMediaNetAddress, ipNetToMediaType,
+ ipRoutingDiscards
+}
+ STATUS deprecated
+ DESCRIPTION
+ "The ip group of objects providing for basic management of IP
+ entities, exclusive of the management of IP routes.
+
+ As part of the version independence, this group has been
+ deprecated. "
+ ::= { ipMIBGroups 1 }
+
+icmpGroup OBJECT-GROUP
+ OBJECTS { icmpInMsgs, icmpInErrors,
+ icmpInDestUnreachs, icmpInTimeExcds,
+ icmpInParmProbs, icmpInSrcQuenchs,
+ icmpInRedirects, icmpInEchos,
+ icmpInEchoReps, icmpInTimestamps,
+ icmpInTimestampReps, icmpInAddrMasks,
+ icmpInAddrMaskReps, icmpOutMsgs,
+ icmpOutErrors, icmpOutDestUnreachs,
+ icmpOutTimeExcds, icmpOutParmProbs,
+ icmpOutSrcQuenchs, icmpOutRedirects,
+ icmpOutEchos, icmpOutEchoReps,
+ icmpOutTimestamps, icmpOutTimestampReps,
+ icmpOutAddrMasks, icmpOutAddrMaskReps }
+ STATUS deprecated
+ DESCRIPTION
+ "The icmp group of objects providing ICMP statistics.
+
+ As part of the version independence, this group has been
+ deprecated. "
+ ::= { ipMIBGroups 2 }
+
+END
diff --git a/mibs/IPV6-FLOW-LABEL-MIB.txt b/mibs/IPV6-FLOW-LABEL-MIB.txt
new file mode 100644
index 00000000..6fb36596
--- /dev/null
+++ b/mibs/IPV6-FLOW-LABEL-MIB.txt
@@ -0,0 +1,58 @@
+IPV6-FLOW-LABEL-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+
+ MODULE-IDENTITY, mib-2, Integer32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+ipv6FlowLabelMIB MODULE-IDENTITY
+
+ LAST-UPDATED "200308280000Z" -- 28 August 2003
+ ORGANIZATION "IETF Operations and Management Area"
+ CONTACT-INFO "Bert Wijnen (Editor)
+ Lucent Technologies
+ Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+
+ Phone: +31 348-407-775
+ EMail: bwijnen@lucent.com
+
+ Send comments to <mibs@ops.ietf.org>.
+ "
+ DESCRIPTION "This MIB module provides commonly used textual
+ conventions for IPv6 Flow Labels.
+
+ Copyright (C) The Internet Society (2003). This
+ version of this MIB module is part of RFC 3595,
+ see the RFC itself for full legal notices.
+ "
+ -- Revision History
+
+ REVISION "200308280000Z" -- 28 August 2003
+ DESCRIPTION "Initial version, published as RFC 3595."
+ ::= { mib-2 103 }
+
+IPv6FlowLabel ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION "The flow identifier or Flow Label in an IPv6
+ packet header that may be used to discriminate
+ traffic flows.
+ "
+ REFERENCE "Internet Protocol, Version 6 (IPv6) specification,
+ section 6. RFC 2460.
+ "
+ SYNTAX Integer32 (0..1048575)
+
+IPv6FlowLabelOrAny ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION "The flow identifier or Flow Label in an IPv6
+ packet header that may be used to discriminate
+ traffic flows. The value of -1 is used to
+ indicate a wildcard, i.e. any value.
+ "
+ SYNTAX Integer32 (-1 | 0..1048575)
+
+END
diff --git a/mibs/IPV6-ICMP-MIB.txt b/mibs/IPV6-ICMP-MIB.txt
new file mode 100644
index 00000000..bb66da57
--- /dev/null
+++ b/mibs/IPV6-ICMP-MIB.txt
@@ -0,0 +1,529 @@
+ IPV6-ICMP-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Counter32, mib-2 FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ ipv6IfEntry FROM IPV6-MIB;
+
+ ipv6IcmpMIB MODULE-IDENTITY
+ LAST-UPDATED "9801082155Z"
+ ORGANIZATION "IETF IPv6 Working Group"
+ CONTACT-INFO
+ " Dimitry Haskin
+
+ Postal: Bay Networks, Inc.
+ 660 Techology Park Drive.
+ Billerica, MA 01821
+ US
+
+ Tel: +1-978-916-8124
+ E-mail: dhaskin@baynetworks.com
+
+ Steve Onishi
+
+ Postal: Bay Networks, Inc.
+ 3 Federal Street
+ Billerica, MA 01821
+ US
+
+ Tel: +1-978-916-3816
+ E-mail: sonishi@baynetworks.com"
+ DESCRIPTION
+ "The MIB module for entities implementing
+ the ICMPv6."
+ ::= { mib-2 56 }
+
+ -- the ICMPv6 group
+
+ ipv6IcmpMIBObjects OBJECT IDENTIFIER ::= { ipv6IcmpMIB 1 }
+
+ -- Per-interface ICMPv6 statistics table
+
+ ipv6IfIcmpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6IfIcmpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "IPv6 ICMP statistics. This table contains statistics
+ of ICMPv6 messages that are received and sourced by
+ the entity."
+ ::= { ipv6IcmpMIBObjects 1 }
+
+ ipv6IfIcmpEntry OBJECT-TYPE
+ SYNTAX Ipv6IfIcmpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An ICMPv6 statistics entry containing
+ objects at a particular IPv6 interface.
+
+ Note that a receiving interface is
+ the interface to which a given ICMPv6 message
+ is addressed which may not be necessarily
+ the input interface for the message.
+
+ Similarly, the sending interface is
+ the interface that sources a given
+ ICMP message which is usually but not
+ necessarily the output interface for the message."
+ AUGMENTS { ipv6IfEntry }
+ ::= { ipv6IfIcmpTable 1 }
+
+ Ipv6IfIcmpEntry ::= SEQUENCE {
+ ipv6IfIcmpInMsgs
+ Counter32 ,
+ ipv6IfIcmpInErrors
+ Counter32 ,
+ ipv6IfIcmpInDestUnreachs
+ Counter32 ,
+ ipv6IfIcmpInAdminProhibs
+ Counter32 ,
+ ipv6IfIcmpInTimeExcds
+ Counter32 ,
+ ipv6IfIcmpInParmProblems
+ Counter32 ,
+ ipv6IfIcmpInPktTooBigs
+ Counter32 ,
+ ipv6IfIcmpInEchos
+ Counter32 ,
+ ipv6IfIcmpInEchoReplies
+ Counter32 ,
+ ipv6IfIcmpInRouterSolicits
+ Counter32 ,
+ ipv6IfIcmpInRouterAdvertisements
+ Counter32 ,
+ ipv6IfIcmpInNeighborSolicits
+ Counter32 ,
+ ipv6IfIcmpInNeighborAdvertisements
+ Counter32 ,
+ ipv6IfIcmpInRedirects
+ Counter32 ,
+ ipv6IfIcmpInGroupMembQueries
+ Counter32 ,
+ ipv6IfIcmpInGroupMembResponses
+ Counter32 ,
+ ipv6IfIcmpInGroupMembReductions
+ Counter32 ,
+ ipv6IfIcmpOutMsgs
+ Counter32 ,
+ ipv6IfIcmpOutErrors
+ Counter32 ,
+ ipv6IfIcmpOutDestUnreachs
+ Counter32 ,
+ ipv6IfIcmpOutAdminProhibs
+ Counter32 ,
+ ipv6IfIcmpOutTimeExcds
+ Counter32 ,
+ ipv6IfIcmpOutParmProblems
+ Counter32 ,
+ ipv6IfIcmpOutPktTooBigs
+ Counter32 ,
+ ipv6IfIcmpOutEchos
+ Counter32 ,
+ ipv6IfIcmpOutEchoReplies
+ Counter32 ,
+ ipv6IfIcmpOutRouterSolicits
+ Counter32 ,
+ ipv6IfIcmpOutRouterAdvertisements
+ Counter32 ,
+ ipv6IfIcmpOutNeighborSolicits
+ Counter32 ,
+ ipv6IfIcmpOutNeighborAdvertisements
+ Counter32 ,
+ ipv6IfIcmpOutRedirects
+ Counter32 ,
+ ipv6IfIcmpOutGroupMembQueries
+ Counter32 ,
+ ipv6IfIcmpOutGroupMembResponses
+ Counter32 ,
+ ipv6IfIcmpOutGroupMembReductions
+ Counter32
+
+ }
+
+ ipv6IfIcmpInMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages received
+ by the interface which includes all those
+ counted by ipv6IfIcmpInErrors. Note that this
+ interface is the interface to which the
+ ICMP messages were addressed which may not be
+ necessarily the input interface for the messages."
+ ::= { ipv6IfIcmpEntry 1 }
+
+ ipv6IfIcmpInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages which the interface
+ received but determined as having ICMP-specific
+ errors (bad ICMP checksums, bad length, etc.)."
+ ::= { ipv6IfIcmpEntry 2 }
+
+ ipv6IfIcmpInDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+ messages received by the interface."
+ ::= { ipv6IfIcmpEntry 3 }
+
+ ipv6IfIcmpInAdminProhibs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP destination
+ unreachable/communication administratively
+ prohibited messages received by the interface."
+ ::= { ipv6IfIcmpEntry 4 }
+
+ ipv6IfIcmpInTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 5 }
+
+ ipv6IfIcmpInParmProblems OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 6 }
+
+ ipv6IfIcmpInPktTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Packet Too Big messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 7 }
+
+ ipv6IfIcmpInEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 8 }
+
+ ipv6IfIcmpInEchoReplies OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages received
+ by the interface."
+ ::= { ipv6IfIcmpEntry 9 }
+
+ ipv6IfIcmpInRouterSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Solicit messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 10 }
+
+ ipv6IfIcmpInRouterAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Advertisement messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 11 }
+
+ ipv6IfIcmpInNeighborSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Solicit messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 12 }
+
+ ipv6IfIcmpInNeighborAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Advertisement
+ messages received by the interface."
+ ::= { ipv6IfIcmpEntry 13 }
+
+ ipv6IfIcmpInRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Redirect messages received
+ by the interface."
+ ::= { ipv6IfIcmpEntry 14 }
+
+ ipv6IfIcmpInGroupMembQueries OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Query
+ messages received by the interface."
+ ::= { ipv6IfIcmpEntry 15}
+
+ ipv6IfIcmpInGroupMembResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Response messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 16}
+
+ ipv6IfIcmpInGroupMembReductions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Reduction messages
+ received by the interface."
+ ::= { ipv6IfIcmpEntry 17}
+
+ ipv6IfIcmpOutMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ICMP messages which this
+ interface attempted to send. Note that this counter
+ includes all those counted by icmpOutErrors."
+ ::= { ipv6IfIcmpEntry 18 }
+
+ ipv6IfIcmpOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP messages which this interface did
+ not send due to problems discovered within ICMP
+ such as a lack of buffers. This value should not
+ include errors discovered outside the ICMP layer
+ such as the inability of IPv6 to route the resultant
+ datagram. In some implementations there may be no
+ types of error which contribute to this counter's
+ value."
+ ::= { ipv6IfIcmpEntry 19 }
+
+ ipv6IfIcmpOutDestUnreachs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+
+ messages sent by the interface."
+ ::= { ipv6IfIcmpEntry 20 }
+
+ ipv6IfIcmpOutAdminProhibs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of ICMP dest unreachable/communication
+ administratively prohibited messages sent."
+ ::= { ipv6IfIcmpEntry 21 }
+
+ ipv6IfIcmpOutTimeExcds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 22 }
+
+ ipv6IfIcmpOutParmProblems OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ sent by the interface."
+ ::= { ipv6IfIcmpEntry 23 }
+
+ ipv6IfIcmpOutPktTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Packet Too Big messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 24 }
+
+ ipv6IfIcmpOutEchos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 25 }
+
+ ipv6IfIcmpOutEchoReplies OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages sent
+ by the interface."
+ ::= { ipv6IfIcmpEntry 26 }
+
+ ipv6IfIcmpOutRouterSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Solicitation messages
+ sent by the interface."
+ ::= { ipv6IfIcmpEntry 27 }
+
+ ipv6IfIcmpOutRouterAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Router Advertisement messages
+ sent by the interface."
+ ::= { ipv6IfIcmpEntry 28 }
+
+ ipv6IfIcmpOutNeighborSolicits OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Solicitation
+ messages sent by the interface."
+ ::= { ipv6IfIcmpEntry 29 }
+
+ ipv6IfIcmpOutNeighborAdvertisements OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMP Neighbor Advertisement
+ messages sent by the interface."
+ ::= { ipv6IfIcmpEntry 30 }
+
+ ipv6IfIcmpOutRedirects OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Redirect messages sent. For
+ a host, this object will always be zero,
+ since hosts do not send redirects."
+ ::= { ipv6IfIcmpEntry 31 }
+
+ ipv6IfIcmpOutGroupMembQueries OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Query
+ messages sent."
+ ::= { ipv6IfIcmpEntry 32}
+
+ ipv6IfIcmpOutGroupMembResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Response
+ messages sent."
+ ::= { ipv6IfIcmpEntry 33}
+
+ ipv6IfIcmpOutGroupMembReductions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of ICMPv6 Group Membership Reduction
+ messages sent."
+ ::= { ipv6IfIcmpEntry 34}
+
+-- conformance information
+
+ipv6IcmpConformance OBJECT IDENTIFIER ::= { ipv6IcmpMIB 2 }
+
+ipv6IcmpCompliances
+ OBJECT IDENTIFIER ::= { ipv6IcmpConformance 1 }
+ipv6IcmpGroups
+ OBJECT IDENTIFIER ::= { ipv6IcmpConformance 2 }
+
+-- compliance statements
+
+ipv6IcmpCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement ICMPv6."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6IcmpGroup }
+ ::= { ipv6IcmpCompliances 1 }
+
+ipv6IcmpGroup OBJECT-GROUP
+ OBJECTS {
+ ipv6IfIcmpInMsgs,
+ ipv6IfIcmpInErrors,
+ ipv6IfIcmpInDestUnreachs,
+ ipv6IfIcmpInAdminProhibs,
+ ipv6IfIcmpInTimeExcds,
+ ipv6IfIcmpInParmProblems,
+ ipv6IfIcmpInPktTooBigs,
+ ipv6IfIcmpInEchos,
+ ipv6IfIcmpInEchoReplies,
+ ipv6IfIcmpInRouterSolicits,
+ ipv6IfIcmpInRouterAdvertisements,
+ ipv6IfIcmpInNeighborSolicits,
+ ipv6IfIcmpInNeighborAdvertisements,
+ ipv6IfIcmpInRedirects,
+ ipv6IfIcmpInGroupMembQueries,
+ ipv6IfIcmpInGroupMembResponses,
+ ipv6IfIcmpInGroupMembReductions,
+ ipv6IfIcmpOutMsgs,
+ ipv6IfIcmpOutErrors,
+ ipv6IfIcmpOutDestUnreachs,
+ ipv6IfIcmpOutAdminProhibs,
+ ipv6IfIcmpOutTimeExcds,
+ ipv6IfIcmpOutParmProblems,
+ ipv6IfIcmpOutPktTooBigs,
+ ipv6IfIcmpOutEchos,
+ ipv6IfIcmpOutEchoReplies,
+ ipv6IfIcmpOutRouterSolicits,
+ ipv6IfIcmpOutRouterAdvertisements,
+ ipv6IfIcmpOutNeighborSolicits,
+ ipv6IfIcmpOutNeighborAdvertisements,
+ ipv6IfIcmpOutRedirects,
+ ipv6IfIcmpOutGroupMembQueries,
+ ipv6IfIcmpOutGroupMembResponses,
+ ipv6IfIcmpOutGroupMembReductions
+ }
+ STATUS current
+ DESCRIPTION
+ "The ICMPv6 group of objects providing information
+ specific to ICMPv6."
+ ::= { ipv6IcmpGroups 1 }
+
+ END
diff --git a/mibs/IPV6-MIB.txt b/mibs/IPV6-MIB.txt
new file mode 100644
index 00000000..6957af27
--- /dev/null
+++ b/mibs/IPV6-MIB.txt
@@ -0,0 +1,1443 @@
+ IPV6-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ mib-2, Counter32, Unsigned32, Integer32,
+ Gauge32 FROM SNMPv2-SMI
+ DisplayString, PhysAddress, TruthValue, TimeStamp,
+ VariablePointer, RowPointer FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF
+ Ipv6IfIndex, Ipv6Address, Ipv6AddressPrefix,
+ Ipv6AddressIfIdentifier,
+ Ipv6IfIndexOrZero FROM IPV6-TC;
+
+ ipv6MIB MODULE-IDENTITY
+ LAST-UPDATED "9802052155Z"
+ ORGANIZATION "IETF IPv6 Working Group"
+ CONTACT-INFO
+ " Dimitry Haskin
+
+ Postal: Bay Networks, Inc.
+ 660 Techology Park Drive.
+ Billerica, MA 01821
+
+ US
+
+ Tel: +1-978-916-8124
+ E-mail: dhaskin@baynetworks.com
+
+ Steve Onishi
+
+ Postal: Bay Networks, Inc.
+ 3 Federal Street
+ Billerica, MA 01821
+ US
+
+ Tel: +1-978-916-3816
+ E-mail: sonishi@baynetworks.com"
+ DESCRIPTION
+ "The MIB module for entities implementing the IPv6
+ protocol."
+ ::= { mib-2 55 }
+
+ -- the IPv6 general group
+
+ ipv6MIBObjects OBJECT IDENTIFIER ::= { ipv6MIB 1 }
+
+ ipv6Forwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a router
+
+ -- NOT acting as
+ notForwarding(2) -- a router
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The indication of whether this entity is acting
+ as an IPv6 router in respect to the forwarding of
+ datagrams received by, but not addressed to, this
+ entity. IPv6 routers forward datagrams. IPv6
+ hosts do not (except those source-routed via the
+ host).
+
+ Note that for some managed nodes, this object may
+ take on only a subset of the values possible.
+ Accordingly, it is appropriate for an agent to
+ return a `wrongValue' response if a management
+ station attempts to change this object to an
+ inappropriate value."
+ ::= { ipv6MIBObjects 1 }
+
+ ipv6DefaultHopLimit OBJECT-TYPE
+ SYNTAX INTEGER(0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The default value inserted into the Hop Limit
+ field of the IPv6 header of datagrams originated
+ at this entity, whenever a Hop Limit value is not
+ supplied by the transport layer protocol."
+ DEFVAL { 64 }
+ ::= { ipv6MIBObjects 2 }
+
+ipv6Interfaces OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 interfaces (regardless of
+ their current state) present on this system."
+ ::= { ipv6MIBObjects 3 }
+
+ipv6IfTableLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the last
+ insertion or removal of an entry in the
+ ipv6IfTable. If the number of entries has been
+ unchanged since the last re-initialization of
+ the local network management subsystem, then this
+ object contains a zero value."
+ ::= { ipv6MIBObjects 4 }
+
+-- the IPv6 Interfaces table
+
+ipv6IfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 Interfaces table contains information
+ on the entity's internetwork-layer interfaces.
+ An IPv6 interface constitutes a logical network
+ layer attachment to the layer immediately below
+
+ IPv6 including internet layer 'tunnels', such as
+ tunnels over IPv4 or IPv6 itself."
+ ::= { ipv6MIBObjects 5 }
+
+ ipv6IfEntry OBJECT-TYPE
+ SYNTAX Ipv6IfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface entry containing objects
+ about a particular IPv6 interface."
+ INDEX { ipv6IfIndex }
+ ::= { ipv6IfTable 1 }
+
+ Ipv6IfEntry ::= SEQUENCE {
+ ipv6IfIndex Ipv6IfIndex,
+ ipv6IfDescr DisplayString,
+ ipv6IfLowerLayer VariablePointer,
+ ipv6IfEffectiveMtu Unsigned32,
+ ipv6IfReasmMaxSize Unsigned32,
+ ipv6IfIdentifier Ipv6AddressIfIdentifier,
+ ipv6IfIdentifierLength INTEGER,
+ ipv6IfPhysicalAddress PhysAddress,
+ ipv6IfAdminStatus INTEGER,
+ ipv6IfOperStatus INTEGER,
+ ipv6IfLastChange TimeStamp
+ }
+
+ ipv6IfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique non-zero value identifying
+ the particular IPv6 interface."
+ ::= { ipv6IfEntry 1 }
+
+ ipv6IfDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A textual string containing information about the
+ interface. This string may be set by the network
+ management system."
+ ::= { ipv6IfEntry 2 }
+
+ ipv6IfLowerLayer OBJECT-TYPE
+ SYNTAX VariablePointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object identifies the protocol layer over
+ which this network interface operates. If this
+ network interface operates over the data-link
+ layer, then the value of this object refers to an
+ instance of ifIndex [6]. If this network interface
+ operates over an IPv4 interface, the value of this
+ object refers to an instance of ipAdEntAddr [3].
+
+ If this network interface operates over another
+ IPv6 interface, the value of this object refers to
+ an instance of ipv6IfIndex. If this network
+ interface is not currently operating over an active
+ protocol layer, then the value of this object
+ should be set to the OBJECT ID { 0 0 }."
+ ::= { ipv6IfEntry 3 }
+
+ ipv6IfEffectiveMtu OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv6 packet which can be
+ sent/received on the interface, specified in
+ octets."
+ ::= { ipv6IfEntry 4 }
+
+ ipv6IfReasmMaxSize OBJECT-TYPE
+ SYNTAX Unsigned32 (0..65535)
+ UNITS "octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The size of the largest IPv6 datagram which this
+ entity can re-assemble from incoming IPv6 fragmented
+ datagrams received on this interface."
+ ::= { ipv6IfEntry 5 }
+
+ ipv6IfIdentifier OBJECT-TYPE
+ SYNTAX Ipv6AddressIfIdentifier
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The Interface Identifier for this interface that
+
+ is (at least) unique on the link this interface is
+ attached to. The Interface Identifier is combined
+ with an address prefix to form an interface address.
+
+ By default, the Interface Identifier is autoconfigured
+ according to the rules of the link type this
+ interface is attached to."
+ ::= { ipv6IfEntry 6 }
+
+ ipv6IfIdentifierLength OBJECT-TYPE
+ SYNTAX INTEGER (0..64)
+ UNITS "bits"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The length of the Interface Identifier in bits."
+ ::= { ipv6IfEntry 7 }
+
+ ipv6IfPhysicalAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The interface's physical address. For example, for
+ an IPv6 interface attached to an 802.x link, this
+ object normally contains a MAC address. Note that
+ in some cases this address may differ from the
+ address of the interface's protocol sub-layer. The
+ interface's media-specific MIB must define the bit
+ and byte ordering and the format of the value of
+ this object. For interfaces which do not have such
+ an address (e.g., a serial line), this object should
+ contain an octet string of zero length."
+ ::= { ipv6IfEntry 8 }
+
+ipv6IfAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The desired state of the interface. When a managed
+ system initializes, all IPv6 interfaces start with
+ ipv6IfAdminStatus in the down(2) state. As a result
+ of either explicit management action or per
+ configuration information retained by the managed
+
+ system, ipv6IfAdminStatus is then changed to
+ the up(1) state (or remains in the down(2) state)."
+ ::= { ipv6IfEntry 9 }
+
+ipv6IfOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+
+ down(2),
+ noIfIdentifier(3), -- no interface identifier
+
+ -- status can not be
+ -- determined for some
+ unknown(4), -- reason
+
+ -- some component is
+ notPresent(5) -- missing
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current operational state of the interface.
+ The noIfIdentifier(3) state indicates that no valid
+ Interface Identifier is assigned to the interface.
+ This state usually indicates that the link-local
+ interface address failed Duplicate Address Detection.
+ If ipv6IfAdminStatus is down(2) then ipv6IfOperStatus
+ should be down(2). If ipv6IfAdminStatus is changed
+ to up(1) then ipv6IfOperStatus should change to up(1)
+ if the interface is ready to transmit and receive
+ network traffic; it should remain in the down(2) or
+ noIfIdentifier(3) state if and only if there is a
+ fault that prevents it from going to the up(1) state;
+ it should remain in the notPresent(5) state if
+ the interface has missing (typically, lower layer)
+ components."
+ ::= { ipv6IfEntry 10 }
+
+ipv6IfLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the interface
+ entered its current operational state. If the
+ current state was entered prior to the last
+ re-initialization of the local network management
+
+ subsystem, then this object contains a zero
+ value."
+ ::= { ipv6IfEntry 11 }
+
+ -- IPv6 Interface Statistics table
+
+ ipv6IfStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6IfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "IPv6 interface traffic statistics."
+ ::= { ipv6MIBObjects 6 }
+
+ ipv6IfStatsEntry OBJECT-TYPE
+ SYNTAX Ipv6IfStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface statistics entry containing objects
+ at a particular IPv6 interface."
+ AUGMENTS { ipv6IfEntry }
+ ::= { ipv6IfStatsTable 1 }
+
+ Ipv6IfStatsEntry ::= SEQUENCE {
+ ipv6IfStatsInReceives
+ Counter32,
+ ipv6IfStatsInHdrErrors
+ Counter32,
+ ipv6IfStatsInTooBigErrors
+ Counter32,
+ ipv6IfStatsInNoRoutes
+ Counter32,
+ ipv6IfStatsInAddrErrors
+ Counter32,
+ ipv6IfStatsInUnknownProtos
+ Counter32,
+ ipv6IfStatsInTruncatedPkts
+ Counter32,
+ ipv6IfStatsInDiscards
+ Counter32,
+ ipv6IfStatsInDelivers
+ Counter32,
+ ipv6IfStatsOutForwDatagrams
+ Counter32,
+ ipv6IfStatsOutRequests
+ Counter32,
+ ipv6IfStatsOutDiscards
+
+ Counter32,
+ ipv6IfStatsOutFragOKs
+ Counter32,
+ ipv6IfStatsOutFragFails
+ Counter32,
+ ipv6IfStatsOutFragCreates
+ Counter32,
+ ipv6IfStatsReasmReqds
+ Counter32,
+ ipv6IfStatsReasmOKs
+ Counter32,
+ ipv6IfStatsReasmFails
+ Counter32,
+ ipv6IfStatsInMcastPkts
+ Counter32,
+ ipv6IfStatsOutMcastPkts
+ Counter32
+ }
+
+ ipv6IfStatsInReceives OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of input datagrams received by
+ the interface, including those received in error."
+ ::= { ipv6IfStatsEntry 1 }
+
+ ipv6IfStatsInHdrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded due to
+ errors in their IPv6 headers, including version
+ number mismatch, other format errors, hop count
+ exceeded, errors discovered in processing their
+ IPv6 options, etc."
+ ::= { ipv6IfStatsEntry 2 }
+
+ ipv6IfStatsInTooBigErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams that could not be
+ forwarded because their size exceeded the link MTU
+ of outgoing interface."
+ ::= { ipv6IfStatsEntry 3 }
+
+ ipv6IfStatsInNoRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded because no
+ route could be found to transmit them to their
+ destination."
+ ::= { ipv6IfStatsEntry 4 }
+
+ ipv6IfStatsInAddrErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded because
+ the IPv6 address in their IPv6 header's destination
+ field was not a valid address to be received at
+ this entity. This count includes invalid
+ addresses (e.g., ::0) and unsupported addresses
+ (e.g., addresses with unallocated prefixes). For
+ entities which are not IPv6 routers and therefore
+ do not forward datagrams, this counter includes
+ datagrams discarded because the destination address
+ was not a local address."
+ ::= { ipv6IfStatsEntry 5 }
+
+ ipv6IfStatsInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of locally-addressed datagrams
+ received successfully but discarded because of an
+ unknown or unsupported protocol. This counter is
+ incremented at the interface to which these
+ datagrams were addressed which might not be
+ necessarily the input interface for some of
+ the datagrams."
+ ::= { ipv6IfStatsEntry 6 }
+
+ ipv6IfStatsInTruncatedPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input datagrams discarded because
+ datagram frame didn't carry enough data."
+ ::= { ipv6IfStatsEntry 7 }
+
+ ipv6IfStatsInDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of input IPv6 datagrams for which no
+ problems were encountered to prevent their
+ continued processing, but which were discarded
+ (e.g., for lack of buffer space). Note that this
+ counter does not include any datagrams discarded
+ while awaiting re-assembly."
+ ::= { ipv6IfStatsEntry 8 }
+
+ ipv6IfStatsInDelivers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of datagrams successfully
+ delivered to IPv6 user-protocols (including ICMP).
+ This counter is incremented at the interface to
+ which these datagrams were addressed which might
+ not be necessarily the input interface for some of
+ the datagrams."
+ ::= { ipv6IfStatsEntry 9 }
+
+ ipv6IfStatsOutForwDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagrams which this
+ entity received and forwarded to their final
+ destinations. In entities which do not act
+ as IPv6 routers, this counter will include
+ only those packets which were Source-Routed
+ via this entity, and the Source-Route
+ processing was successful. Note that for
+ a successfully forwarded datagram the counter
+ of the outgoing interface is incremented."
+ ::= { ipv6IfStatsEntry 10 }
+
+ ipv6IfStatsOutRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of IPv6 datagrams which local IPv6
+ user-protocols (including ICMP) supplied to IPv6 in
+ requests for transmission. Note that this counter
+ does not include any datagrams counted in
+ ipv6IfStatsOutForwDatagrams."
+ ::= { ipv6IfStatsEntry 11 }
+
+ ipv6IfStatsOutDiscards OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output IPv6 datagrams for which no
+ problem was encountered to prevent their
+ transmission to their destination, but which were
+ discarded (e.g., for lack of buffer space). Note
+ that this counter would include datagrams counted
+ in ipv6IfStatsOutForwDatagrams if any such packets
+ met this (discretionary) discard criterion."
+ ::= { ipv6IfStatsEntry 12 }
+
+ ipv6IfStatsOutFragOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 datagrams that have been
+ successfully fragmented at this output interface."
+ ::= { ipv6IfStatsEntry 13 }
+
+ ipv6IfStatsOutFragFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 datagrams that have been
+ discarded because they needed to be fragmented
+ at this output interface but could not be."
+ ::= { ipv6IfStatsEntry 14 }
+
+ ipv6IfStatsOutFragCreates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of output datagram fragments that have
+ been generated as a result of fragmentation at
+ this output interface."
+ ::= { ipv6IfStatsEntry 15 }
+
+ ipv6IfStatsReasmReqds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 fragments received which needed
+ to be reassembled at this interface. Note that this
+ counter is incremented at the interface to which
+ these fragments were addressed which might not
+ be necessarily the input interface for some of
+ the fragments."
+ ::= { ipv6IfStatsEntry 16 }
+
+ ipv6IfStatsReasmOKs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of IPv6 datagrams successfully
+ reassembled. Note that this counter is incremented
+ at the interface to which these datagrams were
+ addressed which might not be necessarily the input
+ interface for some of the fragments."
+ ::= { ipv6IfStatsEntry 17 }
+
+ ipv6IfStatsReasmFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of failures detected by the IPv6 re-
+ assembly algorithm (for whatever reason: timed
+ out, errors, etc.). Note that this is not
+ necessarily a count of discarded IPv6 fragments
+ since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments
+ by combining them as they are received.
+ This counter is incremented at the interface to which
+ these fragments were addressed which might not be
+ necessarily the input interface for some of the
+ fragments."
+ ::= { ipv6IfStatsEntry 18 }
+
+ ipv6IfStatsInMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of multicast packets received
+ by the interface"
+ ::= { ipv6IfStatsEntry 19 }
+
+ ipv6IfStatsOutMcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of multicast packets transmitted
+ by the interface"
+ ::= { ipv6IfStatsEntry 20 }
+
+ -- Address Prefix table
+
+ -- The IPv6 Address Prefix table contains information on
+ -- the entity's IPv6 Address Prefixes that are associated
+ -- with IPv6 interfaces.
+
+ ipv6AddrPrefixTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6AddrPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The list of IPv6 address prefixes of
+ IPv6 interfaces."
+ ::= { ipv6MIBObjects 7 }
+
+ ipv6AddrPrefixEntry OBJECT-TYPE
+ SYNTAX Ipv6AddrPrefixEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An interface entry containing objects of
+ a particular IPv6 address prefix."
+ INDEX { ipv6IfIndex,
+ ipv6AddrPrefix,
+ ipv6AddrPrefixLength }
+ ::= { ipv6AddrPrefixTable 1 }
+
+ Ipv6AddrPrefixEntry ::= SEQUENCE {
+
+ ipv6AddrPrefix Ipv6AddressPrefix,
+ ipv6AddrPrefixLength INTEGER (0..128),
+ ipv6AddrPrefixOnLinkFlag TruthValue,
+ ipv6AddrPrefixAutonomousFlag TruthValue,
+ ipv6AddrPrefixAdvPreferredLifetime Unsigned32,
+ ipv6AddrPrefixAdvValidLifetime Unsigned32
+ }
+
+ ipv6AddrPrefix OBJECT-TYPE
+ SYNTAX Ipv6AddressPrefix
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The prefix associated with the this interface."
+ ::= { ipv6AddrPrefixEntry 1 }
+
+ ipv6AddrPrefixLength OBJECT-TYPE
+ SYNTAX INTEGER (0..128)
+ UNITS "bits"
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The length of the prefix (in bits)."
+ ::= { ipv6AddrPrefixEntry 2 }
+
+ ipv6AddrPrefixOnLinkFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)', if this
+ prefix can be used for on-link determination
+ and the value 'false(2)' otherwise."
+ ::= { ipv6AddrPrefixEntry 3 }
+
+ ipv6AddrPrefixAutonomousFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Autonomous address configuration flag. When
+ true(1), indicates that this prefix can be used
+ for autonomous address configuration (i.e. can
+ be used to form a local interface address).
+ If false(2), it is not used to autoconfigure
+ a local interface address."
+ ::= { ipv6AddrPrefixEntry 4 }
+
+ ipv6AddrPrefixAdvPreferredLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "It is the length of time in seconds that this
+ prefix will remain preferred, i.e. time until
+ deprecation. A value of 4,294,967,295 represents
+ infinity.
+
+ The address generated from a deprecated prefix
+ should no longer be used as a source address in
+ new communications, but packets received on such
+ an interface are processed as expected."
+ ::= { ipv6AddrPrefixEntry 5 }
+
+ ipv6AddrPrefixAdvValidLifetime OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "It is the length of time in seconds that this
+ prefix will remain valid, i.e. time until
+ invalidation. A value of 4,294,967,295 represents
+ infinity.
+
+ The address generated from an invalidated prefix
+ should not appear as the destination or source
+ address of a packet."
+ ::= { ipv6AddrPrefixEntry 6 }
+
+ -- the IPv6 Address table
+
+ -- The IPv6 address table contains this node's IPv6
+ -- addressing information.
+
+ ipv6AddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6AddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of addressing information relevant to
+ this node's interface addresses."
+ ::= { ipv6MIBObjects 8 }
+
+ ipv6AddrEntry OBJECT-TYPE
+ SYNTAX Ipv6AddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The addressing information for one of this
+ node's interface addresses."
+ INDEX { ipv6IfIndex, ipv6AddrAddress }
+ ::= { ipv6AddrTable 1 }
+
+ Ipv6AddrEntry ::=
+ SEQUENCE {
+ ipv6AddrAddress Ipv6Address,
+ ipv6AddrPfxLength INTEGER,
+ ipv6AddrType INTEGER,
+ ipv6AddrAnycastFlag TruthValue,
+ ipv6AddrStatus INTEGER
+ }
+
+ ipv6AddrAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 address to which this entry's addressing
+ information pertains."
+ ::= { ipv6AddrEntry 1 }
+
+ ipv6AddrPfxLength OBJECT-TYPE
+ SYNTAX INTEGER(0..128)
+ UNITS "bits"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The length of the prefix (in bits) associated with
+ the IPv6 address of this entry."
+ ::= { ipv6AddrEntry 2 }
+
+ ipv6AddrType OBJECT-TYPE
+ SYNTAX INTEGER {
+ -- address has been formed
+ -- using stateless
+ stateless(1), -- autoconfiguration
+
+ -- address has been acquired
+ -- by stateful means
+ -- (e.g. DHCPv6, manual
+ stateful(2), -- configuration)
+
+ -- type can not be determined
+ unknown(3) -- for some reason.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of address. Note that 'stateless(1)'
+ refers to an address that was statelessly
+ autoconfigured; 'stateful(2)' refers to a address
+ which was acquired by via a stateful protocol
+ (e.g. DHCPv6, manual configuration)."
+ ::= { ipv6AddrEntry 3 }
+
+ ipv6AddrAnycastFlag OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object has the value 'true(1)', if this
+ address is an anycast address and the value
+ 'false(2)' otherwise."
+ ::= { ipv6AddrEntry 4 }
+
+ ipv6AddrStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ preferred(1),
+ deprecated(2),
+ invalid(3),
+ inaccessible(4),
+ unknown(5) -- status can not be determined
+ -- for some reason.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Address status. The preferred(1) state indicates
+ that this is a valid address that can appear as
+ the destination or source address of a packet.
+ The deprecated(2) state indicates that this is
+ a valid but deprecated address that should no longer
+ be used as a source address in new communications,
+ but packets addressed to such an address are
+ processed as expected. The invalid(3) state indicates
+ that this is not valid address which should not
+
+ appear as the destination or source address of
+ a packet. The inaccessible(4) state indicates that
+ the address is not accessible because the interface
+ to which this address is assigned is not operational."
+ ::= { ipv6AddrEntry 5 }
+
+ -- IPv6 Routing objects
+
+ ipv6RouteNumber OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current ipv6RouteTable entries.
+ This is primarily to avoid having to read
+ the table in order to determine this number."
+ ::= { ipv6MIBObjects 9 }
+
+ ipv6DiscardedRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of routing entries which were chosen
+ to be discarded even though they are valid. One
+ possible reason for discarding such an entry could
+ be to free-up buffer space for other routing
+ entries."
+ ::= { ipv6MIBObjects 10 }
+
+ -- IPv6 Routing table
+
+ ipv6RouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6RouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "IPv6 Routing table. This table contains
+ an entry for each valid IPv6 unicast route
+ that can be used for packet forwarding
+ determination."
+ ::= { ipv6MIBObjects 11 }
+
+ ipv6RouteEntry OBJECT-TYPE
+ SYNTAX Ipv6RouteEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A routing entry."
+ INDEX { ipv6RouteDest,
+ ipv6RoutePfxLength,
+ ipv6RouteIndex }
+ ::= { ipv6RouteTable 1 }
+
+ Ipv6RouteEntry ::= SEQUENCE {
+ ipv6RouteDest Ipv6Address,
+ ipv6RoutePfxLength INTEGER,
+ ipv6RouteIndex Unsigned32,
+ ipv6RouteIfIndex Ipv6IfIndexOrZero,
+ ipv6RouteNextHop Ipv6Address,
+ ipv6RouteType INTEGER,
+ ipv6RouteProtocol INTEGER,
+ ipv6RoutePolicy Integer32,
+ ipv6RouteAge Unsigned32,
+ ipv6RouteNextHopRDI Unsigned32,
+ ipv6RouteMetric Unsigned32,
+ ipv6RouteWeight Unsigned32,
+ ipv6RouteInfo RowPointer,
+ ipv6RouteValid TruthValue
+ }
+
+ ipv6RouteDest OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The destination IPv6 address of this route.
+ This object may not take a Multicast address
+ value."
+ ::= { ipv6RouteEntry 1 }
+
+ ipv6RoutePfxLength OBJECT-TYPE
+ SYNTAX INTEGER(0..128)
+ UNITS "bits"
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Indicates the prefix length of the destination
+ address."
+ ::= { ipv6RouteEntry 2 }
+
+ ipv6RouteIndex OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value which uniquely identifies the route
+ among the routes to the same network layer
+ destination. The way this value is chosen is
+ implementation specific but it must be unique for
+ ipv6RouteDest/ipv6RoutePfxLength pair and remain
+ constant for the life of the route."
+ ::= { ipv6RouteEntry 3 }
+
+ ipv6RouteIfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index value which uniquely identifies the local
+ interface through which the next hop of this
+ route should be reached. The interface identified
+ by a particular value of this index is the same
+ interface as identified by the same value of
+ ipv6IfIndex. For routes of the discard type this
+ value can be zero."
+ ::= { ipv6RouteEntry 4 }
+
+ ipv6RouteNextHop OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "On remote routes, the address of the next
+ system en route; otherwise, ::0
+ ('00000000000000000000000000000000'H in ASN.1
+ string representation)."
+ ::= { ipv6RouteEntry 5 }
+
+ ipv6RouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ -- an route indicating that
+ -- packets to destinations
+ -- matching this route are
+ discard(2), -- to be discarded
+
+ -- route to directly
+ local(3), -- connected (sub-)network
+
+ -- route to a remote
+
+ remote(4) -- destination
+
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of route. Note that 'local(3)' refers
+ to a route for which the next hop is the final
+ destination; 'remote(4)' refers to a route for
+ which the next hop is not the final
+ destination; 'discard(2)' refers to a route
+ indicating that packets to destinations matching
+ this route are to be discarded (sometimes called
+ black-hole route)."
+ ::= { ipv6RouteEntry 6 }
+
+ ipv6RouteProtocol OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ -- non-protocol information,
+ -- e.g., manually configured
+ local(2), -- entries
+
+ netmgmt(3), -- static route
+
+ -- obtained via Neighbor
+ -- Discovery protocol,
+ ndisc(4), -- e.g., result of Redirect
+
+ -- the following are all
+ -- dynamic routing protocols
+ rip(5), -- RIPng
+ ospf(6), -- Open Shortest Path First
+ bgp(7), -- Border Gateway Protocol
+ idrp(8), -- InterDomain Routing Protocol
+ igrp(9) -- InterGateway Routing Protocol
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The routing mechanism via which this route was
+ learned."
+ ::= { ipv6RouteEntry 7 }
+
+ ipv6RoutePolicy OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The general set of conditions that would cause the
+ selection of one multipath route (set of next hops
+ for a given destination) is referred to as 'policy'.
+ Unless the mechanism indicated by ipv6RouteProtocol
+ specified otherwise, the policy specifier is the
+ 8-bit Traffic Class field of the IPv6 packet header
+ that is zero extended at the left to a 32-bit value.
+
+ Protocols defining 'policy' otherwise must either
+ define a set of values which are valid for
+ this object or must implement an integer-
+ instanced policy table for which this object's
+ value acts as an index."
+ ::= { ipv6RouteEntry 8 }
+
+ ipv6RouteAge OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds since this route was last
+ updated or otherwise determined to be correct.
+ Note that no semantics of `too old' can be implied
+ except through knowledge of the routing protocol
+ by which the route was learned."
+ ::= { ipv6RouteEntry 9 }
+
+ ipv6RouteNextHopRDI OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Routing Domain ID of the Next Hop.
+ The semantics of this object are determined by
+ the routing-protocol specified in the route's
+ ipv6RouteProtocol value. When this object is
+ unknown or not relevant its value should be set
+ to zero."
+ ::= { ipv6RouteEntry 10 }
+
+ ipv6RouteMetric OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The routing metric for this route. The
+ semantics of this metric are determined by the
+ routing protocol specified in the route's
+ ipv6RouteProtocol value. When this is unknown
+ or not relevant to the protocol indicated by
+ ipv6RouteProtocol, the object value should be
+ set to its maximum value (4,294,967,295)."
+ ::= { ipv6RouteEntry 11 }
+
+ ipv6RouteWeight OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system internal weight value for this route.
+ The semantics of this value are determined by
+ the implementation specific rules. Generally,
+ within routes with the same ipv6RoutePolicy value,
+ the lower the weight value the more preferred is
+ the route."
+ ::= { ipv6RouteEntry 12 }
+
+ ipv6RouteInfo OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol which is responsible
+ for this route, as determined by the value
+ specified in the route's ipv6RouteProto value.
+ If this information is not present, its value
+ should be set to the OBJECT ID { 0 0 },
+ which is a syntactically valid object identifier,
+ and any implementation conforming to ASN.1
+ and the Basic Encoding Rules must be able to
+ generate and recognize this value."
+ ::= { ipv6RouteEntry 13 }
+
+ ipv6RouteValid OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Setting this object to the value 'false(2)' has
+ the effect of invalidating the corresponding entry
+ in the ipv6RouteTable object. That is, it
+ effectively disassociates the destination
+
+ identified with said entry from the route
+ identified with said entry. It is an
+ implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared
+ to receive tabular information from agents that
+ corresponds to entries not currently in use.
+ Proper interpretation of such entries requires
+ examination of the relevant ipv6RouteValid
+ object."
+ DEFVAL { true }
+ ::= { ipv6RouteEntry 14 }
+
+ -- IPv6 Address Translation table
+
+ ipv6NetToMediaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6NetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 Address Translation table used for
+ mapping from IPv6 addresses to physical addresses.
+
+ The IPv6 address translation table contain the
+ Ipv6Address to `physical' address equivalencies.
+ Some interfaces do not use translation tables
+ for determining address equivalencies; if all
+ interfaces are of this type, then the Address
+ Translation table is empty, i.e., has zero
+ entries."
+ ::= { ipv6MIBObjects 12 }
+
+ ipv6NetToMediaEntry OBJECT-TYPE
+ SYNTAX Ipv6NetToMediaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry contains one IPv6 address to `physical'
+ address equivalence."
+ INDEX { ipv6IfIndex,
+ ipv6NetToMediaNetAddress }
+ ::= { ipv6NetToMediaTable 1 }
+
+ Ipv6NetToMediaEntry ::= SEQUENCE {
+ ipv6NetToMediaNetAddress
+ Ipv6Address,
+ ipv6NetToMediaPhysAddress
+
+ PhysAddress,
+ ipv6NetToMediaType
+ INTEGER,
+ ipv6IfNetToMediaState
+ INTEGER,
+ ipv6IfNetToMediaLastUpdated
+ TimeStamp,
+ ipv6NetToMediaValid
+ TruthValue
+ }
+
+ ipv6NetToMediaNetAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The IPv6 Address corresponding to
+ the media-dependent `physical' address."
+ ::= { ipv6NetToMediaEntry 1 }
+
+ ipv6NetToMediaPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The media-dependent `physical' address."
+ ::= { ipv6NetToMediaEntry 2 }
+
+ ipv6NetToMediaType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ dynamic(2), -- dynamically resolved
+ static(3), -- statically configured
+ local(4) -- local interface
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the mapping. The 'dynamic(2)' type
+ indicates that the IPv6 address to physical
+ addresses mapping has been dynamically
+ resolved using the IPv6 Neighbor Discovery
+ protocol. The static(3)' types indicates that
+ the mapping has been statically configured.
+ The local(4) indicates that the mapping is
+ provided for an entity's own interface address."
+ ::= { ipv6NetToMediaEntry 3 }
+
+ipv6IfNetToMediaState OBJECT-TYPE
+ SYNTAX INTEGER {
+ reachable(1), -- confirmed reachability
+
+ stale(2), -- unconfirmed reachability
+
+ delay(3), -- waiting for reachability
+ -- confirmation before entering
+ -- the probe state
+
+ probe(4), -- actively probing
+
+ invalid(5), -- an invalidated mapping
+
+ unknown(6) -- state can not be determined
+ -- for some reason.
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Neighbor Unreachability Detection [8] state
+ for the interface when the address mapping in
+ this entry is used."
+ ::= { ipv6NetToMediaEntry 4 }
+
+ipv6IfNetToMediaLastUpdated OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this entry
+ was last updated. If this entry was updated prior
+ to the last re-initialization of the local network
+ management subsystem, then this object contains
+ a zero value."
+ ::= { ipv6NetToMediaEntry 5 }
+
+ ipv6NetToMediaValid OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Setting this object to the value 'false(2)' has
+ the effect of invalidating the corresponding entry
+ in the ipv6NetToMediaTable. That is, it effectively
+ disassociates the interface identified with said
+ entry from the mapping identified with said entry.
+ It is an implementation-specific matter as to
+
+ whether the agent removes an invalidated entry
+ from the table. Accordingly, management stations
+ must be prepared to receive tabular information
+ from agents that corresponds to entries not
+ currently in use. Proper interpretation of such
+ entries requires examination of the relevant
+ ipv6NetToMediaValid object."
+ DEFVAL { true }
+ ::= { ipv6NetToMediaEntry 6 }
+
+-- definition of IPv6-related notifications.
+-- Note that we need ipv6NotificationPrefix with the 0
+-- sub-identifier to make this MIB to translate to
+-- an SNMPv1 format in a reversible way. For example
+-- it is needed for proxies that convert SNMPv1 traps
+-- to SNMPv2 notifications without MIB knowledge.
+
+ipv6Notifications OBJECT IDENTIFIER
+ ::= { ipv6MIB 2 }
+ipv6NotificationPrefix OBJECT IDENTIFIER
+ ::= { ipv6Notifications 0 }
+
+ipv6IfStateChange NOTIFICATION-TYPE
+ OBJECTS {
+ ipv6IfDescr,
+ ipv6IfOperStatus -- the new state of the If.
+ }
+ STATUS current
+ DESCRIPTION
+ "An ipv6IfStateChange notification signifies
+ that there has been a change in the state of
+ an ipv6 interface. This notification should
+ be generated when the interface's operational
+ status transitions to or from the up(1) state."
+ ::= { ipv6NotificationPrefix 1 }
+
+-- conformance information
+
+ipv6Conformance OBJECT IDENTIFIER ::= { ipv6MIB 3 }
+
+ipv6Compliances OBJECT IDENTIFIER ::= { ipv6Conformance 1 }
+ipv6Groups OBJECT IDENTIFIER ::= { ipv6Conformance 2 }
+
+-- compliance statements
+
+ipv6Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement ipv6 MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6GeneralGroup,
+ ipv6NotificationGroup }
+ OBJECT ipv6Forwarding
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6DefaultHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6IfDescr
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6IfIdentifier
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6IfIdentifierLength
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+
+ OBJECT ipv6IfAdminStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6RouteValid
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+ access to this object"
+ OBJECT ipv6NetToMediaValid
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "An agent is not required to provide write
+
+ access to this object"
+ ::= { ipv6Compliances 1 }
+
+ipv6GeneralGroup OBJECT-GROUP
+ OBJECTS { ipv6Forwarding,
+ ipv6DefaultHopLimit,
+ ipv6Interfaces,
+ ipv6IfTableLastChange,
+ ipv6IfDescr,
+ ipv6IfLowerLayer,
+ ipv6IfEffectiveMtu,
+ ipv6IfReasmMaxSize,
+ ipv6IfIdentifier,
+ ipv6IfIdentifierLength,
+ ipv6IfPhysicalAddress,
+ ipv6IfAdminStatus,
+ ipv6IfOperStatus,
+ ipv6IfLastChange,
+ ipv6IfStatsInReceives,
+ ipv6IfStatsInHdrErrors,
+ ipv6IfStatsInTooBigErrors,
+ ipv6IfStatsInNoRoutes,
+ ipv6IfStatsInAddrErrors,
+ ipv6IfStatsInUnknownProtos,
+ ipv6IfStatsInTruncatedPkts,
+ ipv6IfStatsInDiscards,
+ ipv6IfStatsInDelivers,
+ ipv6IfStatsOutForwDatagrams,
+ ipv6IfStatsOutRequests,
+ ipv6IfStatsOutDiscards,
+ ipv6IfStatsOutFragOKs,
+ ipv6IfStatsOutFragFails,
+ ipv6IfStatsOutFragCreates,
+ ipv6IfStatsReasmReqds,
+ ipv6IfStatsReasmOKs,
+ ipv6IfStatsReasmFails,
+ ipv6IfStatsInMcastPkts,
+ ipv6IfStatsOutMcastPkts,
+ ipv6AddrPrefixOnLinkFlag,
+ ipv6AddrPrefixAutonomousFlag,
+ ipv6AddrPrefixAdvPreferredLifetime,
+ ipv6AddrPrefixAdvValidLifetime,
+ ipv6AddrPfxLength,
+ ipv6AddrType,
+ ipv6AddrAnycastFlag,
+ ipv6AddrStatus,
+ ipv6RouteNumber,
+ ipv6DiscardedRoutes,
+ ipv6RouteIfIndex,
+ ipv6RouteNextHop,
+ ipv6RouteType,
+ ipv6RouteProtocol,
+ ipv6RoutePolicy,
+ ipv6RouteAge,
+ ipv6RouteNextHopRDI,
+ ipv6RouteMetric,
+ ipv6RouteWeight,
+ ipv6RouteInfo,
+ ipv6RouteValid,
+ ipv6NetToMediaPhysAddress,
+ ipv6NetToMediaType,
+ ipv6IfNetToMediaState,
+ ipv6IfNetToMediaLastUpdated,
+ ipv6NetToMediaValid }
+ STATUS current
+ DESCRIPTION
+ "The IPv6 group of objects providing for basic
+ management of IPv6 entities."
+ ::= { ipv6Groups 1 }
+
+ipv6NotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { ipv6IfStateChange }
+ STATUS current
+ DESCRIPTION
+ "The notification that an IPv6 entity is required
+ to implement."
+ ::= { ipv6Groups 2 }
+
+ END
diff --git a/mibs/IPV6-TC.txt b/mibs/IPV6-TC.txt
new file mode 100644
index 00000000..05e1e7d9
--- /dev/null
+++ b/mibs/IPV6-TC.txt
@@ -0,0 +1,67 @@
+IPV6-TC DEFINITIONS ::= BEGIN
+
+IMPORTS
+ Integer32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+-- definition of textual conventions
+Ipv6Address ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 addresses.
+ This is a binary string of 16 octets in network
+ byte-order."
+ SYNTAX OCTET STRING (SIZE (16))
+
+Ipv6AddressPrefix ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 address
+ prefixes. This is a binary string of up to 16
+ octets in network byte-order."
+ SYNTAX OCTET STRING (SIZE (0..16))
+
+Ipv6AddressIfIdentifier ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2x:"
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model IPv6 address
+ interface identifiers. This is a binary string
+ of up to 8 octets in network byte-order."
+ SYNTAX OCTET STRING (SIZE (0..8))
+
+Ipv6IfIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero for each
+ internetwork-layer interface in the managed
+ system. It is recommended that values are assigned
+ contiguously starting from 1. The value for each
+ internetwork-layer interface must remain constant
+ at least from one re-initialization of the entity's
+ network management system to the next
+
+ re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+Ipv6IfIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ Ipv6IfIndex convention. The latter defines
+ a greater than zero value used to identify an IPv6
+ interface in the managed system. This extension
+ permits the additional value of zero. The value
+ zero is object-specific and must therefore be
+ defined as part of the description of any object
+ which uses this syntax. Examples of the usage of
+ zero might include situations where interface was
+ unknown, or when none or all interfaces need to be
+ referenced."
+ SYNTAX Integer32 (0..2147483647)
+
+END
diff --git a/mibs/IPV6-TCP-MIB.txt b/mibs/IPV6-TCP-MIB.txt
new file mode 100644
index 00000000..a2fb857c
--- /dev/null
+++ b/mibs/IPV6-TCP-MIB.txt
@@ -0,0 +1,211 @@
+IPV6-TCP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ mib-2, experimental FROM SNMPv2-SMI
+ Ipv6Address, Ipv6IfIndexOrZero FROM IPV6-TC;
+
+ipv6TcpMIB MODULE-IDENTITY
+ LAST-UPDATED "9801290000Z"
+ ORGANIZATION "IETF IPv6 MIB Working Group"
+ CONTACT-INFO
+ " Mike Daniele
+
+ Postal: Compaq Computer Corporation
+ 110 Spitbrook Rd
+ Nashua, NH 03062.
+ US
+
+ Phone: +1 603 884 1423
+ Email: daniele@zk3.dec.com"
+ DESCRIPTION
+ "The MIB module for entities implementing TCP over IPv6."
+ ::= { experimental 86 }
+
+-- objects specific to TCP for IPv6
+
+tcp OBJECT IDENTIFIER ::= { mib-2 6 }
+
+-- the TCP over IPv6 Connection table
+
+-- This connection table contains information about this
+-- entity's existing TCP connections between IPv6 endpoints.
+-- Only connections between IPv6 addresses are contained in
+-- this table. This entity's connections between IPv4
+-- endpoints are contained in tcpConnTable.
+
+ipv6TcpConnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing TCP connection-specific information,
+ for only those connections whose endpoints are IPv6 addresses."
+ ::= { tcp 16 }
+
+ipv6TcpConnEntry OBJECT-TYPE
+ SYNTAX Ipv6TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row of the ipv6TcpConnTable containing
+ information about a particular current TCP connection.
+ Each row of this table is transient, in that it ceases to
+ exist when (or soon after) the connection makes the transition
+ to the CLOSED state.
+
+ Note that conceptual rows in this table require an additional
+ index object compared to tcpConnTable, since IPv6 addresses
+ are not guaranteed to be unique on the managed node."
+ INDEX { ipv6TcpConnLocalAddress,
+ ipv6TcpConnLocalPort,
+ ipv6TcpConnRemAddress,
+ ipv6TcpConnRemPort,
+ ipv6TcpConnIfIndex }
+ ::= { ipv6TcpConnTable 1 }
+
+Ipv6TcpConnEntry ::=
+ SEQUENCE { ipv6TcpConnLocalAddress Ipv6Address,
+ ipv6TcpConnLocalPort INTEGER (0..65535),
+ ipv6TcpConnRemAddress Ipv6Address,
+ ipv6TcpConnRemPort INTEGER (0..65535),
+ ipv6TcpConnIfIndex Ipv6IfIndexOrZero,
+ ipv6TcpConnState INTEGER }
+
+ipv6TcpConnLocalAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IPv6 address for this TCP connection. In
+ the case of a connection in the listen state which
+ is willing to accept connections for any IPv6
+ address associated with the managed node, the value
+ ::0 is used."
+ ::= { ipv6TcpConnEntry 1 }
+
+ipv6TcpConnLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { ipv6TcpConnEntry 2 }
+
+ipv6TcpConnRemAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote IPv6 address for this TCP connection."
+ ::= { ipv6TcpConnEntry 3 }
+
+ipv6TcpConnRemPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { ipv6TcpConnEntry 4 }
+
+ipv6TcpConnIfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index object used to disambiguate conceptual rows in
+ the table, since the connection 4-tuple may not be unique.
+
+ If the connection's remote address (ipv6TcpConnRemAddress)
+ is a link-local address and the connection's local address
+
+ (ipv6TcpConnLocalAddress) is not a link-local address, this
+ object identifies a local interface on the same link as
+ the connection's remote link-local address.
+
+ Otherwise, this object identifies the local interface that
+ is associated with the ipv6TcpConnLocalAddress for this
+ TCP connection. If such a local interface cannot be determined,
+ this object should take on the value 0. (A possible example
+ of this would be if the value of ipv6TcpConnLocalAddress is ::0.)
+
+ The interface identified by a particular non-0 value of this
+ index is the same interface as identified by the same value
+ of ipv6IfIndex.
+
+ The value of this object must remain constant during the life
+ of the TCP connection."
+ ::= { ipv6TcpConnEntry 5 }
+
+ipv6TcpConnState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The only value which may be set by a management station is
+ deleteTCB(12). Accordingly, it is appropriate for an agent
+ to return an error response (`badValue' for SNMPv1, 'wrongValue'
+ for SNMPv2) if a management station attempts to set this
+ object to any other value.
+
+ If a management station sets this object to the value
+ deleteTCB(12), then this has the effect of deleting the TCB
+ (as defined in RFC 793) of the corresponding connection on
+ the managed node, resulting in immediate termination of the
+ connection.
+
+ As an implementation-specific option, a RST segment may be
+ sent from the managed node to the other TCP endpoint (note
+ however that RST segments are not sent reliably)."
+ ::= { ipv6TcpConnEntry 6 }
+
+--
+-- conformance information
+--
+
+ipv6TcpConformance OBJECT IDENTIFIER ::= { ipv6TcpMIB 2 }
+
+ipv6TcpCompliances OBJECT IDENTIFIER ::= { ipv6TcpConformance 1 }
+ipv6TcpGroups OBJECT IDENTIFIER ::= { ipv6TcpConformance 2 }
+
+-- compliance statements
+
+ipv6TcpCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement TCP over IPv6."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6TcpGroup }
+ ::= { ipv6TcpCompliances 1 }
+
+ipv6TcpGroup OBJECT-GROUP
+ OBJECTS { -- these are defined in this module
+ -- ipv6TcpConnLocalAddress (not-accessible)
+ -- ipv6TcpConnLocalPort (not-accessible)
+ -- ipv6TcpConnRemAddress (not-accessible)
+ -- ipv6TcpConnRemPort (not-accessible)
+ -- ipv6TcpConnIfIndex (not-accessible)
+ ipv6TcpConnState }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing management of
+ TCP over IPv6."
+ ::= { ipv6TcpGroups 1 }
+
+END
diff --git a/mibs/IPV6-UDP-MIB.txt b/mibs/IPV6-UDP-MIB.txt
new file mode 100644
index 00000000..6c929eb7
--- /dev/null
+++ b/mibs/IPV6-UDP-MIB.txt
@@ -0,0 +1,141 @@
+IPV6-UDP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ mib-2, experimental FROM SNMPv2-SMI
+ Ipv6Address, Ipv6IfIndexOrZero FROM IPV6-TC;
+
+ipv6UdpMIB MODULE-IDENTITY
+ LAST-UPDATED "9801290000Z"
+ ORGANIZATION "IETF IPv6 MIB Working Group"
+ CONTACT-INFO
+ " Mike Daniele
+
+ Postal: Compaq Computer Corporation
+ 110 Spitbrook Rd
+ Nashua, NH 03062.
+ US
+
+ Phone: +1 603 884 1423
+ Email: daniele@zk3.dec.com"
+ DESCRIPTION
+ "The MIB module for entities implementing UDP over IPv6."
+ ::= { experimental 87 }
+
+-- objects specific to UDP for IPv6
+
+udp OBJECT IDENTIFIER ::= { mib-2 7 }
+
+-- the UDP over IPv6 Listener table
+
+-- This table contains information about this entity's
+-- UDP/IPv6 endpoints. Only endpoints utilizing IPv6 addresses
+-- are contained in this table. This entity's UDP/IPv4 endpoints
+-- are contained in udpTable.
+
+ipv6UdpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Ipv6UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing UDP listener information for
+ UDP/IPv6 endpoints."
+ ::= { udp 6 }
+
+ipv6UdpEntry OBJECT-TYPE
+ SYNTAX Ipv6UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular current UDP listener.
+
+ Note that conceptual rows in this table require an
+ additional index object compared to udpTable, since
+ IPv6 addresses are not guaranteed to be unique on the
+ managed node."
+ INDEX { ipv6UdpLocalAddress,
+ ipv6UdpLocalPort,
+ ipv6UdpIfIndex }
+ ::= { ipv6UdpTable 1 }
+
+Ipv6UdpEntry ::= SEQUENCE {
+ ipv6UdpLocalAddress Ipv6Address,
+ ipv6UdpLocalPort INTEGER (0..65535),
+ ipv6UdpIfIndex Ipv6IfIndexOrZero }
+
+ipv6UdpLocalAddress OBJECT-TYPE
+ SYNTAX Ipv6Address
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IPv6 address for this UDP listener.
+ In the case of a UDP listener which is willing
+ to accept datagrams for any IPv6 address
+ associated with the managed node, the value ::0
+ is used."
+ ::= { ipv6UdpEntry 1 }
+
+ipv6UdpLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this UDP listener."
+ ::= { ipv6UdpEntry 2 }
+
+ipv6UdpIfIndex OBJECT-TYPE
+ SYNTAX Ipv6IfIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index object used to disambiguate conceptual rows in
+ the table, since the ipv6UdpLocalAddress/ipv6UdpLocalPort
+ pair may not be unique.
+
+ This object identifies the local interface that is
+ associated with ipv6UdpLocalAddress for this UDP listener.
+ If such a local interface cannot be determined, this object
+ should take on the value 0. (A possible example of this
+ would be if the value of ipv6UdpLocalAddress is ::0.)
+
+ The interface identified by a particular non-0 value of
+ this index is the same interface as identified by the same
+ value of ipv6IfIndex.
+
+ The value of this object must remain constant during
+ the life of this UDP endpoint."
+ ::= { ipv6UdpEntry 3 }
+
+--
+-- conformance information
+--
+
+ipv6UdpConformance OBJECT IDENTIFIER ::= { ipv6UdpMIB 2 }
+
+ipv6UdpCompliances OBJECT IDENTIFIER ::= { ipv6UdpConformance 1 }
+ipv6UdpGroups OBJECT IDENTIFIER ::= { ipv6UdpConformance 2 }
+
+-- compliance statements
+
+ipv6UdpCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement UDP over IPv6."
+ MODULE -- this module
+ MANDATORY-GROUPS { ipv6UdpGroup }
+ ::= { ipv6UdpCompliances 1 }
+
+ipv6UdpGroup OBJECT-GROUP
+ OBJECTS { -- these are defined in this module
+ -- ipv6UdpLocalAddress (not-accessible)
+ -- ipv6UdpLocalPort (not-accessible)
+ ipv6UdpIfIndex }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing management of
+ UDP over IPv6."
+ ::= { ipv6UdpGroups 1 }
+
+END
diff --git a/mibs/MTA-MIB.txt b/mibs/MTA-MIB.txt
new file mode 100644
index 00000000..29618adc
--- /dev/null
+++ b/mibs/MTA-MIB.txt
@@ -0,0 +1,1226 @@
+MTA-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ OBJECT-TYPE, Counter32, Gauge32, MODULE-IDENTITY, mib-2
+ FROM SNMPv2-SMI
+ TimeInterval
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+ applIndex, URLString
+ FROM NETWORK-SERVICES-MIB;
+
+mta MODULE-IDENTITY
+ LAST-UPDATED "200003030000Z"
+ ORGANIZATION "IETF Mail and Directory Management Working Group"
+ CONTACT-INFO
+ " Ned Freed
+
+ Postal: Innosoft International, Inc.
+ 1050 Lakes Drive
+ West Covina, CA 91790
+ US
+
+ Tel: +1 626 919 3600
+ Fax: +1 626 919 3614
+
+ E-Mail: ned.freed@innosoft.com"
+ DESCRIPTION
+ "The MIB module describing Message Transfer Agents (MTAs)"
+ REVISION "200003030000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2789, changes a number of
+ DisplayStrings to SnmpAdminStrings. Note that this change
+
+ is not strictly supported by SMIv2. However, the alternative
+ of deprecating the old objects and defining new objects
+ would have a more adverse impact on backward compatibility
+ and interoperability, given the particular semantics of
+ these objects. The defining reference for distinguished
+ names has also been updated from RFC 1779 to RFC 2253."
+ REVISION "199905120000Z"
+ DESCRIPTION
+ "This revision fixes a number of technical problems found in
+ previous versions: The conformance groups for different
+ versions of this MIB have been corrected, the recommendation
+ that an empty string be returned if the last operation was
+ successful has been removed from
+ mtaGroupInboundRejectionReason and
+ mtaGroupOutboundConnectFailureReason as it conflicts
+ with the stated purpose of these variables, and the
+ required mtaStatusCode entry has been added to
+ MtaGroupErrorEntry. It should be noted that this last
+ change in no way affects the bits on the wire."
+ REVISION "199708170000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2249, adds the
+ mtaGroupDescription and mtaGroupURL fields, conversion
+ operation counters, a group hierarchy description mechanism,
+ counters for specific errors, oldest message IDs, per-MTA
+ and per-group loop counters, and a new table for tracking
+ any errors an MTA encounters."
+ REVISION "199311280000Z"
+ DESCRIPTION
+ "The original version of this MIB was published in RFC 1566"
+ ::= {mib-2 28}
+
+mtaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information specific to an MTA."
+ ::= {mta 1}
+
+mtaEntry OBJECT-TYPE
+ SYNTAX MtaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry associated with each MTA."
+ INDEX {applIndex}
+ ::= {mtaTable 1}
+
+MtaEntry ::= SEQUENCE {
+ mtaReceivedMessages
+ Counter32,
+ mtaStoredMessages
+ Gauge32,
+ mtaTransmittedMessages
+ Counter32,
+ mtaReceivedVolume
+ Counter32,
+ mtaStoredVolume
+ Gauge32,
+ mtaTransmittedVolume
+ Counter32,
+ mtaReceivedRecipients
+ Counter32,
+ mtaStoredRecipients
+ Gauge32,
+ mtaTransmittedRecipients
+ Counter32,
+ mtaSuccessfulConvertedMessages
+ Counter32,
+ mtaFailedConvertedMessages
+ Counter32,
+ mtaLoopsDetected
+ Counter32
+}
+
+mtaReceivedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages received since MTA initialization.
+ This includes messages transmitted to this MTA from other
+ MTAs as well as messages that have been submitted to the
+ MTA directly by end-users or applications."
+ ::= {mtaEntry 1}
+
+mtaStoredMessages OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages currently stored in the MTA.
+ This includes messages that are awaiting transmission to
+ some other MTA or are waiting for delivery to an end-user
+ or application."
+ ::= {mtaEntry 2}
+
+mtaTransmittedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages transmitted since MTA initialization.
+ This includes messages that were transmitted to some other
+ MTA or are waiting for delivery to an end-user or
+ application."
+ ::= {mtaEntry 3}
+
+mtaReceivedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages received since MTA
+ initialization, measured in kilo-octets. This volume should
+ include all transferred data that is logically above the mail
+ transport protocol level. For example, an SMTP-based MTA
+ should use the number of kilo-octets in the message header
+ and body, while an X.400-based MTA should use the number of
+ kilo-octets of P2 data. This includes messages transmitted
+ to this MTA from other MTAs as well as messages that have
+ been submitted to the MTA directly by end-users or
+ applications."
+ ::= {mtaEntry 4}
+
+mtaStoredVolume OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages currently stored in the MTA,
+ measured in kilo-octets. This volume should include all
+ stored data that is logically above the mail transport
+ protocol level. For example, an SMTP-based MTA should
+ use the number of kilo-octets in the message header and
+ body, while an X.400-based MTA would use the number of
+ kilo-octets of P2 data. This includes messages that are
+ awaiting transmission to some other MTA or are waiting
+ for delivery to an end-user or application."
+ ::= {mtaEntry 5}
+
+mtaTransmittedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages transmitted since MTA
+ initialization, measured in kilo-octets. This volume should
+ include all transferred data that is logically above the mail
+ transport protocol level. For example, an SMTP-based MTA
+ should use the number of kilo-octets in the message header
+ and body, while an X.400-based MTA should use the number of
+ kilo-octets of P2 data. This includes messages that were
+ transmitted to some other MTA or are waiting for delivery
+ to an end-user or application."
+ ::= {mtaEntry 6}
+
+mtaReceivedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ received since MTA initialization. Recipients this MTA
+ has no responsibility for, i.e. inactive envelope
+ recipients or ones referred to in message headers,
+ should not be counted even if information about such
+ recipients is available. This includes messages
+ transmitted to this MTA from other MTAs as well as
+ messages that have been submitted to the MTA directly
+ by end-users or applications."
+ ::= {mtaEntry 7}
+
+mtaStoredRecipients OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ currently stored in the MTA. Recipients this MTA has no
+ responsibility for, i.e. inactive envelope recipients or
+ ones referred to in message headers, should not be
+ counted. This includes messages that are awaiting
+ transmission to some other MTA or are waiting for
+ delivery to an end-user or application."
+ ::= {mtaEntry 8}
+
+mtaTransmittedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ transmitted since MTA initialization. Recipients this
+ MTA had no responsibility for, i.e. inactive envelope
+ recipients or ones referred to in message headers,
+ should not be counted. This includes messages that were
+ transmitted to some other MTA or are waiting for
+ delivery to an end-user or application."
+ ::= {mtaEntry 9}
+
+mtaSuccessfulConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages that have been successfully
+ converted from one form to another since MTA
+ initialization."
+ ::= {mtaEntry 10}
+
+mtaFailedConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages for which an unsuccessful
+ attempt was made to convert them from one form to
+ another since MTA initialization."
+ ::= {mtaEntry 11}
+
+mtaLoopsDetected OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A message loop is defined as a situation where the MTA
+ decides that a given message will never be delivered to
+ one or more recipients and instead will continue to
+ loop endlessly through one or more MTAs. This variable
+ counts the number of times the MTA has detected such a
+ situation since MTA initialization. Note that the
+ mechanism MTAs use to detect loops (e.g., trace field
+ counting, count of references to this MTA in a trace
+ field, examination of DNS or other directory information,
+ etc.), the level at which loops are detected (e.g., per
+ message, per recipient, per directory entry, etc.), and
+ the handling of a loop once it is detected (e.g., looping
+
+ messages are held, looping messages are bounced or sent
+ to the postmaster, messages that the MTA knows will loop
+ won't be accepted, etc.) vary widely from one MTA to the
+ next and cannot be inferred from this variable."
+ ::= {mtaEntry 12}
+
+-- MTAs typically group inbound reception, queue storage, and
+-- outbound transmission in some way, rather than accounting for
+-- such operations only across the MTA as a whole. In the most
+-- extreme case separate information will be maintained for each
+-- different entity that receives messages and for each entity
+-- the MTA stores messages for and delivers messages to. Other
+-- MTAs may elect to treat all reception equally, all queue
+-- storage equally, all deliveries equally, or some combination
+-- of this. Overlapped groupings are also possible, where an MTA
+-- decomposes its traffic in different ways for different
+-- purposes.
+
+-- In any case, a grouping abstraction is an extremely useful for
+-- breaking down the activities of an MTA. For purposes of
+-- labelling this will be called a "group" in this MIB.
+
+-- Each group contains all the variables needed to monitor all
+-- aspects of an MTA's operation. However, the fact that all
+-- groups contain all possible variables does not imply that all
+-- groups must use all possible variables. For example, a single
+-- group might be used to monitor only one kind of event (inbound
+-- processing, outbound processing, or storage). In this sort of
+-- configuration any counters that are unused as a result of a
+-- given MTA's use of the group construct must be inaccessible;
+-- e.g., returning either a noSuchName error (for an SNMPv1 get),
+-- or a noSuchInstance exception (for an SNMPv2 get).
+
+-- Groups can be created at any time after MTA initialization. Once
+-- a group is created it should not be deleted or its mtaGroupIndex
+-- changed unless the MTA is reinitialized.
+
+-- Groups are not necessarily mutually exclusive. A given event may
+-- be recorded by more than one group, a message may be seen as
+-- stored by more than one group, and so on. Groups should be all
+-- inclusive, however: if groups are implemented all aspects of an
+-- MTA's operation should be registered in at least one group.
+-- This freedom lets implementors use different sets of groups to
+-- provide different "views" of an MTA.
+
+-- The possibility of overlap between groups means that summing
+-- variables across groups may not produce values equal to those in
+-- the mtaTable. mtaTable should always provide accurate information
+
+-- about the MTA as a whole.
+
+-- The term "channel" is often used in MTA implementations; channels
+-- are usually, but not always, equivalent to a group. However,
+-- this MIB does not use the term "channel" because there is no
+-- requirement that an MTA supporting this MIB has to map its
+-- "channel" abstraction one-to-one onto the MIB's group abstraction.
+
+-- An MTA may create a group or group of groups at any time. Once
+-- created, however, an MTA cannot delete an entry for a group from
+-- the group table. Deletion is only allowed when the MTA is
+-- reinitialized, and is not required even then. This restriction
+-- is imposed so that monitoring agents can rely on group
+-- assignments being consistent across multiple query operations.
+
+-- Groups may be laid out so as to form a hierarchical arrangement,
+-- with some groups acting as subgroups for other groups.
+-- Alternately, disjoint groups of groups may be used to provide
+-- different sorts of "snapshots" of MTA operation. The
+-- mtaGroupHierarchy variable provides an indication of how each
+-- group fits into the overall arrangement being used.
+
+-- Note that SNMP also defines and uses term "group". MTA groups are
+-- NOT the same as SNMP groups.
+
+mtaGroupTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information specific to each MTA group."
+ ::= {mta 2}
+
+mtaGroupEntry OBJECT-TYPE
+ SYNTAX MtaGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry associated with each MTA group."
+ INDEX {applIndex, mtaGroupIndex}
+ ::= {mtaGroupTable 1}
+
+MtaGroupEntry ::= SEQUENCE {
+ mtaGroupIndex
+ INTEGER,
+ mtaGroupReceivedMessages
+ Counter32,
+ mtaGroupRejectedMessages
+
+ Counter32,
+ mtaGroupStoredMessages
+ Gauge32,
+ mtaGroupTransmittedMessages
+ Counter32,
+ mtaGroupReceivedVolume
+ Counter32,
+ mtaGroupStoredVolume
+ Gauge32,
+ mtaGroupTransmittedVolume
+ Counter32,
+ mtaGroupReceivedRecipients
+ Counter32,
+ mtaGroupStoredRecipients
+ Gauge32,
+ mtaGroupTransmittedRecipients
+ Counter32,
+ mtaGroupOldestMessageStored
+ TimeInterval,
+ mtaGroupInboundAssociations
+ Gauge32,
+ mtaGroupOutboundAssociations
+ Gauge32,
+ mtaGroupAccumulatedInboundAssociations
+ Counter32,
+ mtaGroupAccumulatedOutboundAssociations
+ Counter32,
+ mtaGroupLastInboundActivity
+ TimeInterval,
+ mtaGroupLastOutboundActivity
+ TimeInterval,
+ mtaGroupLastOutboundAssociationAttempt
+ TimeInterval,
+ mtaGroupRejectedInboundAssociations
+ Counter32,
+ mtaGroupFailedOutboundAssociations
+ Counter32,
+ mtaGroupInboundRejectionReason
+ SnmpAdminString,
+ mtaGroupOutboundConnectFailureReason
+ SnmpAdminString,
+ mtaGroupScheduledRetry
+ TimeInterval,
+ mtaGroupMailProtocol
+ OBJECT IDENTIFIER,
+ mtaGroupName
+ SnmpAdminString,
+ mtaGroupSuccessfulConvertedMessages
+
+ Counter32,
+ mtaGroupFailedConvertedMessages
+ Counter32,
+ mtaGroupDescription
+ SnmpAdminString,
+ mtaGroupURL
+ URLString,
+ mtaGroupCreationTime
+ TimeInterval,
+ mtaGroupHierarchy
+ INTEGER,
+ mtaGroupOldestMessageId
+ SnmpAdminString,
+ mtaGroupLoopsDetected
+ Counter32
+}
+
+mtaGroupIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The index associated with a group for a given MTA."
+ ::= {mtaGroupEntry 1}
+
+mtaGroupReceivedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages received to this group since
+ group creation."
+ ::= {mtaGroupEntry 2}
+
+mtaGroupRejectedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages rejected by this group since
+ group creation."
+ ::= {mtaGroupEntry 3}
+
+mtaGroupStoredMessages OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages currently stored in this
+ group's queue."
+ ::= {mtaGroupEntry 4}
+
+mtaGroupTransmittedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages transmitted by this group since
+ group creation."
+ ::= {mtaGroupEntry 5}
+
+mtaGroupReceivedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages received to this group since
+ group creation, measured in kilo-octets. This volume
+ should include all transferred data that is logically above
+ the mail transport protocol level. For example, an
+ SMTP-based MTA should use the number of kilo-octets in the
+ message header and body, while an X.400-based MTA should use
+ the number of kilo-octets of P2 data."
+ ::= {mtaGroupEntry 6}
+
+mtaGroupStoredVolume OBJECT-TYPE
+ SYNTAX Gauge32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages currently stored in this
+ group's queue, measured in kilo-octets. This volume should
+ include all stored data that is logically above the mail
+ transport protocol level. For example, an SMTP-based
+ MTA should use the number of kilo-octets in the message
+ header and body, while an X.400-based MTA would use the
+ number of kilo-octets of P2 data."
+ ::= {mtaGroupEntry 7}
+
+mtaGroupTransmittedVolume OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "K-octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total volume of messages transmitted by this group
+ since group creation, measured in kilo-octets. This
+ volume should include all transferred data that is logically
+ above the mail transport protocol level. For example, an
+ SMTP-based MTA should use the number of kilo-octets in the
+ message header and body, while an X.400-based MTA should use
+ the number of kilo-octets of P2 data."
+ ::= {mtaGroupEntry 8}
+
+mtaGroupReceivedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ received to this group since group creation.
+ Recipients this MTA has no responsibility for should not
+ be counted."
+ ::= {mtaGroupEntry 9}
+
+mtaGroupStoredRecipients OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ currently stored in this group's queue. Recipients this
+ MTA has no responsibility for should not be counted."
+ ::= {mtaGroupEntry 10}
+
+mtaGroupTransmittedRecipients OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of recipients specified in all messages
+ transmitted by this group since group creation.
+ Recipients this MTA had no responsibility for should not
+ be counted."
+ ::= {mtaGroupEntry 11}
+
+mtaGroupOldestMessageStored OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the oldest message in this group's queue was
+
+ placed in the queue."
+ ::= {mtaGroupEntry 12}
+
+mtaGroupInboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the group, where the
+ group is the responder."
+ ::= {mtaGroupEntry 13}
+
+mtaGroupOutboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the group, where the
+ group is the initiator."
+ ::= {mtaGroupEntry 14}
+
+mtaGroupAccumulatedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations to the group since
+ group creation, where the MTA was the responder."
+ ::= {mtaGroupEntry 15}
+
+mtaGroupAccumulatedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations from the group since
+ group creation, where the MTA was the initiator."
+ ::= {mtaGroupEntry 16}
+
+mtaGroupLastInboundActivity OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the last time that this group had an active
+ inbound association for purposes of message reception."
+ ::= {mtaGroupEntry 17}
+
+mtaGroupLastOutboundActivity OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the last time that this group had a
+ successful outbound association for purposes of
+ message delivery."
+ ::= {mtaGroupEntry 18}
+
+mtaGroupLastOutboundAssociationAttempt OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since the last time that this group attempted
+ to make an outbound association for purposes of
+ message delivery."
+ ::= {mtaGroupEntry 34}
+
+mtaGroupRejectedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of inbound associations the group has
+ rejected, since group creation. Rejected associations
+ are not counted in the accumulated association totals."
+ ::= {mtaGroupEntry 19}
+
+mtaGroupFailedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number associations where the group was the
+ initiator and association establishment has failed,
+ since group creation. Failed associations are
+ not counted in the accumulated association totals."
+ ::= {mtaGroupEntry 20}
+
+mtaGroupInboundRejectionReason OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The failure reason, if any, for the last association this
+ group refused to respond to. If no association attempt
+
+ has been made since the MTA was initialized the value
+ should be 'never'."
+ ::= {mtaGroupEntry 21}
+
+mtaGroupOutboundConnectFailureReason OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The failure reason, if any, for the last association attempt
+ this group initiated. If no association attempt has been
+ made since the MTA was initialized the value should be
+ 'never'."
+ ::= {mtaGroupEntry 22}
+
+mtaGroupScheduledRetry OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of time until this group is next scheduled to
+ attempt to make an association."
+ ::= {mtaGroupEntry 23}
+
+mtaGroupMailProtocol OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An identification of the protocol being used by this group.
+ For an group employing OSI protocols, this will be the
+ Application Context. For Internet applications, OID
+ values of the form {applTCPProtoID port} or {applUDPProtoID
+ port} are used for TCP-based and UDP-based protocols,
+ respectively. In either case 'port' corresponds to the
+ primary port number being used by the protocol. The
+ usual IANA procedures may be used to register ports for
+ new protocols. applTCPProtoID and applUDPProtoID are
+ defined in the NETWORK-SERVICES-MIB, RFC 2788."
+ ::= {mtaGroupEntry 24}
+
+mtaGroupName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A descriptive name for the group. If this group connects to
+ a single remote MTA this should be the name of that MTA. If
+
+ this in turn is an Internet MTA this should be the domain
+ name. For an OSI MTA it should be the string encoded
+ distinguished name of the managed object using the format
+ defined in RFC 2253. For X.400(1984) MTAs which do not
+ have a Distinguished Name, the RFC 2156 syntax
+ 'mta in globalid' used in X400-Received: fields can be
+ used."
+ ::= {mtaGroupEntry 25}
+
+mtaGroupSuccessfulConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages that have been successfully
+ converted from one form to another in this group
+ since group creation."
+ ::= {mtaGroupEntry 26}
+
+mtaGroupFailedConvertedMessages OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of messages for which an unsuccessful
+ attempt was made to convert them from one form to
+ another in this group since group creation."
+ ::= {mtaGroupEntry 27}
+
+mtaGroupDescription OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A description of the group's purpose. This information is
+ intended to identify the group in a status display."
+ ::= {mtaGroupEntry 28}
+
+mtaGroupURL OBJECT-TYPE
+ SYNTAX URLString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A URL pointing to a description of the group. This
+ information is intended to identify and briefly describe
+ the group in a status display."
+ ::= {mtaGroupEntry 29}
+
+mtaGroupCreationTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Time since this group was first created."
+ ::= {mtaGroupEntry 30}
+
+mtaGroupHierarchy OBJECT-TYPE
+ SYNTAX INTEGER (-2147483648..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Describes how this group fits into the hierarchy. A
+ positive value is interpreted as an mtaGroupIndex
+ value for some other group whose variables include
+ those of this group (and usually others). A negative
+ value is interpreted as a group collection code: Groups
+ with common negative hierarchy values comprise one
+ particular breakdown of MTA activity as a whole. A
+ zero value means that this MIB implementation doesn't
+ implement hierarchy indicators and thus the overall
+ group hierarchy cannot be determined."
+ ::= {mtaGroupEntry 31}
+
+mtaGroupOldestMessageId OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Message ID of the oldest message in the group's queue.
+ Whenever possible this should be in the form of an
+ RFC 822 msg-id; X.400 may convert X.400 message
+ identifiers to this form by following the rules laid
+ out in RFC2156."
+ ::= {mtaGroupEntry 32}
+
+mtaGroupLoopsDetected OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A message loop is defined as a situation where the MTA
+ decides that a given message will never be delivered to
+ one or more recipients and instead will continue to
+ loop endlessly through one or more MTAs. This variable
+ counts the number of times the MTA has detected such a
+ situation in conjunction with something associated with
+
+ this group since group creation. Note that the
+ mechanism MTAs use to detect loops (e.g., trace field
+ counting, count of references to this MTA in a trace
+ field, examination of DNS or other directory information,
+ etc.), the level at which loops are detected (e.g., per
+ message, per recipient, per directory entry, etc.), and
+ the handling of a loop once it is detected (e.g., looping
+ messages are held, looping messages are bounced or sent
+ to the postmaster, messages that the MTA knows will loop
+ won't be accepted, etc.) vary widely from one MTA to the
+ next and cannot be inferred from this variable."
+ ::= {mtaGroupEntry 33}
+
+-- The mtaGroupAssociationTable provides a means of correlating
+-- entries in the network services association table with the
+-- MTA group responsible for the association.
+
+mtaGroupAssociationTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaGroupAssociationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information regarding the associations
+ for each MTA group."
+ ::= {mta 3}
+
+mtaGroupAssociationEntry OBJECT-TYPE
+ SYNTAX MtaGroupAssociationEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry holding information regarding the associations
+ for each MTA group."
+ INDEX {applIndex, mtaGroupIndex, mtaGroupAssociationIndex}
+ ::= {mtaGroupAssociationTable 1}
+
+MtaGroupAssociationEntry ::= SEQUENCE {
+ mtaGroupAssociationIndex
+ INTEGER
+}
+
+mtaGroupAssociationIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Reference into association table to allow correlation of
+ this group's active associations with the association table."
+ ::= {mtaGroupAssociationEntry 1}
+
+-- The mtaGroupErrorTable gives each group a way of tallying
+-- the specific errors it has encountered. The mechanism
+-- defined here uses RFC 1893 status codes to identify
+-- various specific errors. There are also classes for generic
+-- errors of various sorts, and the entire mechanism is also
+-- extensible, in that new error codes can be defined at any
+-- time.
+
+mtaGroupErrorTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MtaGroupErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding information regarding accumulated errors
+ for each MTA group."
+ ::= {mta 5}
+
+mtaGroupErrorEntry OBJECT-TYPE
+ SYNTAX MtaGroupErrorEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The entry holding information regarding accumulated
+ errors for each MTA group."
+ INDEX {applIndex, mtaGroupIndex, mtaStatusCode}
+ ::= {mtaGroupErrorTable 1}
+
+MtaGroupErrorEntry ::= SEQUENCE {
+ mtaStatusCode
+ INTEGER (4000000..5999999),
+ mtaGroupInboundErrorCount
+ Counter32,
+ mtaGroupInternalErrorCount
+ Counter32,
+ mtaGroupOutboundErrorCount
+ Counter32
+}
+
+mtaGroupInboundErrorCount OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of the number of errors of a given type that have
+ been accumulated in association with a particular group
+ while processing incoming messages. In the case of SMTP
+
+ these will typically be errors reporting by an SMTP
+ server to the remote client; in the case of X.400
+ these will typically be errors encountered while
+ processing an incoming message."
+ ::= {mtaGroupErrorEntry 1}
+
+mtaGroupInternalErrorCount OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of the number of errors of a given type that have
+ been accumulated in association with a particular group
+ during internal MTA processing."
+ ::= {mtaGroupErrorEntry 2}
+
+mtaGroupOutboundErrorCount OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Count of the number of errors of a given type that have
+ been accumulated in association with a particular group's
+ outbound connection activities. In the case of an SMTP
+ client these will typically be errors reported while
+ attempting to contact or while communicating with the
+ remote SMTP server. In the case of X.400 these will
+ typically be errors encountered while constructing
+ or attempting to deliver an outgoing message."
+ ::= {mtaGroupErrorEntry 3}
+
+mtaStatusCode OBJECT-TYPE
+ SYNTAX INTEGER (4000000..5999999)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index capable of representing an Enhanced Mail System
+ Status Code. Enhanced Mail System Status Codes are
+ defined in RFC 1893. These codes have the form
+
+ class.subject.detail
+
+ Here 'class' is either 2, 4, or 5 and both 'subject' and
+ 'detail' are integers in the range 0..999. Given a status
+ code the corresponding index value is defined to be
+ ((class * 1000) + subject) * 1000 + detail. Both SMTP
+ error response codes and X.400 reason and diagnostic codes
+ can be mapped into these codes, resulting in a namespace
+
+ capable of describing most error conditions a mail system
+ encounters in a generic yet detailed way."
+ ::= {mtaGroupErrorEntry 4}
+
+-- Conformance information
+
+mtaConformance OBJECT IDENTIFIER ::= {mta 4}
+
+mtaGroups OBJECT IDENTIFIER ::= {mtaConformance 1}
+mtaCompliances OBJECT IDENTIFIER ::= {mtaConformance 2}
+
+-- Compliance statements
+
+mtaCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 1566 implementations
+ which support the Mail Monitoring MIB for basic
+ monitoring of MTAs."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC1566Group}
+ ::= {mtaCompliances 1}
+
+mtaAssocCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 1566 implementations
+ which support the Mail Monitoring MIB for monitoring
+ of MTAs and their associations."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC1566Group, mtaRFC1566AssocGroup}
+ ::= {mtaCompliances 2}
+
+mtaRFC2249Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+ which support the Mail Monitoring MIB for basic
+ monitoring of MTAs."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group}
+ ::= {mtaCompliances 5}
+
+mtaRFC2249AssocCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and their associations."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249AssocGroup}
+ ::= {mtaCompliances 6}
+
+mtaRFC2249ErrorCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249ErrorGroup}
+ ::= {mtaCompliances 7}
+
+mtaRFC2249FullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2249 implementations
+ which support the full Mail Monitoring MIB for
+ monitoring of MTAs, associations, and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2249Group, mtaRFC2249AssocGroup,
+ mtaRFC2249ErrorGroup}
+ ::= {mtaCompliances 8}
+
+mtaRFC2789Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the Mail Monitoring MIB for basic
+ monitoring of MTAs."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group}
+ ::= {mtaCompliances 9}
+
+mtaRFC2789AssocCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and their associations."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789AssocGroup}
+ ::= {mtaCompliances 10}
+
+mtaRFC2789ErrorCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the Mail Monitoring MIB for monitoring of
+ MTAs and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789ErrorGroup}
+ ::= {mtaCompliances 11}
+
+mtaRFC2789FullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2789 implementations
+ which support the full Mail Monitoring MIB for
+ monitoring of MTAs, associations, and detailed errors."
+ MODULE -- this module
+ MANDATORY-GROUPS {mtaRFC2789Group, mtaRFC2789AssocGroup,
+ mtaRFC2789ErrorGroup}
+ ::= {mtaCompliances 12}
+
+-- Units of conformance
+
+mtaRFC1566Group OBJECT-GROUP
+ OBJECTS {
+ mtaReceivedMessages, mtaStoredMessages,
+ mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume,
+ mtaTransmittedVolume, mtaReceivedRecipients,
+ mtaStoredRecipients, mtaTransmittedRecipients,
+ mtaGroupReceivedMessages, mtaGroupRejectedMessages,
+ mtaGroupStoredMessages, mtaGroupTransmittedMessages,
+ mtaGroupReceivedVolume, mtaGroupStoredVolume,
+ mtaGroupTransmittedVolume, mtaGroupReceivedRecipients,
+ mtaGroupStoredRecipients, mtaGroupTransmittedRecipients,
+ mtaGroupOldestMessageStored, mtaGroupInboundAssociations,
+ mtaGroupOutboundAssociations,
+ mtaGroupAccumulatedInboundAssociations,
+ mtaGroupAccumulatedOutboundAssociations,
+ mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity,
+ mtaGroupRejectedInboundAssociations,
+ mtaGroupFailedOutboundAssociations,
+ mtaGroupInboundRejectionReason,
+ mtaGroupOutboundConnectFailureReason,
+ mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of MTAs.
+ This is the original set of such objects defined in RFC
+ 1566."
+ ::= {mtaGroups 10}
+
+mtaRFC1566AssocGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupAssociationIndex}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of MTA
+ associations. This is the original set of such objects
+ defined in RFC 1566."
+ ::= {mtaGroups 11}
+
+mtaRFC2249Group OBJECT-GROUP
+ OBJECTS {
+ mtaReceivedMessages, mtaStoredMessages,
+ mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume,
+ mtaTransmittedVolume, mtaReceivedRecipients,
+ mtaStoredRecipients, mtaTransmittedRecipients,
+ mtaSuccessfulConvertedMessages, mtaFailedConvertedMessages,
+ mtaGroupReceivedMessages, mtaGroupRejectedMessages,
+ mtaGroupStoredMessages, mtaGroupTransmittedMessages,
+ mtaGroupReceivedVolume, mtaGroupStoredVolume,
+ mtaGroupTransmittedVolume, mtaGroupReceivedRecipients,
+ mtaGroupStoredRecipients, mtaGroupTransmittedRecipients,
+ mtaGroupOldestMessageStored, mtaGroupInboundAssociations,
+ mtaGroupOutboundAssociations, mtaLoopsDetected,
+ mtaGroupAccumulatedInboundAssociations,
+ mtaGroupAccumulatedOutboundAssociations,
+ mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity,
+ mtaGroupLastOutboundAssociationAttempt,
+ mtaGroupRejectedInboundAssociations,
+ mtaGroupFailedOutboundAssociations,
+ mtaGroupInboundRejectionReason,
+ mtaGroupOutboundConnectFailureReason,
+ mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName,
+ mtaGroupSuccessfulConvertedMessages,
+ mtaGroupFailedConvertedMessages, mtaGroupDescription,
+ mtaGroupURL, mtaGroupCreationTime, mtaGroupHierarchy,
+ mtaGroupOldestMessageId, mtaGroupLoopsDetected}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of MTAs.
+ This group was originally defined in RFC 2249."
+ ::= {mtaGroups 4}
+
+mtaRFC2249AssocGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupAssociationIndex}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of MTA
+ associations. This group was originally defined in RFC
+ 2249."
+ ::= {mtaGroups 5}
+
+mtaRFC2249ErrorGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupInboundErrorCount, mtaGroupInternalErrorCount,
+ mtaGroupOutboundErrorCount}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of
+ detailed MTA errors. This group was originally defined
+ in RFC 2249."
+ ::= {mtaGroups 6}
+
+mtaRFC2789Group OBJECT-GROUP
+ OBJECTS {
+ mtaReceivedMessages, mtaStoredMessages,
+ mtaTransmittedMessages, mtaReceivedVolume, mtaStoredVolume,
+ mtaTransmittedVolume, mtaReceivedRecipients,
+ mtaStoredRecipients, mtaTransmittedRecipients,
+ mtaSuccessfulConvertedMessages, mtaFailedConvertedMessages,
+ mtaGroupReceivedMessages, mtaGroupRejectedMessages,
+ mtaGroupStoredMessages, mtaGroupTransmittedMessages,
+ mtaGroupReceivedVolume, mtaGroupStoredVolume,
+ mtaGroupTransmittedVolume, mtaGroupReceivedRecipients,
+ mtaGroupStoredRecipients, mtaGroupTransmittedRecipients,
+ mtaGroupOldestMessageStored, mtaGroupInboundAssociations,
+ mtaGroupOutboundAssociations, mtaLoopsDetected,
+ mtaGroupAccumulatedInboundAssociations,
+ mtaGroupAccumulatedOutboundAssociations,
+ mtaGroupLastInboundActivity, mtaGroupLastOutboundActivity,
+ mtaGroupLastOutboundAssociationAttempt,
+ mtaGroupRejectedInboundAssociations,
+ mtaGroupFailedOutboundAssociations,
+ mtaGroupInboundRejectionReason,
+ mtaGroupOutboundConnectFailureReason,
+ mtaGroupScheduledRetry, mtaGroupMailProtocol, mtaGroupName,
+ mtaGroupSuccessfulConvertedMessages,
+ mtaGroupFailedConvertedMessages, mtaGroupDescription,
+ mtaGroupURL, mtaGroupCreationTime, mtaGroupHierarchy,
+ mtaGroupOldestMessageId, mtaGroupLoopsDetected}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of MTAs.
+
+ This is the appropriate group for RFC 2789."
+ ::= {mtaGroups 7}
+
+mtaRFC2789AssocGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupAssociationIndex}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of MTA
+ associations. This is the appropriate group for RFC
+ 2789 association monitoring."
+ ::= {mtaGroups 8}
+
+mtaRFC2789ErrorGroup OBJECT-GROUP
+ OBJECTS {
+ mtaGroupInboundErrorCount, mtaGroupInternalErrorCount,
+ mtaGroupOutboundErrorCount}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing monitoring of
+ detailed MTA errors. This is the appropriate group
+ for RFC 2789 error monitoring."
+ ::= {mtaGroups 9}
+
+END
diff --git a/mibs/NETWORK-SERVICES-MIB.txt b/mibs/NETWORK-SERVICES-MIB.txt
new file mode 100644
index 00000000..0f2cabec
--- /dev/null
+++ b/mibs/NETWORK-SERVICES-MIB.txt
@@ -0,0 +1,626 @@
+NETWORK-SERVICES-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ OBJECT-TYPE, Counter32, Gauge32, MODULE-IDENTITY, mib-2
+ FROM SNMPv2-SMI
+ TimeStamp, TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+application MODULE-IDENTITY
+ LAST-UPDATED "200003030000Z"
+ ORGANIZATION "IETF Mail and Directory Management Working Group"
+
+ CONTACT-INFO
+ " Ned Freed
+
+ Postal: Innosoft International, Inc.
+ 1050 Lakes Drive
+ West Covina, CA 91790
+ US
+
+ Tel: +1 626 919 3600
+ Fax: +1 626 919 3614
+
+ E-Mail: ned.freed@innosoft.com"
+ DESCRIPTION
+ "The MIB module describing network service applications"
+ REVISION "200003030000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2788, changes a number of
+ DisplayStrings to SnmpAdminStrings. Note that this change
+ is not strictly supported by SMIv2. However, the alternative
+ of deprecating the old objects and defining new objects
+ would have a more adverse impact on backward compatibility
+ and interoperability, given the particular semantics of
+ these objects. The defining reference for distinguished
+ names has also been updated from RFC 1779 to RFC 2253."
+ REVISION "199905120000Z"
+ DESCRIPTION
+ "This revision fixes a few small technical problems found
+ in previous versions, mostly in regards to the conformance
+ groups for different versions of this MIB. No changes have
+ been made to the objects this MIB defines since RFC 2248."
+ REVISION "199708170000Z"
+ DESCRIPTION
+ "This revision, published in RFC 2248, adds the
+ applDescription and applURL objects, adds the quiescing
+ state to the applOperStatus object and renames the MIB
+ from the APPLICATION-MIB to the NETWORK-SERVICE-MIB."
+ REVISION "199311280000Z"
+ DESCRIPTION
+ "The original version of this MIB was published in RFC 1565"
+ ::= {mib-2 27}
+
+-- Textual conventions
+
+-- DistinguishedName is used to refer to objects in the
+-- directory.
+
+DistinguishedName ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "A Distinguished Name represented in accordance with
+ RFC 2253, presented in the UTF-8 charset defined in
+ RFC 2279."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+-- Uniform Resource Locators are stored in URLStrings.
+
+URLString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "A Uniform Resource Locator represented in accordance
+ with RFCs 1738 and 2368, presented in the NVT ASCII
+ charset defined in RFC 854."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+-- The basic applTable contains a list of the application
+-- entities.
+
+applTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ApplEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding objects which apply to all different
+ kinds of applications providing network services.
+ Each network service application capable of being
+ monitored should have a single entry in this table."
+ ::= {application 1}
+
+applEntry OBJECT-TYPE
+ SYNTAX ApplEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry associated with a single network service
+ application."
+ INDEX {applIndex}
+ ::= {applTable 1}
+
+ApplEntry ::= SEQUENCE {
+ applIndex
+ INTEGER,
+ applName
+ SnmpAdminString,
+ applDirectoryName
+
+ DistinguishedName,
+ applVersion
+ SnmpAdminString,
+ applUptime
+ TimeStamp,
+ applOperStatus
+ INTEGER,
+ applLastChange
+ TimeStamp,
+ applInboundAssociations
+ Gauge32,
+ applOutboundAssociations
+ Gauge32,
+ applAccumulatedInboundAssociations
+ Counter32,
+ applAccumulatedOutboundAssociations
+ Counter32,
+ applLastInboundActivity
+ TimeStamp,
+ applLastOutboundActivity
+ TimeStamp,
+ applRejectedInboundAssociations
+ Counter32,
+ applFailedOutboundAssociations
+ Counter32,
+ applDescription
+ SnmpAdminString,
+ applURL
+ URLString
+}
+
+applIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index to uniquely identify the network service
+ application. This attribute is the index used for
+ lexicographic ordering of the table."
+ ::= {applEntry 1}
+
+applName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name the network service application chooses to be
+ known by."
+ ::= {applEntry 2}
+
+applDirectoryName OBJECT-TYPE
+ SYNTAX DistinguishedName
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Distinguished Name of the directory entry where
+ static information about this application is stored.
+ An empty string indicates that no information about
+ the application is available in the directory."
+ ::= {applEntry 3}
+
+applVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The version of network service application software.
+ This field is usually defined by the vendor of the
+ network service application software."
+ ::= {applEntry 4}
+applUptime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the network service
+ application was last initialized. If the application was
+ last initialized prior to the last initialization of the
+ network management subsystem, then this object contains
+ a zero value."
+ ::= {applEntry 5}
+
+applOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ down(2),
+ halted(3),
+ congested(4),
+ restarting(5),
+ quiescing(6)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the operational status of the network service
+ application. 'down' indicates that the network service is
+
+ not available. 'up' indicates that the network service
+ is operational and available. 'halted' indicates that the
+ service is operational but not available. 'congested'
+ indicates that the service is operational but no additional
+ inbound associations can be accommodated. 'restarting'
+ indicates that the service is currently unavailable but is
+ in the process of restarting and will be available soon.
+ 'quiescing' indicates that service is currently operational
+ but is in the process of shutting down. Additional inbound
+ associations may be rejected by applications in the
+ 'quiescing' state."
+ ::= {applEntry 6}
+
+applLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time the network service
+ application entered its current operational state. If
+ the current state was entered prior to the last
+ initialization of the local network management subsystem,
+ then this object contains a zero value."
+ ::= {applEntry 7}
+
+applInboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the network service
+ application, where it is the responder. An inbound
+ association occurs when another application successfully
+ connects to this one."
+ ::= {applEntry 8}
+
+applOutboundAssociations OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of current associations to the network service
+ application, where it is the initiator. An outbound
+ association occurs when this application successfully
+ connects to another one."
+ ::= {applEntry 9}
+
+applAccumulatedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations to the application entity
+ since application initialization, where it was the responder."
+ ::= {applEntry 10}
+
+applAccumulatedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of associations to the application entity
+ since application initialization, where it was the initiator."
+ ::= {applEntry 11}
+
+applLastInboundActivity OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this application last
+ had an inbound association. If the last association
+ occurred prior to the last initialization of the network
+ subsystem, then this object contains a zero value."
+ ::= {applEntry 12}
+
+applLastOutboundActivity OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this application last
+ had an outbound association. If the last association
+ occurred prior to the last initialization of the network
+ subsystem, then this object contains a zero value."
+ ::= {applEntry 13}
+
+applRejectedInboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of inbound associations the application
+ entity has rejected, since application initialization.
+ Rejected associations are not counted in the accumulated
+ association totals. Note that this only counts
+
+ associations the application entity has rejected itself;
+ it does not count rejections that occur at lower layers
+ of the network. Thus, this counter may not reflect the
+ true number of failed inbound associations."
+ ::= {applEntry 14}
+
+applFailedOutboundAssociations OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number associations where the application entity
+ is initiator and association establishment has failed,
+ since application initialization. Failed associations are
+ not counted in the accumulated association totals."
+ ::= {applEntry 15}
+
+applDescription OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A text description of the application. This information
+ is intended to identify and briefly describe the
+ application in a status display."
+ ::= {applEntry 16}
+
+applURL OBJECT-TYPE
+ SYNTAX URLString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A URL pointing to a description of the application.
+ This information is intended to identify and describe
+ the application in a status display."
+ ::= {applEntry 17}
+
+-- The assocTable augments the information in the applTable
+-- with information about associations. Note that two levels
+-- of compliance are specified below, depending on whether
+-- association monitoring is mandated.
+
+assocTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table holding a set of all active application
+
+ associations."
+ ::= {application 2}
+
+assocEntry OBJECT-TYPE
+ SYNTAX AssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry associated with an association for a network
+ service application."
+ INDEX {applIndex, assocIndex}
+ ::= {assocTable 1}
+
+AssocEntry ::= SEQUENCE {
+ assocIndex
+ INTEGER,
+ assocRemoteApplication
+ SnmpAdminString,
+ assocApplicationProtocol
+ OBJECT IDENTIFIER,
+ assocApplicationType
+ INTEGER,
+ assocDuration
+ TimeStamp
+}
+
+assocIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An index to uniquely identify each association for a network
+ service application. This attribute is the index that is
+ used for lexicographic ordering of the table. Note that the
+ table is also indexed by the applIndex."
+ ::= {assocEntry 1}
+
+assocRemoteApplication OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name of the system running remote network service
+ application. For an IP-based application this should be
+ either a domain name or IP address. For an OSI application
+ it should be the string encoded distinguished name of the
+ managed object. For X.400(1984) MTAs which do not have a
+ Distinguished Name, the RFC 2156 syntax 'mta in
+
+ globalid' used in X400-Received: fields can be used. Note,
+ however, that not all connections an MTA makes are
+ necessarily to another MTA."
+ ::= {assocEntry 2}
+
+assocApplicationProtocol OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An identification of the protocol being used for the
+ application. For an OSI Application, this will be the
+ Application Context. For Internet applications, OID
+ values of the form {applTCPProtoID port} or {applUDPProtoID
+ port} are used for TCP-based and UDP-based protocols,
+ respectively. In either case 'port' corresponds to the
+ primary port number being used by the protocol. The
+ usual IANA procedures may be used to register ports for
+ new protocols."
+ ::= {assocEntry 3}
+
+assocApplicationType OBJECT-TYPE
+ SYNTAX INTEGER {
+ uainitiator(1),
+ uaresponder(2),
+ peerinitiator(3),
+ peerresponder(4)}
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This indicates whether the remote application is some type of
+ client making use of this network service (e.g., a Mail User
+ Agent) or a server acting as a peer. Also indicated is whether
+ the remote end initiated an incoming connection to the network
+ service or responded to an outgoing connection made by the
+ local application. MTAs and messaging gateways are
+ considered to be peers for the purposes of this variable."
+ ::= {assocEntry 4}
+
+assocDuration OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this association was
+ started. If this association started prior to the last
+ initialization of the network subsystem, then this
+ object contains a zero value."
+ ::= {assocEntry 5}
+
+-- Conformance information
+
+applConformance OBJECT IDENTIFIER ::= {application 3}
+
+applGroups OBJECT IDENTIFIER ::= {applConformance 1}
+applCompliances OBJECT IDENTIFIER ::= {applConformance 2}
+
+-- Compliance statements
+
+applCompliance MODULE-COMPLIANCE
+ STATUS obsolete
+ DESCRIPTION
+ "The compliance statement for RFC 1565 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications.
+ This is the basic compliance statement for RFC 1565."
+ MODULE
+ MANDATORY-GROUPS {applRFC1565Group}
+ ::= {applCompliances 1}
+
+assocCompliance MODULE-COMPLIANCE
+ STATUS obsolete
+ DESCRIPTION
+ "The compliance statement for RFC 1565 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications
+ and their associations."
+ MODULE
+ MANDATORY-GROUPS {applRFC1565Group, assocRFC1565Group}
+ ::= {applCompliances 2}
+
+applRFC2248Compliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for RFC 2248 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications."
+ MODULE
+ MANDATORY-GROUPS {applRFC2248Group}
+ ::= {applCompliances 3}
+
+assocRFC2248Compliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for RFC 2248 implementations
+
+ which support the Network Services Monitoring MIB for
+ basic monitoring of network service applications and
+ their associations."
+ MODULE
+ MANDATORY-GROUPS {applRFC2248Group, assocRFC2248Group}
+ ::= {applCompliances 4}
+
+applRFC2788Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2788 implementations
+ which support the Network Services Monitoring MIB
+ for basic monitoring of network service applications."
+ MODULE
+ MANDATORY-GROUPS {applRFC2788Group}
+ ::= {applCompliances 5}
+
+assocRFC2788Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for RFC 2788 implementations
+ which support the Network Services Monitoring MIB for
+ basic monitoring of network service applications and
+ their associations."
+ MODULE
+ MANDATORY-GROUPS {applRFC2788Group, assocRFC2788Group}
+ ::= {applCompliances 6}
+
+-- Units of conformance
+
+applRFC1565Group OBJECT-GROUP
+ OBJECTS {
+ applName, applVersion, applUptime, applOperStatus,
+ applLastChange, applInboundAssociations,
+ applOutboundAssociations, applAccumulatedInboundAssociations,
+ applAccumulatedOutboundAssociations, applLastInboundActivity,
+ applLastOutboundActivity, applRejectedInboundAssociations,
+ applFailedOutboundAssociations}
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications. This is the original set
+ of such objects defined in RFC 1565."
+ ::= {applGroups 7}
+
+assocRFC1565Group OBJECT-GROUP
+ OBJECTS {
+
+ assocRemoteApplication, assocApplicationProtocol,
+ assocApplicationType, assocDuration}
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications' associations. This is the
+ original set of such objects defined in RFC 1565."
+ ::= {applGroups 2}
+
+applRFC2248Group OBJECT-GROUP
+ OBJECTS {
+ applName, applVersion, applUptime, applOperStatus,
+ applLastChange, applInboundAssociations,
+ applOutboundAssociations, applAccumulatedInboundAssociations,
+ applAccumulatedOutboundAssociations, applLastInboundActivity,
+ applLastOutboundActivity, applRejectedInboundAssociations,
+ applFailedOutboundAssociations, applDescription, applURL}
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications. This group was originally
+ defined in RFC 2248; note that applDirectoryName is
+ missing."
+ ::= {applGroups 3}
+
+assocRFC2248Group OBJECT-GROUP
+ OBJECTS {
+ assocRemoteApplication, assocApplicationProtocol,
+ assocApplicationType, assocDuration}
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications' associations. This group
+ was originally defined by RFC 2248."
+ ::= {applGroups 4}
+
+applRFC2788Group OBJECT-GROUP
+ OBJECTS {
+ applName, applDirectoryName, applVersion, applUptime,
+ applOperStatus, applLastChange, applInboundAssociations,
+ applOutboundAssociations, applAccumulatedInboundAssociations,
+ applAccumulatedOutboundAssociations, applLastInboundActivity,
+ applLastOutboundActivity, applRejectedInboundAssociations,
+ applFailedOutboundAssociations, applDescription, applURL}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications. This is the appropriate
+
+ group for RFC 2788 -- it adds the applDirectoryName object
+ missing in RFC 2248."
+ ::= {applGroups 5}
+
+assocRFC2788Group OBJECT-GROUP
+ OBJECTS {
+ assocRemoteApplication, assocApplicationProtocol,
+ assocApplicationType, assocDuration}
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic monitoring of
+ network service applications' associations. This is
+ the appropriate group for RFC 2788."
+ ::= {applGroups 6}
+
+-- OIDs of the form {applTCPProtoID port} are intended to be used
+-- for TCP-based protocols that don't have OIDs assigned by other
+-- means. {applUDPProtoID port} serves the same purpose for
+-- UDP-based protocols. In either case 'port' corresponds to
+-- the primary port number being used by the protocol. For example,
+-- assuming no other OID is assigned for SMTP, an OID of
+-- {applTCPProtoID 25} could be used, since SMTP is a TCP-based
+-- protocol that uses port 25 as its primary port.
+
+applTCPProtoID OBJECT IDENTIFIER ::= {application 4}
+applUDPProtoID OBJECT IDENTIFIER ::= {application 5}
+
+END
diff --git a/mibs/NOTIFICATION-LOG-MIB.txt b/mibs/NOTIFICATION-LOG-MIB.txt
new file mode 100644
index 00000000..c7da9346
--- /dev/null
+++ b/mibs/NOTIFICATION-LOG-MIB.txt
@@ -0,0 +1,753 @@
+NOTIFICATION-LOG-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ Integer32, Unsigned32,
+ TimeTicks, Counter32, Counter64,
+ IpAddress, Opaque, mib-2 FROM SNMPv2-SMI
+ TimeStamp, DateAndTime,
+ StorageType, RowStatus,
+ TAddress, TDomain FROM SNMPv2-TC
+ SnmpAdminString, SnmpEngineID FROM SNMP-FRAMEWORK-MIB
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
+
+notificationLogMIB MODULE-IDENTITY
+ LAST-UPDATED "200011270000Z" -- 27 November 2000
+ ORGANIZATION "IETF Distributed Management Working Group"
+ CONTACT-INFO "Ramanathan Kavasseri
+ Cisco Systems, Inc.
+ 170 West Tasman Drive,
+ San Jose CA 95134-1706.
+ Phone: +1 408 527 2446
+ Email: ramk@cisco.com"
+ DESCRIPTION
+ "The MIB module for logging SNMP Notifications, that is, Traps
+
+ and Informs."
+-- Revision History
+
+ REVISION "200011270000Z" -- 27 November 2000
+ DESCRIPTION "This is the initial version of this MIB.
+ Published as RFC 3014"
+ ::= { mib-2 92 }
+
+notificationLogMIBObjects OBJECT IDENTIFIER ::= { notificationLogMIB 1 }
+
+nlmConfig OBJECT IDENTIFIER ::= { notificationLogMIBObjects 1 }
+nlmStats OBJECT IDENTIFIER ::= { notificationLogMIBObjects 2 }
+nlmLog OBJECT IDENTIFIER ::= { notificationLogMIBObjects 3 }
+
+--
+-- Configuration Section
+--
+
+nlmConfigGlobalEntryLimit OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of notification entries that may be held
+ in nlmLogTable for all nlmLogNames added together. A particular
+ setting does not guarantee that much data can be held.
+
+ If an application changes the limit while there are
+ Notifications in the log, the oldest Notifications MUST be
+ discarded to bring the log down to the new limit - thus the
+ value of nlmConfigGlobalEntryLimit MUST take precedence over
+ the values of nlmConfigGlobalAgeOut and nlmConfigLogEntryLimit,
+ even if the Notification being discarded has been present for
+ fewer minutes than the value of nlmConfigGlobalAgeOut, or if
+ the named log has fewer entries than that specified in
+ nlmConfigLogEntryLimit.
+
+ A value of 0 means no limit.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { 0 }
+ ::= { nlmConfig 1 }
+
+nlmConfigGlobalAgeOut OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "minutes"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The number of minutes a Notification SHOULD be kept in a log
+ before it is automatically removed.
+
+ If an application changes the value of nlmConfigGlobalAgeOut,
+ Notifications older than the new time MAY be discarded to meet the
+ new time.
+
+ A value of 0 means no age out.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { 1440 } -- 24 hours
+ ::= { nlmConfig 2 }
+
+--
+-- Basic Log Configuration Table
+--
+
+nlmConfigLogTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmConfigLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of logging control entries."
+ ::= { nlmConfig 3 }
+
+nlmConfigLogEntry OBJECT-TYPE
+ SYNTAX NlmConfigLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A logging control entry. Depending on the entry's storage type
+ entries may be supplied by the system or created and deleted by
+ applications using nlmConfigLogEntryStatus."
+ INDEX { nlmLogName }
+ ::= { nlmConfigLogTable 1 }
+
+NlmConfigLogEntry ::= SEQUENCE {
+ nlmLogName SnmpAdminString,
+ nlmConfigLogFilterName SnmpAdminString,
+ nlmConfigLogEntryLimit Unsigned32,
+ nlmConfigLogAdminStatus INTEGER,
+ nlmConfigLogOperStatus INTEGER,
+ nlmConfigLogStorageType StorageType,
+ nlmConfigLogEntryStatus RowStatus
+ }
+
+nlmLogName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The name of the log.
+
+ An implementation may allow multiple named logs, up to some
+ implementation-specific limit (which may be none). A
+ zero-length log name is reserved for creation and deletion by
+ the managed system, and MUST be used as the default log name by
+ systems that do not support named logs."
+ ::= { nlmConfigLogEntry 1 }
+
+nlmConfigLogFilterName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A value of snmpNotifyFilterProfileName as used as an index
+ into the snmpNotifyFilterTable in the SNMP Notification MIB,
+ specifying the locally or remotely originated Notifications
+ to be filtered out and not logged in this log.
+
+ A zero-length value or a name that does not identify an
+ existing entry in snmpNotifyFilterTable indicate no
+ Notifications are to be logged in this log."
+ DEFVAL { ''H }
+ ::= { nlmConfigLogEntry 2 }
+
+nlmConfigLogEntryLimit OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of notification entries that can be held in
+ nlmLogTable for this named log. A particular setting does not
+ guarantee that that much data can be held.
+
+ If an application changes the limit while there are
+ Notifications in the log, the oldest Notifications are discarded
+ to bring the log down to the new limit.
+
+ A value of 0 indicates no limit.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { 0 }
+ ::= { nlmConfigLogEntry 3 }
+
+nlmConfigLogAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control to enable or disable the log without otherwise
+ disturbing the log's entry.
+
+ Please be aware that contention between multiple managers
+ trying to set this object to different values MAY affect the
+ reliability and completeness of data seen by each manager."
+ DEFVAL { enabled }
+ ::= { nlmConfigLogEntry 4 }
+
+nlmConfigLogOperStatus OBJECT-TYPE
+ SYNTAX INTEGER { disabled(1), operational(2), noFilter(3) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The operational status of this log:
+
+ disabled administratively disabled
+
+ operational administratively enabled and working
+
+ noFilter administratively enabled but either
+ nlmConfigLogFilterName is zero length
+ or does not name an existing entry in
+ snmpNotifyFilterTable"
+ ::= { nlmConfigLogEntry 5 }
+
+nlmConfigLogStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type of this conceptual row."
+ ::= { nlmConfigLogEntry 6 }
+
+nlmConfigLogEntryStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Control for creating and deleting entries. Entries may be
+ modified while active.
+
+ For non-null-named logs, the managed system records the security
+ credentials from the request that sets nlmConfigLogStatus
+ to 'active' and uses that identity to apply access control to
+ the objects in the Notification to decide if that Notification
+ may be logged."
+ ::= { nlmConfigLogEntry 7 }
+
+--
+-- Statistics Section
+--
+
+nlmStatsGlobalNotificationsLogged OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Notifications put into the nlmLogTable. This
+ counts a Notification once for each log entry, so a Notification
+ put into multiple logs is counted multiple times."
+ ::= { nlmStats 1 }
+
+nlmStatsGlobalNotificationsBumped OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of log entries discarded to make room for a new entry
+ due to lack of resources or the value of nlmConfigGlobalEntryLimit
+ or nlmConfigLogEntryLimit. This does not include entries discarded
+ due to the value of nlmConfigGlobalAgeOut."
+ ::= { nlmStats 2 }
+
+--
+-- Log Statistics Table
+--
+
+nlmStatsLogTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmStatsLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of Notification log statistics entries."
+ ::= { nlmStats 3 }
+
+nlmStatsLogEntry OBJECT-TYPE
+ SYNTAX NlmStatsLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Notification log statistics entry."
+ AUGMENTS { nlmConfigLogEntry }
+ ::= { nlmStatsLogTable 1 }
+
+NlmStatsLogEntry ::= SEQUENCE {
+ nlmStatsLogNotificationsLogged Counter32,
+ nlmStatsLogNotificationsBumped Counter32
+}
+
+nlmStatsLogNotificationsLogged OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of Notifications put in this named log."
+ ::= { nlmStatsLogEntry 1 }
+
+nlmStatsLogNotificationsBumped OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "notifications"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of log entries discarded from this named log to make
+ room for a new entry due to lack of resources or the value of
+ nlmConfigGlobalEntryLimit or nlmConfigLogEntryLimit. This does not
+ include entries discarded due to the value of
+ nlmConfigGlobalAgeOut."
+ ::= { nlmStatsLogEntry 2 }
+
+--
+-- Log Section
+--
+
+--
+-- Log Table
+
+--
+
+nlmLogTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of Notification log entries.
+
+ It is an implementation-specific matter whether entries in this
+ table are preserved across initializations of the management
+ system. In general one would expect that they are not.
+
+ Note that keeping entries across initializations of the
+ management system leads to some confusion with counters and
+ TimeStamps, since both of those are based on sysUpTime, which
+ resets on management initialization. In this situation,
+ counters apply only after the reset and nlmLogTime for entries
+ made before the reset MUST be set to 0."
+ ::= { nlmLog 1 }
+
+nlmLogEntry OBJECT-TYPE
+ SYNTAX NlmLogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Notification log entry.
+
+ Entries appear in this table when Notifications occur and pass
+ filtering by nlmConfigLogFilterName and access control. They are
+ removed to make way for new entries due to lack of resources or
+ the values of nlmConfigGlobalEntryLimit, nlmConfigGlobalAgeOut, or
+ nlmConfigLogEntryLimit.
+
+ If adding an entry would exceed nlmConfigGlobalEntryLimit or system
+ resources in general, the oldest entry in any log SHOULD be removed
+ to make room for the new one.
+
+ If adding an entry would exceed nlmConfigLogEntryLimit the oldest
+ entry in that log SHOULD be removed to make room for the new one.
+
+ Before the managed system puts a locally-generated Notification
+ into a non-null-named log it assures that the creator of the log
+ has access to the information in the Notification. If not it
+ does not log that Notification in that log."
+ INDEX { nlmLogName, nlmLogIndex }
+ ::= { nlmLogTable 1 }
+
+NlmLogEntry ::= SEQUENCE {
+ nlmLogIndex Unsigned32,
+ nlmLogTime TimeStamp,
+ nlmLogDateAndTime DateAndTime,
+ nlmLogEngineID SnmpEngineID,
+ nlmLogEngineTAddress TAddress,
+ nlmLogEngineTDomain TDomain,
+ nlmLogContextEngineID SnmpEngineID,
+ nlmLogContextName SnmpAdminString,
+ nlmLogNotificationID OBJECT IDENTIFIER
+}
+
+nlmLogIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A monotonically increasing integer for the sole purpose of
+ indexing entries within the named log. When it reaches the
+ maximum value, an extremely unlikely event, the agent wraps the
+ value back to 1."
+ ::= { nlmLogEntry 1 }
+
+nlmLogTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the entry was placed in the log. If
+ the entry occurred before the most recent management system
+ initialization this object value MUST be set to zero."
+ ::= { nlmLogEntry 2 }
+
+nlmLogDateAndTime OBJECT-TYPE
+ SYNTAX DateAndTime
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local date and time when the entry was logged, instantiated
+ only by systems that have date and time capability."
+ ::= { nlmLogEntry 3 }
+
+nlmLogEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The identification of the SNMP engine at which the Notification
+
+ originated.
+
+ If the log can contain Notifications from only one engine
+ or the Trap is in SNMPv1 format, this object is a zero-length
+ string."
+ ::= { nlmLogEntry 4 }
+
+nlmLogEngineTAddress OBJECT-TYPE
+ SYNTAX TAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The transport service address of the SNMP engine from which the
+ Notification was received, formatted according to the corresponding
+ value of nlmLogEngineTDomain. This is used to identify the source
+ of an SNMPv1 trap, since an nlmLogEngineId cannot be extracted
+ from the SNMPv1 trap pdu.
+
+ This object MUST always be instantiated, even if the log
+ can contain Notifications from only one engine.
+
+ Please be aware that the nlmLogEngineTAddress may not uniquely
+ identify the SNMP engine from which the Notification was received.
+ For example, if an SNMP engine uses DHCP or NAT to obtain
+ ip addresses, the address it uses may be shared with other
+ network devices, and hence will not uniquely identify the
+ SNMP engine."
+ ::= { nlmLogEntry 5 }
+
+nlmLogEngineTDomain OBJECT-TYPE
+ SYNTAX TDomain
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates the kind of transport service by which a Notification
+ was received from an SNMP engine. nlmLogEngineTAddress contains
+ the transport service address of the SNMP engine from which
+ this Notification was received.
+
+ Possible values for this object are presently found in the
+ Transport Mappings for SNMPv2 document (RFC 1906 [8])."
+ ::= { nlmLogEntry 6 }
+
+nlmLogContextEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the Notification was received in a protocol which has a
+ contextEngineID element like SNMPv3, this object has that value.
+ Otherwise its value is a zero-length string."
+ ::= { nlmLogEntry 7 }
+
+nlmLogContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The name of the SNMP MIB context from which the Notification came.
+ For SNMPv1 Traps this is the community string from the Trap."
+ ::= { nlmLogEntry 8 }
+
+nlmLogNotificationID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The NOTIFICATION-TYPE object identifier of the Notification that
+ occurred."
+ ::= { nlmLogEntry 9 }
+
+--
+-- Log Variable Table
+--
+
+nlmLogVariableTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF NlmLogVariableEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of variables to go with Notification log entries."
+ ::= { nlmLog 2 }
+
+nlmLogVariableEntry OBJECT-TYPE
+ SYNTAX NlmLogVariableEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Notification log entry variable.
+
+ Entries appear in this table when there are variables in
+ the varbind list of a Notification in nlmLogTable."
+ INDEX { nlmLogName, nlmLogIndex, nlmLogVariableIndex }
+ ::= { nlmLogVariableTable 1 }
+
+NlmLogVariableEntry ::= SEQUENCE {
+
+ nlmLogVariableIndex Unsigned32,
+ nlmLogVariableID OBJECT IDENTIFIER,
+ nlmLogVariableValueType INTEGER,
+ nlmLogVariableCounter32Val Counter32,
+ nlmLogVariableUnsigned32Val Unsigned32,
+ nlmLogVariableTimeTicksVal TimeTicks,
+ nlmLogVariableInteger32Val Integer32,
+ nlmLogVariableOctetStringVal OCTET STRING,
+ nlmLogVariableIpAddressVal IpAddress,
+ nlmLogVariableOidVal OBJECT IDENTIFIER,
+ nlmLogVariableCounter64Val Counter64,
+ nlmLogVariableOpaqueVal Opaque
+}
+
+nlmLogVariableIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A monotonically increasing integer, starting at 1 for a given
+ nlmLogIndex, for indexing variables within the logged
+ Notification."
+ ::= { nlmLogVariableEntry 1 }
+
+nlmLogVariableID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The variable's object identifier."
+ ::= { nlmLogVariableEntry 2 }
+
+nlmLogVariableValueType OBJECT-TYPE
+ SYNTAX INTEGER { counter32(1), unsigned32(2), timeTicks(3),
+ integer32(4), ipAddress(5), octetString(6),
+ objectId(7), counter64(8), opaque(9) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the value. One and only one of the value
+ objects that follow must be instantiated, based on this type."
+ ::= { nlmLogVariableEntry 3 }
+
+nlmLogVariableCounter32Val OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'counter32'."
+ ::= { nlmLogVariableEntry 4 }
+
+nlmLogVariableUnsigned32Val OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'unsigned32'."
+ ::= { nlmLogVariableEntry 5 }
+
+nlmLogVariableTimeTicksVal OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'timeTicks'."
+ ::= { nlmLogVariableEntry 6 }
+
+nlmLogVariableInteger32Val OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'integer32'."
+ ::= { nlmLogVariableEntry 7 }
+
+nlmLogVariableOctetStringVal OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'octetString'."
+ ::= { nlmLogVariableEntry 8 }
+
+nlmLogVariableIpAddressVal OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'ipAddress'.
+ Although this seems to be unfriendly for IPv6, we
+ have to recognize that there are a number of older
+ MIBs that do contain an IPv4 format address, known
+ as IpAddress.
+
+ IPv6 addresses are represented using TAddress or
+ InetAddress, and so the underlying datatype is
+
+ OCTET STRING, and their value would be stored in
+ the nlmLogVariableOctetStringVal column."
+ ::= { nlmLogVariableEntry 9 }
+
+nlmLogVariableOidVal OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'objectId'."
+ ::= { nlmLogVariableEntry 10 }
+
+nlmLogVariableCounter64Val OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'counter64'."
+ ::= { nlmLogVariableEntry 11 }
+
+nlmLogVariableOpaqueVal OBJECT-TYPE
+ SYNTAX Opaque
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value when nlmLogVariableType is 'opaque'."
+ ::= { nlmLogVariableEntry 12 }
+
+--
+-- Conformance
+--
+
+notificationLogMIBConformance OBJECT IDENTIFIER ::=
+ { notificationLogMIB 3 }
+notificationLogMIBCompliances OBJECT IDENTIFIER ::=
+ { notificationLogMIBConformance 1 }
+notificationLogMIBGroups OBJECT IDENTIFIER ::=
+ { notificationLogMIBConformance 2 }
+
+-- Compliance
+
+notificationLogMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Notification Log MIB."
+ MODULE -- this module
+
+ MANDATORY-GROUPS {
+ notificationLogConfigGroup,
+ notificationLogStatsGroup,
+ notificationLogLogGroup
+ }
+
+ OBJECT nlmConfigGlobalEntryLimit
+ SYNTAX Unsigned32 (0..4294967295)
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Implementations may choose a limit and not allow it to be
+ changed or may enforce an upper or lower bound on the
+ limit."
+
+ OBJECT nlmConfigLogEntryLimit
+ SYNTAX Unsigned32 (0..4294967295)
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Implementations may choose a limit and not allow it to be
+ changed or may enforce an upper or lower bound on the
+ limit."
+
+ OBJECT nlmConfigLogEntryStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Implementations may disallow the creation of named logs."
+
+ GROUP notificationLogDateGroup
+ DESCRIPTION
+ "This group is mandatory on systems that keep wall clock
+ date and time and should not be implemented on systems that
+ do not have a wall clock date."
+ ::= { notificationLogMIBCompliances 1 }
+
+-- Units of Conformance
+
+notificationLogConfigGroup OBJECT-GROUP
+ OBJECTS {
+ nlmConfigGlobalEntryLimit,
+ nlmConfigGlobalAgeOut,
+ nlmConfigLogFilterName,
+ nlmConfigLogEntryLimit,
+ nlmConfigLogAdminStatus,
+ nlmConfigLogOperStatus,
+ nlmConfigLogStorageType,
+ nlmConfigLogEntryStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification log configuration management."
+ ::= { notificationLogMIBGroups 1 }
+
+notificationLogStatsGroup OBJECT-GROUP
+ OBJECTS {
+ nlmStatsGlobalNotificationsLogged,
+ nlmStatsGlobalNotificationsBumped,
+ nlmStatsLogNotificationsLogged,
+ nlmStatsLogNotificationsBumped
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification log statistics."
+ ::= { notificationLogMIBGroups 2 }
+
+notificationLogLogGroup OBJECT-GROUP
+ OBJECTS {
+ nlmLogTime,
+ nlmLogEngineID,
+ nlmLogEngineTAddress,
+ nlmLogEngineTDomain,
+ nlmLogContextEngineID,
+ nlmLogContextName,
+ nlmLogNotificationID,
+ nlmLogVariableID,
+ nlmLogVariableValueType,
+ nlmLogVariableCounter32Val,
+ nlmLogVariableUnsigned32Val,
+ nlmLogVariableTimeTicksVal,
+ nlmLogVariableInteger32Val,
+ nlmLogVariableOctetStringVal,
+ nlmLogVariableIpAddressVal,
+ nlmLogVariableOidVal,
+ nlmLogVariableCounter64Val,
+ nlmLogVariableOpaqueVal
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification log data."
+ ::= { notificationLogMIBGroups 3 }
+
+notificationLogDateGroup OBJECT-GROUP
+ OBJECTS {
+ nlmLogDateAndTime
+ }
+ STATUS current
+ DESCRIPTION
+ "Conditionally mandatory notification log data.
+ This group is mandatory on systems that keep wall
+ clock date and time and should not be implemented
+ on systems that do not have a wall clock date."
+ ::= { notificationLogMIBGroups 4 }
+
+END
diff --git a/mibs/OSPF-MIB.txt b/mibs/OSPF-MIB.txt
new file mode 100644
index 00000000..de7d03f5
--- /dev/null
+++ b/mibs/OSPF-MIB.txt
@@ -0,0 +1,2723 @@
+OSPF-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
+ Integer32, IpAddress
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, TruthValue, RowStatus
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ mib-2 FROM RFC1213-MIB;
+
+-- This MIB module uses the extended OBJECT-TYPE macro as
+-- defined in [9].
+
+ospf MODULE-IDENTITY
+ LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
+ ORGANIZATION "IETF OSPF Working Group"
+ CONTACT-INFO
+ " Fred Baker
+ Postal: Cisco Systems
+ 519 Lado Drive
+ Santa Barbara, California 93111
+ Tel: +1 805 681 0115
+ E-Mail: fred@cisco.com
+
+ Rob Coltun
+ Postal: RainbowBridge Communications
+ Tel: (301) 340-9416
+ E-Mail: rcoltun@rainbow-bridge.com"
+ DESCRIPTION
+ "The MIB module to describe the OSPF Version 2
+ Protocol"
+ ::= { mib-2 14 }
+
+-- The Area ID, in OSPF, has the same format as an IP Address,
+-- but has the function of defining a summarization point for
+-- Link State Advertisements
+
+AreaID ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "An OSPF Area Identifier."
+ SYNTAX IpAddress
+
+
+-- The Router ID, in OSPF, has the same format as an IP Address,
+-- but identifies the router independent of its IP Address.
+
+RouterID ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A OSPF Router Identifier."
+ SYNTAX IpAddress
+
+
+-- The OSPF Metric is defined as an unsigned value in the range
+
+Metric ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The OSPF Internal Metric."
+ SYNTAX Integer32 (0..'FFFF'h)
+
+BigMetric ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The OSPF External Metric."
+ SYNTAX Integer32 (0..'FFFFFF'h)
+
+-- Status Values
+
+Status ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The status of an interface: 'enabled' indicates that
+ it is willing to communicate with other OSPF Routers,
+ while 'disabled' indicates that it is not."
+ SYNTAX INTEGER { enabled (1), disabled (2) }
+
+-- Time Durations measured in seconds
+
+PositiveInteger ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A positive integer. Values in excess are precluded as
+ unnecessary and prone to interoperability issues."
+ SYNTAX Integer32 (0..'7FFFFFFF'h)
+
+HelloRange ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The range of intervals on which hello messages are
+ exchanged."
+ SYNTAX Integer32 (1..'FFFF'h)
+
+UpToMaxAge ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The values that one might find or configure for
+ variables bounded by the maximum age of an LSA."
+ SYNTAX Integer32 (0..3600)
+
+
+-- The range of ifIndex
+
+InterfaceIndex ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The range of ifIndex."
+ SYNTAX Integer32
+
+
+-- Potential Priorities for the Designated Router Election
+
+DesignatedRouterPriority ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The values defined for the priority of a system for
+ becoming the designated router."
+ SYNTAX Integer32 (0..'FF'h)
+
+TOSType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Type of Service is defined as a mapping to the IP Type of
+ Service Flags as defined in the IP Forwarding Table MIB
+
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+ | | | |
+ | PRECEDENCE | TYPE OF SERVICE | 0 |
+ | | | |
+ +-----+-----+-----+-----+-----+-----+-----+-----+
+
+ IP TOS IP TOS
+ Field Policy Field Policy
+
+ Contents Code Contents Code
+ 0 0 0 0 ==> 0 0 0 0 1 ==> 2
+ 0 0 1 0 ==> 4 0 0 1 1 ==> 6
+ 0 1 0 0 ==> 8 0 1 0 1 ==> 10
+ 0 1 1 0 ==> 12 0 1 1 1 ==> 14
+ 1 0 0 0 ==> 16 1 0 0 1 ==> 18
+ 1 0 1 0 ==> 20 1 0 1 1 ==> 22
+ 1 1 0 0 ==> 24 1 1 0 1 ==> 26
+ 1 1 1 0 ==> 28 1 1 1 1 ==> 30
+
+ The remaining values are left for future definition."
+ SYNTAX Integer32 (0..30)
+
+
+-- OSPF General Variables
+
+-- These parameters apply globally to the Router's
+-- OSPF Process.
+
+ospfGeneralGroup OBJECT IDENTIFIER ::= { ospf 1 }
+
+
+ ospfRouterId OBJECT-TYPE
+ SYNTAX RouterID
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A 32-bit integer uniquely identifying the
+ router in the Autonomous System.
+
+ By convention, to ensure uniqueness, this
+ should default to the value of one of the
+ router's IP interface addresses."
+ REFERENCE
+ "OSPF Version 2, C.1 Global parameters"
+ ::= { ospfGeneralGroup 1 }
+
+
+ ospfAdminStat OBJECT-TYPE
+ SYNTAX Status
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The administrative status of OSPF in the
+ router. The value 'enabled' denotes that the
+ OSPF Process is active on at least one inter-
+ face; 'disabled' disables it on all inter-
+ faces."
+ ::= { ospfGeneralGroup 2 }
+
+ ospfVersionNumber OBJECT-TYPE
+ SYNTAX INTEGER { version2 (2) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current version number of the OSPF proto-
+ col is 2."
+ REFERENCE
+ "OSPF Version 2, Title"
+ ::= { ospfGeneralGroup 3 }
+
+
+ ospfAreaBdrRtrStatus OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A flag to note whether this router is an area
+ border router."
+ REFERENCE
+ "OSPF Version 2, Section 3 Splitting the AS into
+ Areas"
+ ::= { ospfGeneralGroup 4 }
+
+
+ ospfASBdrRtrStatus OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A flag to note whether this router is config-
+ ured as an Autonomous System border router."
+ REFERENCE
+ "OSPF Version 2, Section 3.3 Classification of
+ routers"
+ ::= { ospfGeneralGroup 5 }
+
+ ospfExternLsaCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of external (LS type 5) link-state
+ advertisements in the link-state database."
+ REFERENCE
+ "OSPF Version 2, Appendix A.4.5 AS external link
+ advertisements"
+ ::= { ospfGeneralGroup 6 }
+
+
+ ospfExternLsaCksumSum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32-bit unsigned sum of the LS checksums of
+ the external link-state advertisements con-
+ tained in the link-state database. This sum
+ can be used to determine if there has been a
+ change in a router's link state database, and
+ to compare the link-state database of two
+ routers."
+ ::= { ospfGeneralGroup 7 }
+
+
+ ospfTOSSupport OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The router's support for type-of-service rout-
+ ing."
+ REFERENCE
+ "OSPF Version 2, Appendix F.1.2 Optional TOS
+ support"
+ ::= { ospfGeneralGroup 8 }
+
+ ospfOriginateNewLsas OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of new link-state advertisements
+ that have been originated. This number is in-
+ cremented each time the router originates a new
+ LSA."
+ ::= { ospfGeneralGroup 9 }
+
+
+ ospfRxNewLsas OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of link-state advertisements re-
+ ceived determined to be new instantiations.
+ This number does not include newer instantia-
+ tions of self-originated link-state advertise-
+ ments."
+ ::= { ospfGeneralGroup 10 }
+
+ ospfExtLsdbLimit OBJECT-TYPE
+ SYNTAX Integer32 (-1..'7FFFFFFF'h)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of non-default AS-
+ external-LSAs entries that can be stored in the
+ link-state database. If the value is -1, then
+ there is no limit.
+
+ When the number of non-default AS-external-LSAs
+ in a router's link-state database reaches
+ ospfExtLsdbLimit, the router enters Overflow-
+ State. The router never holds more than
+ ospfExtLsdbLimit non-default AS-external-LSAs
+ in its database. OspfExtLsdbLimit MUST be set
+ identically in all routers attached to the OSPF
+ backbone and/or any regular OSPF area. (i.e.,
+ OSPF stub areas and NSSAs are excluded)."
+ DEFVAL { -1 }
+ ::= { ospfGeneralGroup 11 }
+
+ ospfMulticastExtensions OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A Bit Mask indicating whether the router is
+ forwarding IP multicast (Class D) datagrams
+ based on the algorithms defined in the Multi-
+ cast Extensions to OSPF.
+
+ Bit 0, if set, indicates that the router can
+ forward IP multicast datagrams in the router's
+ directly attached areas (called intra-area mul-
+ ticast routing).
+
+ Bit 1, if set, indicates that the router can
+ forward IP multicast datagrams between OSPF
+ areas (called inter-area multicast routing).
+
+ Bit 2, if set, indicates that the router can
+ forward IP multicast datagrams between Auto-
+ nomous Systems (called inter-AS multicast rout-
+ ing).
+
+ Only certain combinations of bit settings are
+ allowed, namely: 0 (no multicast forwarding is
+ enabled), 1 (intra-area multicasting only), 3
+ (intra-area and inter-area multicasting), 5
+ (intra-area and inter-AS multicasting) and 7
+ (multicasting everywhere). By default, no mul-
+ ticast forwarding is enabled."
+ DEFVAL { 0 }
+ ::= { ospfGeneralGroup 12 }
+
+ ospfExitOverflowInterval OBJECT-TYPE
+ SYNTAX PositiveInteger
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that, after entering
+ OverflowState, a router will attempt to leave
+ OverflowState. This allows the router to again
+ originate non-default AS-external-LSAs. When
+ set to 0, the router will not leave Overflow-
+ State until restarted."
+ DEFVAL { 0 }
+ ::= { ospfGeneralGroup 13 }
+
+
+ ospfDemandExtensions OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The router's support for demand routing."
+ REFERENCE
+ "OSPF Version 2, Appendix on Demand Routing"
+ ::= { ospfGeneralGroup 14 }
+
+
+-- The OSPF Area Data Structure contains information
+-- regarding the various areas. The interfaces and
+-- virtual links are configured as part of these areas.
+-- Area 0.0.0.0, by definition, is the Backbone Area
+
+
+ ospfAreaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfAreaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information describing the configured parame-
+ ters and cumulative statistics of the router's
+ attached areas."
+ REFERENCE
+ "OSPF Version 2, Section 6 The Area Data Struc-
+ ture"
+ ::= { ospf 2 }
+
+
+ ospfAreaEntry OBJECT-TYPE
+ SYNTAX OspfAreaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information describing the configured parame-
+ ters and cumulative statistics of one of the
+ router's attached areas."
+ INDEX { ospfAreaId }
+ ::= { ospfAreaTable 1 }
+
+OspfAreaEntry ::=
+ SEQUENCE {
+ ospfAreaId
+ AreaID,
+ ospfAuthType
+ Integer32,
+ ospfImportAsExtern
+ INTEGER,
+ ospfSpfRuns
+ Counter32,
+ ospfAreaBdrRtrCount
+ Gauge32,
+ ospfAsBdrRtrCount
+ Gauge32,
+ ospfAreaLsaCount
+ Gauge32,
+ ospfAreaLsaCksumSum
+ Integer32,
+ ospfAreaSummary
+ INTEGER,
+ ospfAreaStatus
+ RowStatus
+ }
+
+ ospfAreaId OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A 32-bit integer uniquely identifying an area.
+ Area ID 0.0.0.0 is used for the OSPF backbone."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfAreaEntry 1 }
+
+
+ ospfAuthType OBJECT-TYPE
+ SYNTAX Integer32
+ -- none (0),
+ -- simplePassword (1)
+ -- md5 (2)
+ -- reserved for specification by IANA (> 2)
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The authentication type specified for an area.
+ Additional authentication types may be assigned
+ locally on a per Area basis."
+ REFERENCE
+ "OSPF Version 2, Appendix E Authentication"
+ DEFVAL { 0 } -- no authentication, by default
+ ::= { ospfAreaEntry 2 }
+
+ ospfImportAsExtern OBJECT-TYPE
+ SYNTAX INTEGER {
+ importExternal (1),
+ importNoExternal (2),
+ importNssa (3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The area's support for importing AS external
+ link- state advertisements."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ DEFVAL { importExternal }
+ ::= { ospfAreaEntry 3 }
+
+
+ ospfSpfRuns OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that the intra-area route
+ table has been calculated using this area's
+ link-state database. This is typically done
+ using Dijkstra's algorithm."
+ ::= { ospfAreaEntry 4 }
+
+
+ ospfAreaBdrRtrCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of area border routers reach-
+ able within this area. This is initially zero,
+ and is calculated in each SPF Pass."
+ ::= { ospfAreaEntry 5 }
+
+ ospfAsBdrRtrCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Autonomous System border
+ routers reachable within this area. This is
+ initially zero, and is calculated in each SPF
+ Pass."
+ ::= { ospfAreaEntry 6 }
+
+
+ ospfAreaLsaCount OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of link-state advertisements
+ in this area's link-state database, excluding
+ AS External LSA's."
+ ::= { ospfAreaEntry 7 }
+
+
+ ospfAreaLsaCksumSum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32-bit unsigned sum of the link-state ad-
+ vertisements' LS checksums contained in this
+ area's link-state database. This sum excludes
+ external (LS type 5) link-state advertisements.
+ The sum can be used to determine if there has
+ been a change in a router's link state data-
+ base, and to compare the link-state database of
+ two routers."
+ DEFVAL { 0 }
+ ::= { ospfAreaEntry 8 }
+
+ ospfAreaSummary OBJECT-TYPE
+ SYNTAX INTEGER {
+ noAreaSummary (1),
+ sendAreaSummary (2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The variable ospfAreaSummary controls the im-
+ port of summary LSAs into stub areas. It has
+ no effect on other areas.
+
+ If it is noAreaSummary, the router will neither
+ originate nor propagate summary LSAs into the
+ stub area. It will rely entirely on its de-
+ fault route.
+
+ If it is sendAreaSummary, the router will both
+ summarize and propagate summary LSAs."
+ DEFVAL { noAreaSummary }
+ ::= { ospfAreaEntry 9 }
+
+
+ ospfAreaStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfAreaEntry 10 }
+
+
+-- OSPF Area Default Metric Table
+
+-- The OSPF Area Default Metric Table describes the metrics
+-- that a default Area Border Router will advertise into a
+-- Stub area.
+
+
+ ospfStubAreaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfStubAreaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The set of metrics that will be advertised by
+ a default Area Border Router into a stub area."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area Parameters"
+ ::= { ospf 3 }
+
+
+ ospfStubAreaEntry OBJECT-TYPE
+ SYNTAX OspfStubAreaEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The metric for a given Type of Service that
+ will be advertised by a default Area Border
+ Router into a stub area."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2, Area Parameters"
+ INDEX { ospfStubAreaId, ospfStubTOS }
+ ::= { ospfStubAreaTable 1 }
+
+OspfStubAreaEntry ::=
+ SEQUENCE {
+ ospfStubAreaId
+ AreaID,
+ ospfStubTOS
+ TOSType,
+ ospfStubMetric
+ BigMetric,
+ ospfStubStatus
+ RowStatus,
+ ospfStubMetricType
+ INTEGER
+ }
+
+ ospfStubAreaId OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32 bit identifier for the Stub Area. On
+ creation, this can be derived from the in-
+ stance."
+ ::= { ospfStubAreaEntry 1 }
+
+
+ ospfStubTOS OBJECT-TYPE
+ SYNTAX TOSType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Type of Service associated with the
+ metric. On creation, this can be derived from
+ the instance."
+ ::= { ospfStubAreaEntry 2 }
+
+
+ ospfStubMetric OBJECT-TYPE
+ SYNTAX BigMetric
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The metric value applied at the indicated type
+ of service. By default, this equals the least
+ metric at the type of service among the inter-
+ faces to other areas."
+ ::= { ospfStubAreaEntry 3 }
+
+
+ ospfStubStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfStubAreaEntry 4 }
+
+ ospfStubMetricType OBJECT-TYPE
+ SYNTAX INTEGER {
+ ospfMetric (1), -- OSPF Metric
+ comparableCost (2), -- external type 1
+ nonComparable (3) -- external type 2
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the type of metric ad-
+ vertised as a default route."
+ DEFVAL { ospfMetric }
+ ::= { ospfStubAreaEntry 5 }
+
+-- OSPF Link State Database
+
+-- The Link State Database contains the Link State
+-- Advertisements from throughout the areas that the
+-- device is attached to.
+
+
+ ospfLsdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPF Process's Link State Database."
+ REFERENCE
+ "OSPF Version 2, Section 12 Link State Adver-
+ tisements"
+ ::= { ospf 4 }
+
+
+ ospfLsdbEntry OBJECT-TYPE
+ SYNTAX OspfLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single Link State Advertisement."
+ INDEX { ospfLsdbAreaId, ospfLsdbType,
+ ospfLsdbLsid, ospfLsdbRouterId }
+ ::= { ospfLsdbTable 1 }
+
+OspfLsdbEntry ::=
+ SEQUENCE {
+ ospfLsdbAreaId
+ AreaID,
+ ospfLsdbType
+ INTEGER,
+ ospfLsdbLsid
+ IpAddress,
+ ospfLsdbRouterId
+ RouterID,
+ ospfLsdbSequence
+ Integer32,
+ ospfLsdbAge
+ Integer32,
+ ospfLsdbChecksum
+ Integer32,
+ ospfLsdbAdvertisement
+ OCTET STRING
+ }
+ ospfLsdbAreaId OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32 bit identifier of the Area from which
+ the LSA was received."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfLsdbEntry 1 }
+
+-- External Link State Advertisements are permitted
+-- for backward compatibility, but should be displayed in
+-- the ospfExtLsdbTable rather than here.
+
+ ospfLsdbType OBJECT-TYPE
+ SYNTAX INTEGER {
+ routerLink (1),
+ networkLink (2),
+ summaryLink (3),
+ asSummaryLink (4),
+ asExternalLink (5), -- but see ospfExtLsdbTable
+ multicastLink (6),
+ nssaExternalLink (7)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the link state advertisement.
+ Each link state type has a separate advertise-
+ ment format."
+ REFERENCE
+ "OSPF Version 2, Appendix A.4.1 The Link State
+ Advertisement header"
+ ::= { ospfLsdbEntry 2 }
+
+ ospfLsdbLsid OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Link State ID is an LS Type Specific field
+ containing either a Router ID or an IP Address;
+ it identifies the piece of the routing domain
+ that is being described by the advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.4 Link State ID"
+ ::= { ospfLsdbEntry 3 }
+ ospfLsdbRouterId OBJECT-TYPE
+ SYNTAX RouterID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32 bit number that uniquely identifies the
+ originating router in the Autonomous System."
+ REFERENCE
+ "OSPF Version 2, Appendix C.1 Global parameters"
+ ::= { ospfLsdbEntry 4 }
+
+-- Note that the OSPF Sequence Number is a 32 bit signed
+-- integer. It starts with the value '80000001'h,
+-- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
+-- Thus, a typical sequence number will be very negative.
+
+ ospfLsdbSequence OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The sequence number field is a signed 32-bit
+ integer. It is used to detect old and dupli-
+ cate link state advertisements. The space of
+ sequence numbers is linearly ordered. The
+ larger the sequence number the more recent the
+ advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.6 LS sequence
+ number"
+ ::= { ospfLsdbEntry 5 }
+
+
+ ospfLsdbAge OBJECT-TYPE
+ SYNTAX Integer32 -- Should be 0..MaxAge
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the age of the link state adver-
+ tisement in seconds."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.1 LS age"
+ ::= { ospfLsdbEntry 6 }
+
+ ospfLsdbChecksum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the checksum of the complete
+ contents of the advertisement, excepting the
+ age field. The age field is excepted so that
+ an advertisement's age can be incremented
+ without updating the checksum. The checksum
+ used is the same that is used for ISO connec-
+ tionless datagrams; it is commonly referred to
+ as the Fletcher checksum."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.7 LS checksum"
+ ::= { ospfLsdbEntry 7 }
+
+
+ ospfLsdbAdvertisement OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (1..65535))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The entire Link State Advertisement, including
+ its header."
+ REFERENCE
+ "OSPF Version 2, Section 12 Link State Adver-
+ tisements"
+ ::= { ospfLsdbEntry 8 }
+
+
+-- Address Range Table
+
+-- The Address Range Table acts as an adjunct to the Area
+-- Table; It describes those Address Range Summaries that
+-- are configured to be propagated from an Area to reduce
+-- the amount of information about it which is known beyond
+-- its borders.
+
+ ospfAreaRangeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfAreaRangeEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A range if IP addresses specified by an IP
+ address/IP network mask pair. For example,
+ class B address range of X.X.X.X with a network
+ mask of 255.255.0.0 includes all IP addresses
+ from X.X.0.0 to X.X.255.255"
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospf 5 }
+ ospfAreaRangeEntry OBJECT-TYPE
+ SYNTAX OspfAreaRangeEntry
+ MAX-ACCESS not-accessible
+ STATUS obsolete
+ DESCRIPTION
+ "A range if IP addresses specified by an IP
+ address/IP network mask pair. For example,
+ class B address range of X.X.X.X with a network
+ mask of 255.255.0.0 includes all IP addresses
+ from X.X.0.0 to X.X.255.255"
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ INDEX { ospfAreaRangeAreaId, ospfAreaRangeNet }
+ ::= { ospfAreaRangeTable 1 }
+
+OspfAreaRangeEntry ::=
+ SEQUENCE {
+ ospfAreaRangeAreaId
+ AreaID,
+ ospfAreaRangeNet
+ IpAddress,
+ ospfAreaRangeMask
+ IpAddress,
+ ospfAreaRangeStatus
+ RowStatus,
+ ospfAreaRangeEffect
+ INTEGER
+ }
+
+ ospfAreaRangeAreaId OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The Area the Address Range is to be found
+ within."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfAreaRangeEntry 1 }
+
+
+ ospfAreaRangeNet OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The IP Address of the Net or Subnet indicated
+ by the range."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfAreaRangeEntry 2 }
+
+
+ ospfAreaRangeMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "The Subnet Mask that pertains to the Net or
+ Subnet."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfAreaRangeEntry 3 }
+
+ ospfAreaRangeStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfAreaRangeEntry 4 }
+
+
+ ospfAreaRangeEffect OBJECT-TYPE
+ SYNTAX INTEGER {
+ advertiseMatching (1),
+ doNotAdvertiseMatching (2)
+ }
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "Subnets subsumed by ranges either trigger the
+ advertisement of the indicated summary (adver-
+ tiseMatching), or result in the subnet's not
+ being advertised at all outside the area."
+ DEFVAL { advertiseMatching }
+ ::= { ospfAreaRangeEntry 5 }
+
+
+
+-- OSPF Host Table
+
+-- The Host/Metric Table indicates what hosts are directly
+-- attached to the Router, and what metrics and types of
+-- service should be advertised for them.
+
+ ospfHostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfHostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The list of Hosts, and their metrics, that the
+ router will advertise as host routes."
+ REFERENCE
+ "OSPF Version 2, Appendix C.6 Host route param-
+ eters"
+ ::= { ospf 6 }
+
+
+ ospfHostEntry OBJECT-TYPE
+ SYNTAX OspfHostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A metric to be advertised, for a given type of
+ service, when a given host is reachable."
+ INDEX { ospfHostIpAddress, ospfHostTOS }
+ ::= { ospfHostTable 1 }
+
+OspfHostEntry ::=
+ SEQUENCE {
+ ospfHostIpAddress
+ IpAddress,
+ ospfHostTOS
+ TOSType,
+ ospfHostMetric
+ Metric,
+ ospfHostStatus
+ RowStatus,
+ ospfHostAreaID
+ AreaID
+ }
+
+ ospfHostIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP Address of the Host."
+ REFERENCE
+ "OSPF Version 2, Appendix C.6 Host route parame-
+ ters"
+ ::= { ospfHostEntry 1 }
+
+
+ ospfHostTOS OBJECT-TYPE
+ SYNTAX TOSType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Type of Service of the route being config-
+ ured."
+ REFERENCE
+ "OSPF Version 2, Appendix C.6 Host route parame-
+ ters"
+ ::= { ospfHostEntry 2 }
+
+
+ ospfHostMetric OBJECT-TYPE
+ SYNTAX Metric
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Metric to be advertised."
+ REFERENCE
+ "OSPF Version 2, Appendix C.6 Host route parame-
+ ters"
+ ::= { ospfHostEntry 3 }
+
+ ospfHostStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfHostEntry 4 }
+
+
+ ospfHostAreaID OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Area the Host Entry is to be found within.
+ By default, the area that a subsuming OSPF in-
+ terface is in, or 0.0.0.0"
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfHostEntry 5 }
+
+
+-- OSPF Interface Table
+
+-- The OSPF Interface Table augments the ipAddrTable
+-- with OSPF specific information.
+
+ ospfIfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPF Interface Table describes the inter-
+ faces from the viewpoint of OSPF."
+ REFERENCE
+ "OSPF Version 2, Appendix C.3 Router interface
+ parameters"
+ ::= { ospf 7 }
+
+
+ ospfIfEntry OBJECT-TYPE
+ SYNTAX OspfIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPF Interface Entry describes one inter-
+ face from the viewpoint of OSPF."
+ INDEX { ospfIfIpAddress, ospfAddressLessIf }
+ ::= { ospfIfTable 1 }
+
+OspfIfEntry ::=
+ SEQUENCE {
+ ospfIfIpAddress
+ IpAddress,
+ ospfAddressLessIf
+ Integer32,
+ ospfIfAreaId
+ AreaID,
+ ospfIfType
+ INTEGER,
+ ospfIfAdminStat
+ Status,
+ ospfIfRtrPriority
+ DesignatedRouterPriority,
+ ospfIfTransitDelay
+ UpToMaxAge,
+ ospfIfRetransInterval
+ UpToMaxAge,
+ ospfIfHelloInterval
+ HelloRange,
+ ospfIfRtrDeadInterval
+ PositiveInteger,
+ ospfIfPollInterval
+ PositiveInteger,
+ ospfIfState
+ INTEGER,
+ ospfIfDesignatedRouter
+ IpAddress,
+ ospfIfBackupDesignatedRouter
+ IpAddress,
+ ospfIfEvents
+ Counter32,
+ ospfIfAuthType
+ INTEGER,
+ ospfIfAuthKey
+ OCTET STRING,
+ ospfIfStatus
+ RowStatus,
+ ospfIfMulticastForwarding
+ INTEGER,
+ ospfIfDemand
+ TruthValue
+ }
+
+ ospfIfIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address of this OSPF interface."
+ ::= { ospfIfEntry 1 }
+
+ ospfAddressLessIf OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For the purpose of easing the instancing of
+ addressed and addressless interfaces; This
+ variable takes the value 0 on interfaces with
+ IP Addresses, and the corresponding value of
+ ifIndex for interfaces having no IP Address."
+ ::= { ospfIfEntry 2 }
+ ospfIfAreaId OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A 32-bit integer uniquely identifying the area
+ to which the interface connects. Area ID
+ 0.0.0.0 is used for the OSPF backbone."
+ DEFVAL { '00000000'H } -- 0.0.0.0
+ ::= { ospfIfEntry 3 }
+
+ ospfIfType OBJECT-TYPE
+ SYNTAX INTEGER {
+ broadcast (1),
+ nbma (2),
+ pointToPoint (3),
+ pointToMultipoint (5)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OSPF interface type.
+
+ By way of a default, this field may be intuited
+ from the corresponding value of ifType. Broad-
+ cast LANs, such as Ethernet and IEEE 802.5,
+ take the value 'broadcast', X.25 and similar
+ technologies take the value 'nbma', and links
+ that are definitively point to point take the
+ value 'pointToPoint'."
+ ::= { ospfIfEntry 4 }
+
+
+ ospfIfAdminStat OBJECT-TYPE
+ SYNTAX Status
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The OSPF interface's administrative status.
+ The value formed on the interface, and the in-
+ terface will be advertised as an internal route
+ to some area. The value 'disabled' denotes
+ that the interface is external to OSPF."
+ DEFVAL { enabled }
+ ::= { ospfIfEntry 5 }
+
+ ospfIfRtrPriority OBJECT-TYPE
+ SYNTAX DesignatedRouterPriority
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The priority of this interface. Used in
+ multi-access networks, this field is used in
+ the designated router election algorithm. The
+ value 0 signifies that the router is not eligi-
+ ble to become the designated router on this
+ particular network. In the event of a tie in
+ this value, routers will use their Router ID as
+ a tie breaker."
+ DEFVAL { 1 }
+ ::= { ospfIfEntry 6 }
+
+
+ ospfIfTransitDelay OBJECT-TYPE
+ SYNTAX UpToMaxAge
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The estimated number of seconds it takes to
+ transmit a link state update packet over this
+ interface."
+ DEFVAL { 1 }
+ ::= { ospfIfEntry 7 }
+
+
+ ospfIfRetransInterval OBJECT-TYPE
+ SYNTAX UpToMaxAge
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds between link-state ad-
+ vertisement retransmissions, for adjacencies
+ belonging to this interface. This value is
+ also used when retransmitting database descrip-
+ tion and link-state request packets."
+ DEFVAL { 5 }
+ ::= { ospfIfEntry 8 }
+
+
+ ospfIfHelloInterval OBJECT-TYPE
+ SYNTAX HelloRange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The length of time, in seconds, between the
+ Hello packets that the router sends on the in-
+ terface. This value must be the same for all
+ routers attached to a common network."
+ DEFVAL { 10 }
+ ::= { ospfIfEntry 9 }
+
+
+ ospfIfRtrDeadInterval OBJECT-TYPE
+ SYNTAX PositiveInteger
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that a router's Hello
+ packets have not been seen before it's neigh-
+ bors declare the router down. This should be
+ some multiple of the Hello interval. This
+ value must be the same for all routers attached
+ to a common network."
+ DEFVAL { 40 }
+ ::= { ospfIfEntry 10 }
+
+
+ ospfIfPollInterval OBJECT-TYPE
+ SYNTAX PositiveInteger
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The larger time interval, in seconds, between
+ the Hello packets sent to an inactive non-
+ broadcast multi- access neighbor."
+ DEFVAL { 120 }
+ ::= { ospfIfEntry 11 }
+
+
+ ospfIfState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down (1),
+ loopback (2),
+ waiting (3),
+ pointToPoint (4),
+ designatedRouter (5),
+ backupDesignatedRouter (6),
+ otherDesignatedRouter (7)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The OSPF Interface State."
+ DEFVAL { down }
+ ::= { ospfIfEntry 12 }
+
+
+ ospfIfDesignatedRouter OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP Address of the Designated Router."
+ DEFVAL { '00000000'H } -- 0.0.0.0
+ ::= { ospfIfEntry 13 }
+
+
+ ospfIfBackupDesignatedRouter OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP Address of the Backup Designated
+ Router."
+ DEFVAL { '00000000'H } -- 0.0.0.0
+ ::= { ospfIfEntry 14 }
+
+ ospfIfEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this OSPF interface has
+ changed its state, or an error has occurred."
+ ::= { ospfIfEntry 15 }
+
+
+ ospfIfAuthKey OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..256))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Authentication Key. If the Area's Author-
+ ization Type is simplePassword, and the key
+ length is shorter than 8 octets, the agent will
+ left adjust and zero fill to 8 octets.
+
+ Note that unauthenticated interfaces need no
+ authentication key, and simple password authen-
+ tication cannot use a key of more than 8 oc-
+ tets. Larger keys are useful only with authen-
+ tication mechanisms not specified in this docu-
+ ment.
+
+ When read, ospfIfAuthKey always returns an Oc-
+ tet String of length zero."
+ REFERENCE
+ "OSPF Version 2, Section 9 The Interface Data
+ Structure"
+ DEFVAL { '0000000000000000'H } -- 0.0.0.0.0.0.0.0
+ ::= { ospfIfEntry 16 }
+
+ ospfIfStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfIfEntry 17 }
+
+
+ ospfIfMulticastForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ blocked (1), -- no multicast forwarding
+ multicast (2), -- using multicast address
+ unicast (3) -- to each OSPF neighbor
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The way multicasts should forwarded on this
+ interface; not forwarded, forwarded as data
+ link multicasts, or forwarded as data link uni-
+ casts. Data link multicasting is not meaning-
+ ful on point to point and NBMA interfaces, and
+ setting ospfMulticastForwarding to 0 effective-
+ ly disables all multicast forwarding."
+ DEFVAL { blocked }
+ ::= { ospfIfEntry 18 }
+
+
+ ospfIfDemand OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Indicates whether Demand OSPF procedures (hel-
+ lo supression to FULL neighbors and setting the
+ DoNotAge flag on proogated LSAs) should be per-
+ formed on this interface."
+ DEFVAL { false }
+ ::= { ospfIfEntry 19 }
+
+
+ ospfIfAuthType OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ -- none (0),
+ -- simplePassword (1)
+ -- md5 (2)
+ -- reserved for specification by IANA (> 2)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The authentication type specified for an in-
+ terface. Additional authentication types may
+ be assigned locally."
+ REFERENCE
+ "OSPF Version 2, Appendix E Authentication"
+ DEFVAL { 0 } -- no authentication, by default
+ ::= { ospfIfEntry 20 }
+
+
+-- OSPF Interface Metric Table
+
+-- The Metric Table describes the metrics to be advertised
+-- for a specified interface at the various types of service.
+-- As such, this table is an adjunct of the OSPF Interface
+-- Table.
+
+-- Types of service, as defined by RFC 791, have the ability
+-- to request low delay, high bandwidth, or reliable linkage.
+
+-- For the purposes of this specification, the measure of
+-- bandwidth
+
+-- Metric = 10^8 / ifSpeed
+
+-- is the default value. For multiple link interfaces, note
+-- that ifSpeed is the sum of the individual link speeds.
+-- This yields a number having the following typical values:
+
+-- Network Type/bit rate Metric
+
+-- >= 100 MBPS 1
+-- Ethernet/802.3 10
+-- E1 48
+-- T1 (ESF) 65
+-- 64 KBPS 1562
+-- 56 KBPS 1785
+-- 19.2 KBPS 5208
+-- 9.6 KBPS 10416
+
+-- Routes that are not specified use the default (TOS 0) metric
+
+ ospfIfMetricTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfIfMetricEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The TOS metrics for a non-virtual interface
+ identified by the interface index."
+ REFERENCE
+ "OSPF Version 2, Appendix C.3 Router interface
+ parameters"
+ ::= { ospf 8 }
+
+ ospfIfMetricEntry OBJECT-TYPE
+ SYNTAX OspfIfMetricEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A particular TOS metric for a non-virtual in-
+ terface identified by the interface index."
+ REFERENCE
+ "OSPF Version 2, Appendix C.3 Router interface
+ parameters"
+ INDEX { ospfIfMetricIpAddress,
+ ospfIfMetricAddressLessIf,
+ ospfIfMetricTOS }
+ ::= { ospfIfMetricTable 1 }
+
+OspfIfMetricEntry ::=
+ SEQUENCE {
+ ospfIfMetricIpAddress
+ IpAddress,
+ ospfIfMetricAddressLessIf
+ Integer32,
+ ospfIfMetricTOS
+ TOSType,
+ ospfIfMetricValue
+ Metric,
+ ospfIfMetricStatus
+ RowStatus
+ }
+
+ ospfIfMetricIpAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address of this OSPF interface. On row
+ creation, this can be derived from the in-
+ stance."
+ ::= { ospfIfMetricEntry 1 }
+
+ ospfIfMetricAddressLessIf OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "For the purpose of easing the instancing of
+ addressed and addressless interfaces; This
+ variable takes the value 0 on interfaces with
+ IP Addresses, and the value of ifIndex for in-
+ terfaces having no IP Address. On row crea-
+ tion, this can be derived from the instance."
+ ::= { ospfIfMetricEntry 2 }
+
+
+ ospfIfMetricTOS OBJECT-TYPE
+ SYNTAX TOSType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of service metric being referenced.
+ On row creation, this can be derived from the
+ instance."
+ ::= { ospfIfMetricEntry 3 }
+
+
+ ospfIfMetricValue OBJECT-TYPE
+ SYNTAX Metric
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The metric of using this type of service on
+ this interface. The default value of the TOS 0
+ Metric is 10^8 / ifSpeed."
+ ::= { ospfIfMetricEntry 4 }
+
+ ospfIfMetricStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfIfMetricEntry 5 }
+
+
+-- OSPF Virtual Interface Table
+
+-- The Virtual Interface Table describes the virtual
+-- links that the OSPF Process is configured to
+-- carry on.
+
+ ospfVirtIfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfVirtIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about this router's virtual inter-
+ faces."
+ REFERENCE
+ "OSPF Version 2, Appendix C.4 Virtual link
+ parameters"
+ ::= { ospf 9 }
+
+
+ ospfVirtIfEntry OBJECT-TYPE
+ SYNTAX OspfVirtIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a single Virtual Interface."
+ INDEX { ospfVirtIfAreaId, ospfVirtIfNeighbor }
+ ::= { ospfVirtIfTable 1 }
+
+OspfVirtIfEntry ::=
+ SEQUENCE {
+ ospfVirtIfAreaId
+ AreaID,
+ ospfVirtIfNeighbor
+ RouterID,
+ ospfVirtIfTransitDelay
+ UpToMaxAge,
+ ospfVirtIfRetransInterval
+ UpToMaxAge,
+ ospfVirtIfHelloInterval
+ HelloRange,
+ ospfVirtIfRtrDeadInterval
+ PositiveInteger,
+ ospfVirtIfState
+ INTEGER,
+ ospfVirtIfEvents
+ Counter32,
+ ospfVirtIfAuthType
+ INTEGER,
+ ospfVirtIfAuthKey
+ OCTET STRING,
+ ospfVirtIfStatus
+ RowStatus
+ }
+
+ ospfVirtIfAreaId OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Transit Area that the Virtual Link
+ traverses. By definition, this is not 0.0.0.0"
+ ::= { ospfVirtIfEntry 1 }
+
+
+ ospfVirtIfNeighbor OBJECT-TYPE
+ SYNTAX RouterID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Router ID of the Virtual Neighbor."
+ ::= { ospfVirtIfEntry 2 }
+
+
+ ospfVirtIfTransitDelay OBJECT-TYPE
+ SYNTAX UpToMaxAge
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The estimated number of seconds it takes to
+ transmit a link- state update packet over this
+ interface."
+ DEFVAL { 1 }
+ ::= { ospfVirtIfEntry 3 }
+
+
+ ospfVirtIfRetransInterval OBJECT-TYPE
+ SYNTAX UpToMaxAge
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds between link-state ad-
+ vertisement retransmissions, for adjacencies
+ belonging to this interface. This value is
+ also used when retransmitting database descrip-
+ tion and link-state request packets. This
+ value should be well over the expected round-
+ trip time."
+ DEFVAL { 5 }
+ ::= { ospfVirtIfEntry 4 }
+
+
+ ospfVirtIfHelloInterval OBJECT-TYPE
+ SYNTAX HelloRange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The length of time, in seconds, between the
+ Hello packets that the router sends on the in-
+ terface. This value must be the same for the
+ virtual neighbor."
+ DEFVAL { 10 }
+ ::= { ospfVirtIfEntry 5 }
+
+
+ ospfVirtIfRtrDeadInterval OBJECT-TYPE
+ SYNTAX PositiveInteger
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that a router's Hello
+ packets have not been seen before it's neigh-
+ bors declare the router down. This should be
+ some multiple of the Hello interval. This
+ value must be the same for the virtual neigh-
+ bor."
+ DEFVAL { 60 }
+ ::= { ospfVirtIfEntry 6 }
+
+
+ ospfVirtIfState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down (1), -- these use the same encoding
+ pointToPoint (4) -- as the ospfIfTable
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "OSPF virtual interface states."
+ DEFVAL { down }
+ ::= { ospfVirtIfEntry 7 }
+
+
+ ospfVirtIfEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of state changes or error events on
+ this Virtual Link"
+ ::= { ospfVirtIfEntry 8 }
+
+
+ ospfVirtIfAuthKey OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..256))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "If Authentication Type is simplePassword, the
+ device will left adjust and zero fill to 8 oc-
+ tets.
+
+ Note that unauthenticated interfaces need no
+ authentication key, and simple password authen-
+ tication cannot use a key of more than 8 oc-
+ tets. Larger keys are useful only with authen-
+ tication mechanisms not specified in this docu-
+ ment.
+
+ When read, ospfVifAuthKey always returns a
+ string of length zero."
+ REFERENCE
+ "OSPF Version 2, Section 9 The Interface Data
+ Structure"
+ DEFVAL { '0000000000000000'H } -- 0.0.0.0.0.0.0.0
+ ::= { ospfVirtIfEntry 9 }
+
+
+ ospfVirtIfStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfVirtIfEntry 10 }
+
+
+ ospfVirtIfAuthType OBJECT-TYPE
+ SYNTAX INTEGER (0..255)
+ -- none (0),
+ -- simplePassword (1)
+ -- md5 (2)
+ -- reserved for specification by IANA (> 2)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The authentication type specified for a virtu-
+ al interface. Additional authentication types
+ may be assigned locally."
+ REFERENCE
+ "OSPF Version 2, Appendix E Authentication"
+ DEFVAL { 0 } -- no authentication, by default
+ ::= { ospfVirtIfEntry 11 }
+
+
+-- OSPF Neighbor Table
+
+-- The OSPF Neighbor Table describes all neighbors in
+-- the locality of the subject router.
+
+ ospfNbrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of non-virtual neighbor information."
+ REFERENCE
+ "OSPF Version 2, Section 10 The Neighbor Data
+ Structure"
+ ::= { ospf 10 }
+
+
+ ospfNbrEntry OBJECT-TYPE
+ SYNTAX OspfNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The information regarding a single neighbor."
+ REFERENCE
+ "OSPF Version 2, Section 10 The Neighbor Data
+ Structure"
+ INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex }
+ ::= { ospfNbrTable 1 }
+
+OspfNbrEntry ::=
+ SEQUENCE {
+ ospfNbrIpAddr
+ IpAddress,
+ ospfNbrAddressLessIndex
+ InterfaceIndex,
+ ospfNbrRtrId
+ RouterID,
+ ospfNbrOptions
+ Integer32,
+ ospfNbrPriority
+ DesignatedRouterPriority,
+ ospfNbrState
+ INTEGER,
+ ospfNbrEvents
+ Counter32,
+ ospfNbrLsRetransQLen
+ Gauge32,
+ ospfNbmaNbrStatus
+ RowStatus,
+ ospfNbmaNbrPermanence
+ INTEGER,
+ ospfNbrHelloSuppressed
+ TruthValue
+ }
+
+ ospfNbrIpAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address this neighbor is using in its
+ IP Source Address. Note that, on addressless
+ links, this will not be 0.0.0.0, but the ad-
+ dress of another of the neighbor's interfaces."
+ ::= { ospfNbrEntry 1 }
+
+
+ ospfNbrAddressLessIndex OBJECT-TYPE
+ SYNTAX InterfaceIndex
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "On an interface having an IP Address, zero.
+ On addressless interfaces, the corresponding
+ value of ifIndex in the Internet Standard MIB.
+ On row creation, this can be derived from the
+ instance."
+ ::= { ospfNbrEntry 2 }
+
+
+ ospfNbrRtrId OBJECT-TYPE
+ SYNTAX RouterID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A 32-bit integer (represented as a type IpAd-
+ dress) uniquely identifying the neighboring
+ router in the Autonomous System."
+ DEFVAL { '00000000'H } -- 0.0.0.0
+ ::= { ospfNbrEntry 3 }
+
+
+ ospfNbrOptions OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A Bit Mask corresponding to the neighbor's op-
+ tions field.
+
+ Bit 0, if set, indicates that the system will
+ operate on Type of Service metrics other than
+ TOS 0. If zero, the neighbor will ignore all
+ metrics except the TOS 0 metric.
+
+ Bit 1, if set, indicates that the associated
+ area accepts and operates on external informa-
+ tion; if zero, it is a stub area.
+
+ Bit 2, if set, indicates that the system is ca-
+ pable of routing IP Multicast datagrams; i.e.,
+ that it implements the Multicast Extensions to
+ OSPF.
+
+ Bit 3, if set, indicates that the associated
+ area is an NSSA. These areas are capable of
+ carrying type 7 external advertisements, which
+ are translated into type 5 external advertise-
+ ments at NSSA borders."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.2 Options"
+ DEFVAL { 0 }
+ ::= { ospfNbrEntry 4 }
+
+
+ ospfNbrPriority OBJECT-TYPE
+ SYNTAX DesignatedRouterPriority
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The priority of this neighbor in the designat-
+ ed router election algorithm. The value 0 sig-
+ nifies that the neighbor is not eligible to be-
+ come the designated router on this particular
+ network."
+ DEFVAL { 1 }
+ ::= { ospfNbrEntry 5 }
+
+
+ ospfNbrState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down (1),
+ attempt (2),
+ init (3),
+ twoWay (4),
+ exchangeStart (5),
+ exchange (6),
+ loading (7),
+ full (8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The State of the relationship with this Neigh-
+ bor."
+ REFERENCE
+ "OSPF Version 2, Section 10.1 Neighbor States"
+ DEFVAL { down }
+ ::= { ospfNbrEntry 6 }
+
+
+ ospfNbrEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this neighbor relationship
+ has changed state, or an error has occurred."
+ ::= { ospfNbrEntry 7 }
+
+
+ ospfNbrLsRetransQLen OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current length of the retransmission
+ queue."
+ ::= { ospfNbrEntry 8 }
+
+
+ ospfNbmaNbrStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfNbrEntry 9 }
+
+
+ ospfNbmaNbrPermanence OBJECT-TYPE
+ SYNTAX INTEGER {
+ dynamic (1), -- learned through protocol
+ permanent (2) -- configured address
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. 'dynamic' and 'permanent' refer to how
+ the neighbor became known."
+ DEFVAL { permanent }
+ ::= { ospfNbrEntry 10 }
+
+
+ ospfNbrHelloSuppressed OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates whether Hellos are being suppressed
+ to the neighbor"
+ ::= { ospfNbrEntry 11 }
+
+
+-- OSPF Virtual Neighbor Table
+
+-- This table describes all virtual neighbors.
+-- Since Virtual Links are configured in the
+-- virtual interface table, this table is read-only.
+
+ ospfVirtNbrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfVirtNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of virtual neighbor information."
+ REFERENCE
+ "OSPF Version 2, Section 15 Virtual Links"
+ ::= { ospf 11 }
+
+
+ ospfVirtNbrEntry OBJECT-TYPE
+ SYNTAX OspfVirtNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Virtual neighbor information."
+ INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId }
+ ::= { ospfVirtNbrTable 1 }
+
+OspfVirtNbrEntry ::=
+ SEQUENCE {
+ ospfVirtNbrArea
+ AreaID,
+ ospfVirtNbrRtrId
+ RouterID,
+ ospfVirtNbrIpAddr
+ IpAddress,
+ ospfVirtNbrOptions
+ Integer32,
+ ospfVirtNbrState
+ INTEGER,
+ ospfVirtNbrEvents
+ Counter32,
+ ospfVirtNbrLsRetransQLen
+ Gauge32,
+ ospfVirtNbrHelloSuppressed
+ TruthValue
+ }
+
+ ospfVirtNbrArea OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Transit Area Identifier."
+ ::= { ospfVirtNbrEntry 1 }
+
+
+ ospfVirtNbrRtrId OBJECT-TYPE
+ SYNTAX RouterID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A 32-bit integer uniquely identifying the
+ neighboring router in the Autonomous System."
+ ::= { ospfVirtNbrEntry 2 }
+
+
+ ospfVirtNbrIpAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address this Virtual Neighbor is us-
+ ing."
+ ::= { ospfVirtNbrEntry 3 }
+
+
+ ospfVirtNbrOptions OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A Bit Mask corresponding to the neighbor's op-
+ tions field.
+
+ Bit 1, if set, indicates that the system will
+ operate on Type of Service metrics other than
+ TOS 0. If zero, the neighbor will ignore all
+ metrics except the TOS 0 metric.
+
+ Bit 2, if set, indicates that the system is
+ Network Multicast capable; ie, that it imple-
+ ments OSPF Multicast Routing."
+ ::= { ospfVirtNbrEntry 4 }
+ ospfVirtNbrState OBJECT-TYPE
+ SYNTAX INTEGER {
+ down (1),
+ attempt (2),
+ init (3),
+ twoWay (4),
+ exchangeStart (5),
+ exchange (6),
+ loading (7),
+ full (8)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The state of the Virtual Neighbor Relation-
+ ship."
+ ::= { ospfVirtNbrEntry 5 }
+
+
+ ospfVirtNbrEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this virtual link has
+ changed its state, or an error has occurred."
+ ::= { ospfVirtNbrEntry 6 }
+
+
+ ospfVirtNbrLsRetransQLen OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current length of the retransmission
+ queue."
+ ::= { ospfVirtNbrEntry 7 }
+
+
+ ospfVirtNbrHelloSuppressed OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indicates whether Hellos are being suppressed
+ to the neighbor"
+ ::= { ospfVirtNbrEntry 8 }
+
+-- OSPF Link State Database, External
+
+-- The Link State Database contains the Link State
+-- Advertisements from throughout the areas that the
+-- device is attached to.
+
+-- This table is identical to the OSPF LSDB Table in
+-- format, but contains only External Link State
+-- Advertisements. The purpose is to allow external
+-- LSAs to be displayed once for the router rather
+-- than once in each non-stub area.
+
+ ospfExtLsdbTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfExtLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The OSPF Process's Links State Database."
+ REFERENCE
+ "OSPF Version 2, Section 12 Link State Adver-
+ tisements"
+ ::= { ospf 12 }
+
+
+ ospfExtLsdbEntry OBJECT-TYPE
+ SYNTAX OspfExtLsdbEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single Link State Advertisement."
+ INDEX { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId }
+ ::= { ospfExtLsdbTable 1 }
+
+OspfExtLsdbEntry ::=
+ SEQUENCE {
+ ospfExtLsdbType
+ INTEGER,
+ ospfExtLsdbLsid
+ IpAddress,
+ ospfExtLsdbRouterId
+ RouterID,
+ ospfExtLsdbSequence
+ Integer32,
+ ospfExtLsdbAge
+ Integer32,
+ ospfExtLsdbChecksum
+ Integer32,
+ ospfExtLsdbAdvertisement
+ OCTET STRING
+ }
+
+ ospfExtLsdbType OBJECT-TYPE
+ SYNTAX INTEGER {
+ asExternalLink (5)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the link state advertisement.
+ Each link state type has a separate advertise-
+ ment format."
+ REFERENCE
+ "OSPF Version 2, Appendix A.4.1 The Link State
+ Advertisement header"
+ ::= { ospfExtLsdbEntry 1 }
+
+
+ ospfExtLsdbLsid OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Link State ID is an LS Type Specific field
+ containing either a Router ID or an IP Address;
+ it identifies the piece of the routing domain
+ that is being described by the advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.4 Link State ID"
+ ::= { ospfExtLsdbEntry 2 }
+
+
+ ospfExtLsdbRouterId OBJECT-TYPE
+ SYNTAX RouterID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The 32 bit number that uniquely identifies the
+ originating router in the Autonomous System."
+ REFERENCE
+ "OSPF Version 2, Appendix C.1 Global parameters"
+ ::= { ospfExtLsdbEntry 3 }
+
+-- Note that the OSPF Sequence Number is a 32 bit signed
+-- integer. It starts with the value '80000001'h,
+-- or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
+-- Thus, a typical sequence number will be very negative.
+ ospfExtLsdbSequence OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The sequence number field is a signed 32-bit
+ integer. It is used to detect old and dupli-
+ cate link state advertisements. The space of
+ sequence numbers is linearly ordered. The
+ larger the sequence number the more recent the
+ advertisement."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.6 LS sequence
+ number"
+ ::= { ospfExtLsdbEntry 4 }
+
+
+ ospfExtLsdbAge OBJECT-TYPE
+ SYNTAX Integer32 -- Should be 0..MaxAge
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the age of the link state adver-
+ tisement in seconds."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.1 LS age"
+ ::= { ospfExtLsdbEntry 5 }
+
+
+ ospfExtLsdbChecksum OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This field is the checksum of the complete
+ contents of the advertisement, excepting the
+ age field. The age field is excepted so that
+ an advertisement's age can be incremented
+ without updating the checksum. The checksum
+ used is the same that is used for ISO connec-
+ tionless datagrams; it is commonly referred to
+ as the Fletcher checksum."
+ REFERENCE
+ "OSPF Version 2, Section 12.1.7 LS checksum"
+ ::= { ospfExtLsdbEntry 6 }
+
+
+ ospfExtLsdbAdvertisement OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(36))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The entire Link State Advertisement, including
+ its header."
+ REFERENCE
+ "OSPF Version 2, Section 12 Link State Adver-
+ tisements"
+ ::= { ospfExtLsdbEntry 7 }
+
+
+-- OSPF Use of the CIDR Route Table
+
+ospfRouteGroup OBJECT IDENTIFIER ::= { ospf 13 }
+
+-- The IP Forwarding Table defines a number of objects for use by
+-- the routing protocol to externalize its information. Most of
+-- the variables (ipForwardDest, ipForwardMask, ipForwardPolicy,
+-- ipForwardNextHop, ipForwardIfIndex, ipForwardType,
+-- ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are
+-- defined there.
+
+-- Those that leave some discretion are defined here.
+
+-- ipCidrRouteProto is, of course, ospf (13).
+
+-- ipCidrRouteAge is the time since the route was first calculated,
+-- as opposed to the time since the last SPF run.
+
+-- ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing
+-- protocol. The following values shall be found there depending
+-- on the way the route was calculated.
+
+ospfIntraArea OBJECT IDENTIFIER ::= { ospfRouteGroup 1 }
+ospfInterArea OBJECT IDENTIFIER ::= { ospfRouteGroup 2 }
+ospfExternalType1 OBJECT IDENTIFIER ::= { ospfRouteGroup 3 }
+ospfExternalType2 OBJECT IDENTIFIER ::= { ospfRouteGroup 4 }
+
+-- ipCidrRouteMetric1 is, by definition, the primary routing
+-- metric. Therefore, it should be the metric that route
+-- selection is based on. For intra-area and inter-area routes,
+-- it is an OSPF metric. For External Type 1 (comparable value)
+-- routes, it is an OSPF metric plus the External Metric. For
+-- external Type 2 (non-comparable value) routes, it is the
+-- external metric.
+
+-- ipCidrRouteMetric2 is, by definition, a secondary routing
+-- metric. Therefore, it should be the metric that breaks a tie
+-- among routes having equal metric1 values and the same
+-- calculation rule. For intra-area, inter-area routes, and
+-- External Type 1 (comparable value) routes, it is unused. For
+-- external Type 2 (non-comparable value) routes, it is the metric
+-- to the AS border router.
+
+-- ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5 are
+-- unused.
+
+--
+-- The OSPF Area Aggregate Table
+--
+-- This table replaces the OSPF Area Summary Table, being an
+-- extension of that for CIDR routers.
+
+ ospfAreaAggregateTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF OspfAreaAggregateEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A range of IP addresses specified by an IP
+ address/IP network mask pair. For example,
+ class B address range of X.X.X.X with a network
+ mask of 255.255.0.0 includes all IP addresses
+ from X.X.0.0 to X.X.255.255. Note that if
+ ranges are configured such that one range sub-
+ sumes another range (e.g., 10.0.0.0 mask
+ 255.0.0.0 and 10.1.0.0 mask 255.255.0.0), the
+ most specific match is the preferred one."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospf 14 }
+
+
+ ospfAreaAggregateEntry OBJECT-TYPE
+ SYNTAX OspfAreaAggregateEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A range of IP addresses specified by an IP
+ address/IP network mask pair. For example,
+ class B address range of X.X.X.X with a network
+ mask of 255.255.0.0 includes all IP addresses
+ from X.X.0.0 to X.X.255.255. Note that if
+ ranges are range configured such that one range
+ subsumes another range (e.g., 10.0.0.0 mask
+ 255.0.0.0 and 10.1.0.0 mask 255.255.0.0), the
+ most specific match is the preferred one."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ INDEX { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType,
+ ospfAreaAggregateNet, ospfAreaAggregateMask }
+ ::= { ospfAreaAggregateTable 1 }
+
+
+OspfAreaAggregateEntry ::=
+ SEQUENCE {
+ ospfAreaAggregateAreaID
+ AreaID,
+ ospfAreaAggregateLsdbType
+ INTEGER,
+ ospfAreaAggregateNet
+ IpAddress,
+ ospfAreaAggregateMask
+ IpAddress,
+ ospfAreaAggregateStatus
+ RowStatus,
+ ospfAreaAggregateEffect
+ INTEGER
+ }
+
+ ospfAreaAggregateAreaID OBJECT-TYPE
+ SYNTAX AreaID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Area the Address Aggregate is to be found
+ within."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfAreaAggregateEntry 1 }
+
+
+ ospfAreaAggregateLsdbType OBJECT-TYPE
+ SYNTAX INTEGER {
+ summaryLink (3),
+ nssaExternalLink (7)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The type of the Address Aggregate. This field
+ specifies the Lsdb type that this Address Ag-
+ gregate applies to."
+ REFERENCE
+ "OSPF Version 2, Appendix A.4.1 The Link State
+ Advertisement header"
+ ::= { ospfAreaAggregateEntry 2 }
+
+
+ ospfAreaAggregateNet OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP Address of the Net or Subnet indicated
+ by the range."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfAreaAggregateEntry 3 }
+
+
+ ospfAreaAggregateMask OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Subnet Mask that pertains to the Net or
+ Subnet."
+ REFERENCE
+ "OSPF Version 2, Appendix C.2 Area parameters"
+ ::= { ospfAreaAggregateEntry 4 }
+
+
+ ospfAreaAggregateStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable displays the status of the en-
+ try. Setting it to 'invalid' has the effect of
+ rendering it inoperative. The internal effect
+ (row removal) is implementation dependent."
+ ::= { ospfAreaAggregateEntry 5 }
+
+
+ ospfAreaAggregateEffect OBJECT-TYPE
+ SYNTAX INTEGER {
+ advertiseMatching (1),
+ doNotAdvertiseMatching (2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Subnets subsumed by ranges either trigger the
+ advertisement of the indicated aggregate (ad-
+ vertiseMatching), or result in the subnet's not
+ being advertised at all outside the area."
+ DEFVAL { advertiseMatching }
+ ::= { ospfAreaAggregateEntry 6 }
+
+
+-- conformance information
+
+ospfConformance OBJECT IDENTIFIER ::= { ospf 15 }
+
+ospfGroups OBJECT IDENTIFIER ::= { ospfConformance 1 }
+ospfCompliances OBJECT IDENTIFIER ::= { ospfConformance 2 }
+
+-- compliance statements
+
+ ospfCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement "
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ ospfBasicGroup,
+ ospfAreaGroup,
+ ospfStubAreaGroup,
+ ospfIfGroup,
+ ospfIfMetricGroup,
+ ospfVirtIfGroup,
+ ospfNbrGroup,
+ ospfVirtNbrGroup,
+ ospfAreaAggregateGroup
+ }
+ ::= { ospfCompliances 1 }
+
+
+-- units of conformance
+
+ ospfBasicGroup OBJECT-GROUP
+ OBJECTS {
+ ospfRouterId,
+ ospfAdminStat,
+ ospfVersionNumber,
+ ospfAreaBdrRtrStatus,
+ ospfASBdrRtrStatus,
+ ospfExternLsaCount,
+ ospfExternLsaCksumSum,
+ ospfTOSSupport,
+ ospfOriginateNewLsas,
+ ospfRxNewLsas,
+ ospfExtLsdbLimit,
+ ospfMulticastExtensions,
+ ospfExitOverflowInterval,
+ ospfDemandExtensions
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems."
+ ::= { ospfGroups 1 }
+
+
+ ospfAreaGroup OBJECT-GROUP
+ OBJECTS {
+ ospfAreaId,
+ ospfImportAsExtern,
+ ospfSpfRuns,
+ ospfAreaBdrRtrCount,
+ ospfAsBdrRtrCount,
+ ospfAreaLsaCount,
+ ospfAreaLsaCksumSum,
+ ospfAreaSummary,
+ ospfAreaStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems
+ supporting areas."
+ ::= { ospfGroups 2 }
+
+
+ ospfStubAreaGroup OBJECT-GROUP
+ OBJECTS {
+ ospfStubAreaId,
+ ospfStubTOS,
+ ospfStubMetric,
+ ospfStubStatus,
+ ospfStubMetricType
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems
+ supporting stub areas."
+ ::= { ospfGroups 3 }
+
+
+ ospfLsdbGroup OBJECT-GROUP
+ OBJECTS {
+ ospfLsdbAreaId,
+ ospfLsdbType,
+ ospfLsdbLsid,
+ ospfLsdbRouterId,
+ ospfLsdbSequence,
+ ospfLsdbAge,
+ ospfLsdbChecksum,
+ ospfLsdbAdvertisement
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems
+ that display their link state database."
+ ::= { ospfGroups 4 }
+
+
+ ospfAreaRangeGroup OBJECT-GROUP
+ OBJECTS {
+ ospfAreaRangeAreaId,
+ ospfAreaRangeNet,
+ ospfAreaRangeMask,
+ ospfAreaRangeStatus,
+ ospfAreaRangeEffect
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "These objects are required for non-CIDR OSPF
+ systems that support multiple areas."
+ ::= { ospfGroups 5 }
+
+
+ ospfHostGroup OBJECT-GROUP
+ OBJECTS {
+ ospfHostIpAddress,
+ ospfHostTOS,
+ ospfHostMetric,
+ ospfHostStatus,
+ ospfHostAreaID
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems
+ that support attached hosts."
+ ::= { ospfGroups 6 }
+
+
+ ospfIfGroup OBJECT-GROUP
+ OBJECTS {
+ ospfIfIpAddress,
+ ospfAddressLessIf,
+ ospfIfAreaId,
+ ospfIfType,
+ ospfIfAdminStat,
+ ospfIfRtrPriority,
+ ospfIfTransitDelay,
+ ospfIfRetransInterval,
+ ospfIfHelloInterval,
+ ospfIfRtrDeadInterval,
+ ospfIfPollInterval,
+ ospfIfState,
+ ospfIfDesignatedRouter,
+ ospfIfBackupDesignatedRouter,
+ ospfIfEvents,
+ ospfIfAuthType,
+ ospfIfAuthKey,
+ ospfIfStatus,
+ ospfIfMulticastForwarding,
+ ospfIfDemand
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems."
+ ::= { ospfGroups 7 }
+
+
+ ospfIfMetricGroup OBJECT-GROUP
+ OBJECTS {
+ ospfIfMetricIpAddress,
+ ospfIfMetricAddressLessIf,
+ ospfIfMetricTOS,
+ ospfIfMetricValue,
+ ospfIfMetricStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems."
+ ::= { ospfGroups 8 }
+
+
+ ospfVirtIfGroup OBJECT-GROUP
+ OBJECTS {
+ ospfVirtIfAreaId,
+ ospfVirtIfNeighbor,
+ ospfVirtIfTransitDelay,
+ ospfVirtIfRetransInterval,
+ ospfVirtIfHelloInterval,
+ ospfVirtIfRtrDeadInterval,
+ ospfVirtIfState,
+ ospfVirtIfEvents,
+ ospfVirtIfAuthType,
+ ospfVirtIfAuthKey,
+ ospfVirtIfStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems."
+ ::= { ospfGroups 9 }
+
+
+ ospfNbrGroup OBJECT-GROUP
+ OBJECTS {
+ ospfNbrIpAddr,
+ ospfNbrAddressLessIndex,
+ ospfNbrRtrId,
+ ospfNbrOptions,
+ ospfNbrPriority,
+ ospfNbrState,
+ ospfNbrEvents,
+ ospfNbrLsRetransQLen,
+ ospfNbmaNbrStatus,
+ ospfNbmaNbrPermanence,
+ ospfNbrHelloSuppressed
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems."
+ ::= { ospfGroups 10 }
+
+
+ ospfVirtNbrGroup OBJECT-GROUP
+ OBJECTS {
+ ospfVirtNbrArea,
+ ospfVirtNbrRtrId,
+ ospfVirtNbrIpAddr,
+ ospfVirtNbrOptions,
+ ospfVirtNbrState,
+ ospfVirtNbrEvents,
+ ospfVirtNbrLsRetransQLen,
+ ospfVirtNbrHelloSuppressed
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems."
+ ::= { ospfGroups 11 }
+
+
+ ospfExtLsdbGroup OBJECT-GROUP
+ OBJECTS {
+ ospfExtLsdbType,
+ ospfExtLsdbLsid,
+ ospfExtLsdbRouterId,
+ ospfExtLsdbSequence,
+ ospfExtLsdbAge,
+ ospfExtLsdbChecksum,
+ ospfExtLsdbAdvertisement
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems
+ that display their link state database."
+ ::= { ospfGroups 12 }
+
+
+ ospfAreaAggregateGroup OBJECT-GROUP
+ OBJECTS {
+ ospfAreaAggregateAreaID,
+ ospfAreaAggregateLsdbType,
+ ospfAreaAggregateNet,
+ ospfAreaAggregateMask,
+ ospfAreaAggregateStatus,
+ ospfAreaAggregateEffect
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for OSPF systems."
+ ::= { ospfGroups 13 }
+
+END
diff --git a/mibs/OSPF-TRAP-MIB.txt b/mibs/OSPF-TRAP-MIB.txt
new file mode 100644
index 00000000..8a3ab990
--- /dev/null
+++ b/mibs/OSPF-TRAP-MIB.txt
@@ -0,0 +1,443 @@
+OSPF-TRAP-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ ospfRouterId, ospfIfIpAddress, ospfAddressLessIf, ospfIfState,
+ ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfState,
+ ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId,
+ ospfNbrState, ospfVirtNbrArea, ospfVirtNbrRtrId, ospfVirtNbrState,
+ ospfLsdbType, ospfLsdbLsid, ospfLsdbRouterId, ospfLsdbAreaId,
+ ospfExtLsdbLimit, ospf
+ FROM OSPF-MIB;
+
+ ospfTrap MODULE-IDENTITY
+ LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
+ ORGANIZATION "IETF OSPF Working Group"
+ CONTACT-INFO
+ " Fred Baker
+ Postal: Cisco Systems
+ 519 Lado Drive
+ Santa Barbara, California 93111
+ Tel: +1 805 681 0115
+ E-Mail: fred@cisco.com
+
+ Rob Coltun
+ Postal: RainbowBridge Communications
+ Tel: (301) 340-9416
+ E-Mail: rcoltun@rainbow-bridge.com"
+ DESCRIPTION
+ "The MIB module to describe traps for the OSPF
+ Version 2 Protocol."
+ ::= { ospf 16 }
+
+-- Trap Support Objects
+
+-- The following are support objects for the OSPF traps.
+
+ospfTrapControl OBJECT IDENTIFIER ::= { ospfTrap 1 }
+ospfTraps OBJECT IDENTIFIER ::= { ospfTrap 2 }
+
+ ospfSetTrap OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(4))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "A four-octet string serving as a bit map for
+ the trap events defined by the OSPF traps. This
+ object is used to enable and disable specific
+ OSPF traps where a 1 in the bit field
+ represents enabled. The right-most bit (least
+ significant) represents trap 0."
+ ::= { ospfTrapControl 1 }
+
+
+ ospfConfigErrorType OBJECT-TYPE
+ SYNTAX INTEGER {
+ badVersion (1),
+ areaMismatch (2),
+ unknownNbmaNbr (3), -- Router is Dr eligible
+ unknownVirtualNbr (4),
+ authTypeMismatch(5),
+ authFailure (6),
+ netMaskMismatch (7),
+ helloIntervalMismatch (8),
+ deadIntervalMismatch (9),
+ optionMismatch (10) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Potential types of configuration conflicts.
+ Used by the ospfConfigError and ospfConfigVir-
+ tError traps."
+ ::= { ospfTrapControl 2 }
+
+
+ ospfPacketType OBJECT-TYPE
+ SYNTAX INTEGER {
+ hello (1),
+ dbDescript (2),
+ lsReq (3),
+ lsUpdate (4),
+ lsAck (5) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "OSPF packet types."
+ ::= { ospfTrapControl 3 }
+
+
+ ospfPacketSrc OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP address of an inbound packet that can-
+ not be identified by a neighbor instance."
+ ::= { ospfTrapControl 4 }
+
+
+-- Traps
+
+
+ ospfIfStateChange NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfIfIpAddress,
+ ospfAddressLessIf,
+ ospfIfState -- The new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfIfStateChange trap signifies that there
+ has been a change in the state of a non-virtual
+ OSPF interface. This trap should be generated
+ when the interface state regresses (e.g., goes
+ from Dr to Down) or progresses to a terminal
+ state (i.e., Point-to-Point, DR Other, Dr, or
+ Backup)."
+ ::= { ospfTraps 16 }
+
+
+ ospfVirtIfStateChange NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfVirtIfAreaId,
+ ospfVirtIfNeighbor,
+ ospfVirtIfState -- The new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfIfStateChange trap signifies that there
+ has been a change in the state of an OSPF vir-
+ tual interface.
+ This trap should be generated when the inter-
+ face state regresses (e.g., goes from Point-
+ to-Point to Down) or progresses to a terminal
+ state (i.e., Point-to-Point)."
+ ::= { ospfTraps 1 }
+
+
+ ospfNbrStateChange NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfNbrIpAddr,
+ ospfNbrAddressLessIndex,
+ ospfNbrRtrId,
+ ospfNbrState -- The new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfNbrStateChange trap signifies that
+ there has been a change in the state of a non-
+ virtual OSPF neighbor. This trap should be
+ generated when the neighbor state regresses
+ (e.g., goes from Attempt or Full to 1-Way or
+ Down) or progresses to a terminal state (e.g.,
+ 2-Way or Full). When an neighbor transitions
+ from or to Full on non-broadcast multi-access
+ and broadcast networks, the trap should be gen-
+ erated by the designated router. A designated
+ router transitioning to Down will be noted by
+ ospfIfStateChange."
+ ::= { ospfTraps 2 }
+
+
+ ospfVirtNbrStateChange NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfVirtNbrArea,
+ ospfVirtNbrRtrId,
+ ospfVirtNbrState -- The new state
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfIfStateChange trap signifies that there
+ has been a change in the state of an OSPF vir-
+ tual neighbor. This trap should be generated
+ when the neighbor state regresses (e.g., goes
+ from Attempt or Full to 1-Way or Down) or
+ progresses to a terminal state (e.g., Full)."
+ ::= { ospfTraps 3 }
+ ospfIfConfigError NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfIfIpAddress,
+ ospfAddressLessIf,
+ ospfPacketSrc, -- The source IP address
+ ospfConfigErrorType, -- Type of error
+ ospfPacketType
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfIfConfigError trap signifies that a
+ packet has been received on a non-virtual in-
+ terface from a router whose configuration
+ parameters conflict with this router's confi-
+ guration parameters. Note that the event op-
+ tionMismatch should cause a trap only if it
+ prevents an adjacency from forming."
+ ::= { ospfTraps 4 }
+
+
+ ospfVirtIfConfigError NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfVirtIfAreaId,
+ ospfVirtIfNeighbor,
+ ospfConfigErrorType, -- Type of error
+ ospfPacketType
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfConfigError trap signifies that a pack-
+ et has been received on a virtual interface
+ from a router whose configuration parameters
+ conflict with this router's configuration
+ parameters. Note that the event optionMismatch
+ should cause a trap only if it prevents an ad-
+ jacency from forming."
+ ::= { ospfTraps 5 }
+
+
+ ospfIfAuthFailure NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfIfIpAddress,
+ ospfAddressLessIf,
+ ospfPacketSrc, -- The source IP address
+ ospfConfigErrorType, -- authTypeMismatch or
+ -- authFailure
+ ospfPacketType
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfIfAuthFailure trap signifies that a
+ packet has been received on a non-virtual in-
+ terface from a router whose authentication key
+ or authentication type conflicts with this
+ router's authentication key or authentication
+ type."
+ ::= { ospfTraps 6 }
+
+
+ ospfVirtIfAuthFailure NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfVirtIfAreaId,
+ ospfVirtIfNeighbor,
+ ospfConfigErrorType, -- authTypeMismatch or
+ -- authFailure
+ ospfPacketType
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfVirtIfAuthFailure trap signifies that a
+ packet has been received on a virtual interface
+ from a router whose authentication key or au-
+ thentication type conflicts with this router's
+ authentication key or authentication type."
+ ::= { ospfTraps 7 }
+
+
+ ospfIfRxBadPacket NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfIfIpAddress,
+ ospfAddressLessIf,
+ ospfPacketSrc, -- The source IP address
+ ospfPacketType
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfIfRxBadPacket trap signifies that an
+ OSPF packet has been received on a non-virtual
+ interface that cannot be parsed."
+ ::= { ospfTraps 8 }
+
+ ospfVirtIfRxBadPacket NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfVirtIfAreaId,
+ ospfVirtIfNeighbor,
+ ospfPacketType
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfRxBadPacket trap signifies that an OSPF
+ packet has been received on a virtual interface
+ that cannot be parsed."
+ ::= { ospfTraps 9 }
+
+
+ ospfTxRetransmit NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfIfIpAddress,
+ ospfAddressLessIf,
+ ospfNbrRtrId, -- Destination
+ ospfPacketType,
+ ospfLsdbType,
+ ospfLsdbLsid,
+ ospfLsdbRouterId
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfTxRetransmit trap signifies than an
+ OSPF packet has been retransmitted on a non-
+ virtual interface. All packets that may be re-
+ transmitted are associated with an LSDB entry.
+ The LS type, LS ID, and Router ID are used to
+ identify the LSDB entry."
+ ::= { ospfTraps 10 }
+
+
+ ospfVirtIfTxRetransmit NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfVirtIfAreaId,
+ ospfVirtIfNeighbor,
+ ospfPacketType,
+ ospfLsdbType,
+ ospfLsdbLsid,
+ ospfLsdbRouterId
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfTxRetransmit trap signifies than an
+ OSPF packet has been retransmitted on a virtual
+ interface. All packets that may be retransmit-
+ ted are associated with an LSDB entry. The LS
+ type, LS ID, and Router ID are used to identify
+ the LSDB entry."
+ ::= { ospfTraps 11 }
+
+
+ ospfOriginateLsa NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfLsdbAreaId, -- 0.0.0.0 for AS Externals
+ ospfLsdbType,
+ ospfLsdbLsid,
+ ospfLsdbRouterId
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfOriginateLsa trap signifies that a new
+ LSA has been originated by this router. This
+ trap should not be invoked for simple refreshes
+ of LSAs (which happesn every 30 minutes), but
+ instead will only be invoked when an LSA is
+ (re)originated due to a topology change. Addi-
+ tionally, this trap does not include LSAs that
+ are being flushed because they have reached
+ MaxAge."
+ ::= { ospfTraps 12 }
+
+
+ ospfMaxAgeLsa NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfLsdbAreaId, -- 0.0.0.0 for AS Externals
+ ospfLsdbType,
+ ospfLsdbLsid,
+ ospfLsdbRouterId
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfMaxAgeLsa trap signifies that one of
+ the LSA in the router's link-state database has
+ aged to MaxAge."
+ ::= { ospfTraps 13 }
+
+
+ ospfLsdbOverflow NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfExtLsdbLimit
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfLsdbOverflow trap signifies that the
+ number of LSAs in the router's link-state data-
+ base has exceeded ospfExtLsdbLimit."
+ ::= { ospfTraps 14 }
+
+
+ ospfLsdbApproachingOverflow NOTIFICATION-TYPE
+ OBJECTS {
+ ospfRouterId, -- The originator of the trap
+ ospfExtLsdbLimit
+ }
+ STATUS current
+ DESCRIPTION
+ "An ospfLsdbApproachingOverflow trap signifies
+ that the number of LSAs in the router's link-
+ state database has exceeded ninety percent of
+ ospfExtLsdbLimit."
+ ::= { ospfTraps 15 }
+
+
+-- conformance information
+
+ospfTrapConformance OBJECT IDENTIFIER ::= { ospfTrap 3 }
+
+ospfTrapGroups OBJECT IDENTIFIER ::= { ospfTrapConformance 1 }
+ospfTrapCompliances OBJECT IDENTIFIER ::= { ospfTrapConformance 2 }
+
+-- compliance statements
+
+ ospfTrapCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement "
+ MODULE -- this module
+ MANDATORY-GROUPS { ospfTrapControlGroup }
+
+
+ GROUP ospfTrapControlGroup
+ DESCRIPTION
+ "This group is optional but recommended for all
+ OSPF systems"
+ ::= { ospfTrapCompliances 1 }
+
+
+-- units of conformance
+
+ ospfTrapControlGroup OBJECT-GROUP
+ OBJECTS {
+ ospfSetTrap,
+ ospfConfigErrorType,
+ ospfPacketType,
+ ospfPacketSrc
+ }
+ STATUS current
+ DESCRIPTION
+ "These objects are required to control traps
+ from OSPF systems."
+ ::= { ospfTrapGroups 1 }
+
+
+END
diff --git a/mibs/RFC-1215.txt b/mibs/RFC-1215.txt
new file mode 100644
index 00000000..64327233
--- /dev/null
+++ b/mibs/RFC-1215.txt
@@ -0,0 +1,38 @@
+
+RFC-1215 DEFINITIONS ::= BEGIN
+
+-- This module is a empty module. It has been created solely for the
+-- purpose of allowing other modules to correctly import the TRAP-TYPE
+-- clause from RFC-1215 where it should be imported from. It's a
+-- built in type in the UCD-SNMP code, and in fact RFC-1215 doesn't
+-- actually define a mib at all; it only defines macros. However,
+-- importing the TRAP-TYPE is conventionally done from an import
+-- clause pointing to RFC-1215.
+--
+-- Wes 7/17/98
+
+TRAP-TYPE MACRO ::=
+BEGIN
+ TYPE NOTATION ::= "ENTERPRISE" value
+ (enterprise OBJECT IDENTIFIER)
+ VarPart
+ DescrPart
+ ReferPart
+ VALUE NOTATION ::= value (VALUE INTEGER)
+ VarPart ::=
+ "VARIABLES" "{" VarTypes "}"
+ | empty
+ VarTypes ::=
+ VarType | VarTypes "," VarType
+ VarType ::=
+ value (vartype ObjectName)
+ DescrPart ::=
+ "DESCRIPTION" value (description DisplayString)
+ | empty
+ ReferPart ::=
+ "REFERENCE" value (reference DisplayString)
+ | empty
+END
+
+
+END
diff --git a/mibs/RFC1155-SMI.txt b/mibs/RFC1155-SMI.txt
new file mode 100644
index 00000000..3abc7ffb
--- /dev/null
+++ b/mibs/RFC1155-SMI.txt
@@ -0,0 +1,119 @@
+RFC1155-SMI DEFINITIONS ::= BEGIN
+
+EXPORTS -- EVERYTHING
+ internet, directory, mgmt,
+ experimental, private, enterprises,
+ OBJECT-TYPE, ObjectName, ObjectSyntax, SimpleSyntax,
+ ApplicationSyntax, NetworkAddress, IpAddress,
+ Counter, Gauge, TimeTicks, Opaque;
+
+ -- the path to the root
+
+ internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
+
+ directory OBJECT IDENTIFIER ::= { internet 1 }
+
+ mgmt OBJECT IDENTIFIER ::= { internet 2 }
+
+ experimental OBJECT IDENTIFIER ::= { internet 3 }
+
+ private OBJECT IDENTIFIER ::= { internet 4 }
+ enterprises OBJECT IDENTIFIER ::= { private 1 }
+
+ -- definition of object types
+
+ OBJECT-TYPE MACRO ::=
+ BEGIN
+ TYPE NOTATION ::= "SYNTAX" type (TYPE ObjectSyntax)
+ "ACCESS" Access
+ "STATUS" Status
+ VALUE NOTATION ::= value (VALUE ObjectName)
+
+ Access ::= "read-only"
+ | "read-write"
+ | "write-only"
+ | "not-accessible"
+ Status ::= "mandatory"
+ | "optional"
+ | "obsolete"
+ END
+
+ -- names of objects in the MIB
+
+ ObjectName ::=
+ OBJECT IDENTIFIER
+
+ -- syntax of objects in the MIB
+
+ ObjectSyntax ::=
+ CHOICE {
+ simple
+ SimpleSyntax,
+ -- note that simple SEQUENCEs are not directly
+ -- mentioned here to keep things simple (i.e.,
+ -- prevent mis-use). However, application-wide
+ -- types which are IMPLICITly encoded simple
+ -- SEQUENCEs may appear in the following CHOICE
+
+ application-wide
+ ApplicationSyntax
+ }
+
+ SimpleSyntax ::=
+ CHOICE {
+ number
+ INTEGER,
+ string
+ OCTET STRING,
+ object
+ OBJECT IDENTIFIER,
+ empty
+ NULL
+ }
+
+ ApplicationSyntax ::=
+ CHOICE {
+ address
+ NetworkAddress,
+ counter
+ Counter,
+ gauge
+ Gauge,
+ ticks
+ TimeTicks,
+ arbitrary
+ Opaque
+
+ -- other application-wide types, as they are
+ -- defined, will be added here
+ }
+
+ -- application-wide types
+
+ NetworkAddress ::=
+ CHOICE {
+ internet
+ IpAddress
+ }
+
+ IpAddress ::=
+ [APPLICATION 0] -- in network-byte order
+ IMPLICIT OCTET STRING (SIZE (4))
+
+ Counter ::=
+ [APPLICATION 1]
+ IMPLICIT INTEGER (0..4294967295)
+
+ Gauge ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+ TimeTicks ::=
+ [APPLICATION 3]
+ IMPLICIT INTEGER (0..4294967295)
+
+ Opaque ::=
+ [APPLICATION 4] -- arbitrary ASN.1 value,
+ IMPLICIT OCTET STRING -- "double-wrapped"
+
+ END
diff --git a/mibs/RFC1213-MIB.txt b/mibs/RFC1213-MIB.txt
new file mode 100644
index 00000000..408ccd79
--- /dev/null
+++ b/mibs/RFC1213-MIB.txt
@@ -0,0 +1,2613 @@
+RFC1213-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ mgmt, NetworkAddress, IpAddress, Counter, Gauge,
+ TimeTicks
+ FROM RFC1155-SMI
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+-- This MIB module uses the extended OBJECT-TYPE macro as
+-- defined in [14];
+
+-- MIB-II (same prefix as MIB-I)
+
+mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
+
+-- textual conventions
+
+DisplayString ::=
+ OCTET STRING
+-- This data type is used to model textual information taken
+-- from the NVT ASCII character set. By convention, objects
+-- with this syntax are declared as having
+
+--
+-- SIZE (0..255)
+
+PhysAddress ::=
+ OCTET STRING
+-- This data type is used to model media addresses. For many
+-- types of media, this will be in a binary representation.
+-- For example, an ethernet address would be represented as
+-- a string of 6 octets.
+
+-- groups in MIB-II
+
+system OBJECT IDENTIFIER ::= { mib-2 1 }
+
+interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
+
+at OBJECT IDENTIFIER ::= { mib-2 3 }
+
+ip OBJECT IDENTIFIER ::= { mib-2 4 }
+
+icmp OBJECT IDENTIFIER ::= { mib-2 5 }
+
+tcp OBJECT IDENTIFIER ::= { mib-2 6 }
+
+udp OBJECT IDENTIFIER ::= { mib-2 7 }
+
+egp OBJECT IDENTIFIER ::= { mib-2 8 }
+
+-- historical (some say hysterical)
+-- cmot OBJECT IDENTIFIER ::= { mib-2 9 }
+
+transmission OBJECT IDENTIFIER ::= { mib-2 10 }
+
+snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+-- the System group
+
+-- Implementation of the System group is mandatory for all
+-- systems. If an agent is not configured to have a value
+-- for any of these variables, a string of length 0 is
+-- returned.
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A textual description of the entity. This value
+ should include the full name and version
+ identification of the system's hardware type,
+ software operating-system, and networking
+ software. It is mandatory that this only contain
+ printable ASCII characters."
+ ::= { system 1 }
+
+sysObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ network management subsystem contained in the
+ entity. This value is allocated within the SMI
+ enterprises subtree (1.3.6.1.4.1) and provides an
+ easy and unambiguous means for determining `what
+ kind of box' is being managed. For example, if
+ vendor `Flintstones, Inc.' was assigned the
+ subtree 1.3.6.1.4.1.4242, it could assign the
+ identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
+ Router'."
+ ::= { system 2 }
+
+sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ network management portion of the system was last
+ re-initialized."
+ ::= { system 3 }
+
+sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The textual identification of the contact person
+ for this managed node, together with information
+ on how to contact this person."
+ ::= { system 4 }
+
+sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An administratively-assigned name for this
+ managed node. By convention, this is the node's
+ fully-qualified domain name."
+ ::= { system 5 }
+
+sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The physical location of this node (e.g.,
+ `telephone closet, 3rd floor')."
+ ::= { system 6 }
+
+sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A value which indicates the set of services that
+ this entity primarily offers.
+
+ The value is a sum. This sum initially takes the
+ value zero, Then, for each layer, L, in the range
+ 1 through 7, that this node performs transactions
+ for, 2 raised to (L - 1) is added to the sum. For
+ example, a node which performs primarily routing
+ functions would have a value of 4 (2^(3-1)). In
+ contrast, a node which is a host offering
+ application services would have a value of 72
+ (2^(4-1) + 2^(7-1)). Note that in the context of
+ the Internet suite of protocols, values should be
+ calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., IP gateways)
+ 4 end-to-end (e.g., IP hosts)
+ 7 applications (e.g., mail relays)
+
+ For systems including OSI protocols, layers 5 and
+ 6 may also be counted."
+ ::= { system 7 }
+
+-- the Interfaces group
+
+-- Implementation of the Interfaces group is mandatory for
+-- all systems.
+
+ifNumber OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of network interfaces (regardless of
+ their current state) present on this system."
+ ::= { interfaces 1 }
+
+-- the Interfaces table
+
+-- The Interfaces table contains information on the entity's
+-- interfaces. Each interface is thought of as being
+-- attached to a `subnetwork'. Note that this term should
+-- not be confused with `subnet' which refers to an
+-- addressing partitioning scheme used in the Internet suite
+-- of protocols.
+
+ifTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IfEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of interface entries. The number of
+ entries is given by the value of ifNumber."
+ ::= { interfaces 2 }
+
+ifEntry OBJECT-TYPE
+ SYNTAX IfEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An interface entry containing objects at the
+ subnetwork layer and below for a particular
+ interface."
+ INDEX { ifIndex }
+ ::= { ifTable 1 }
+
+IfEntry ::=
+ SEQUENCE {
+ ifIndex
+ INTEGER,
+ ifDescr
+ DisplayString,
+ ifType
+ INTEGER,
+ ifMtu
+ INTEGER,
+ ifSpeed
+ Gauge,
+ ifPhysAddress
+ PhysAddress,
+ ifAdminStatus
+ INTEGER,
+ ifOperStatus
+ INTEGER,
+ ifLastChange
+ TimeTicks,
+ ifInOctets
+ Counter,
+ ifInUcastPkts
+ Counter,
+ ifInNUcastPkts
+ Counter,
+ ifInDiscards
+ Counter,
+ ifInErrors
+ Counter,
+ ifInUnknownProtos
+ Counter,
+ ifOutOctets
+ Counter,
+ ifOutUcastPkts
+ Counter,
+ ifOutNUcastPkts
+ Counter,
+ ifOutDiscards
+ Counter,
+ ifOutErrors
+ Counter,
+ ifOutQLen
+ Gauge,
+ ifSpecific
+ OBJECT IDENTIFIER
+ }
+
+ifIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A unique value for each interface. Its value
+ ranges between 1 and the value of ifNumber. The
+ value for each interface must remain constant at
+ least from one re-initialization of the entity's
+ network management system to the next re-
+ initialization."
+ ::= { ifEntry 1 }
+
+ifDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A textual string containing information about the
+ interface. This string should include the name of
+ the manufacturer, the product name and the version
+ of the hardware interface."
+ ::= { ifEntry 2 }
+
+ifType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ regular1822(2),
+ hdh1822(3),
+ ddn-x25(4),
+ rfc877-x25(5),
+ ethernet-csmacd(6),
+ iso88023-csmacd(7),
+ iso88024-tokenBus(8),
+ iso88025-tokenRing(9),
+ iso88026-man(10),
+ starLan(11),
+ proteon-10Mbit(12),
+ proteon-80Mbit(13),
+ hyperchannel(14),
+ fddi(15),
+ lapb(16),
+ sdlc(17),
+ ds1(18), -- T-1
+ e1(19), -- european equiv. of T-1
+ basicISDN(20),
+ primaryISDN(21), -- proprietary serial
+ propPointToPointSerial(22),
+ ppp(23),
+ softwareLoopback(24),
+ eon(25), -- CLNP over IP [11]
+ ethernet-3Mbit(26),
+ nsip(27), -- XNS over IP
+ slip(28), -- generic SLIP
+ ultra(29), -- ULTRA technologies
+ ds3(30), -- T-3
+ sip(31), -- SMDS
+ frame-relay(32)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The type of interface, distinguished according to
+ the physical/link protocol(s) immediately `below'
+ the network layer in the protocol stack."
+ ::= { ifEntry 3 }
+
+ifMtu OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The size of the largest datagram which can be
+ sent/received on the interface, specified in
+ octets. For interfaces that are used for
+ transmitting network datagrams, this is the size
+ of the largest network datagram that can be sent
+ on the interface."
+ ::= { ifEntry 4 }
+
+ifSpeed OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An estimate of the interface's current bandwidth
+ in bits per second. For interfaces which do not
+ vary in bandwidth or for those where no accurate
+ estimation can be made, this object should contain
+ the nominal bandwidth."
+ ::= { ifEntry 5 }
+
+ifPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The interface's address at the protocol layer
+ immediately `below' the network layer in the
+ protocol stack. For interfaces which do not have
+
+ such an address (e.g., a serial line), this object
+ should contain an octet string of zero length."
+ ::= { ifEntry 6 }
+
+ifAdminStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The desired state of the interface. The
+ testing(3) state indicates that no operational
+ packets can be passed."
+ ::= { ifEntry 7 }
+
+ifOperStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1), -- ready to pass packets
+ down(2),
+ testing(3) -- in some test mode
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The current operational state of the interface.
+ The testing(3) state indicates that no operational
+ packets can be passed."
+ ::= { ifEntry 8 }
+
+ifLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of sysUpTime at the time the interface
+ entered its current operational state. If the
+ current state was entered prior to the last re-
+ initialization of the local network management
+ subsystem, then this object contains a zero
+ value."
+ ::= { ifEntry 9 }
+
+ifInOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets received on the
+ interface, including framing characters."
+ ::= { ifEntry 10 }
+
+ifInUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of subnetwork-unicast packets
+ delivered to a higher-layer protocol."
+ ::= { ifEntry 11 }
+
+ifInNUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of non-unicast (i.e., subnetwork-
+ broadcast or subnetwork-multicast) packets
+ delivered to a higher-layer protocol."
+ ::= { ifEntry 12 }
+
+ifInDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of inbound packets which were chosen
+ to be discarded even though no errors had been
+ detected to prevent their being deliverable to a
+ higher-layer protocol. One possible reason for
+ discarding such a packet could be to free up
+ buffer space."
+ ::= { ifEntry 13 }
+
+ifInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of inbound packets that contained
+ errors preventing them from being deliverable to a
+ higher-layer protocol."
+ ::= { ifEntry 14 }
+
+ifInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of packets received via the interface
+ which were discarded because of an unknown or
+ unsupported protocol."
+ ::= { ifEntry 15 }
+
+ifOutOctets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of octets transmitted out of the
+ interface, including framing characters."
+ ::= { ifEntry 16 }
+
+ifOutUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets that higher-level
+ protocols requested be transmitted to a
+ subnetwork-unicast address, including those that
+ were discarded or not sent."
+ ::= { ifEntry 17 }
+
+ifOutNUcastPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of packets that higher-level
+ protocols requested be transmitted to a non-
+ unicast (i.e., a subnetwork-broadcast or
+ subnetwork-multicast) address, including those
+ that were discarded or not sent."
+ ::= { ifEntry 18 }
+
+ifOutDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of outbound packets which were chosen
+
+ to be discarded even though no errors had been
+ detected to prevent their being transmitted. One
+ possible reason for discarding such a packet could
+ be to free up buffer space."
+ ::= { ifEntry 19 }
+
+ifOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of outbound packets that could not be
+ transmitted because of errors."
+ ::= { ifEntry 20 }
+
+ifOutQLen OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The length of the output packet queue (in
+ packets)."
+ ::= { ifEntry 21 }
+
+ifSpecific OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular media being used to realize the
+ interface. For example, if the interface is
+ realized by an ethernet, then the value of this
+ object refers to a document defining objects
+ specific to ethernet. If this information is not
+ present, its value should be set to the OBJECT
+ IDENTIFIER { 0 0 }, which is a syntatically valid
+ object identifier, and any conformant
+ implementation of ASN.1 and BER must be able to
+ generate and recognize this value."
+ ::= { ifEntry 22 }
+
+-- the Address Translation group
+
+-- Implementation of the Address Translation group is
+-- mandatory for all systems. Note however that this group
+-- is deprecated by MIB-II. That is, it is being included
+
+-- solely for compatibility with MIB-I nodes, and will most
+-- likely be excluded from MIB-III nodes. From MIB-II and
+-- onwards, each network protocol group contains its own
+-- address translation tables.
+
+-- The Address Translation group contains one table which is
+-- the union across all interfaces of the translation tables
+-- for converting a NetworkAddress (e.g., an IP address) into
+-- a subnetwork-specific address. For lack of a better term,
+-- this document refers to such a subnetwork-specific address
+-- as a `physical' address.
+
+-- Examples of such translation tables are: for broadcast
+-- media where ARP is in use, the translation table is
+-- equivalent to the ARP cache; or, on an X.25 network where
+-- non-algorithmic translation to X.121 addresses is
+-- required, the translation table contains the
+-- NetworkAddress to X.121 address equivalences.
+
+atTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AtEntry
+ ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The Address Translation tables contain the
+ NetworkAddress to `physical' address equivalences.
+ Some interfaces do not use translation tables for
+ determining address equivalences (e.g., DDN-X.25
+ has an algorithmic method); if all interfaces are
+ of this type, then the Address Translation table
+ is empty, i.e., has zero entries."
+ ::= { at 1 }
+
+atEntry OBJECT-TYPE
+ SYNTAX AtEntry
+ ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "Each entry contains one NetworkAddress to
+ `physical' address equivalence."
+ INDEX { atIfIndex,
+ atNetAddress }
+ ::= { atTable 1 }
+
+AtEntry ::=
+ SEQUENCE {
+ atIfIndex
+ INTEGER,
+ atPhysAddress
+ PhysAddress,
+ atNetAddress
+ NetworkAddress
+ }
+
+atIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The interface on which this entry's equivalence
+ is effective. The interface identified by a
+ particular value of this index is the same
+ interface as identified by the same value of
+ ifIndex."
+ ::= { atEntry 1 }
+
+atPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The media-dependent `physical' address.
+
+ Setting this object to a null string (one of zero
+ length) has the effect of invaliding the
+ corresponding entry in the atTable object. That
+ is, it effectively dissasociates the interface
+ identified with said entry from the mapping
+ identified with said entry. It is an
+ implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared
+ to receive tabular information from agents that
+ corresponds to entries not currently in use.
+ Proper interpretation of such entries requires
+ examination of the relevant atPhysAddress object."
+ ::= { atEntry 2 }
+
+atNetAddress OBJECT-TYPE
+ SYNTAX NetworkAddress
+ ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The NetworkAddress (e.g., the IP address)
+ corresponding to the media-dependent `physical'
+ address."
+ ::= { atEntry 3 }
+
+-- the IP group
+
+-- Implementation of the IP group is mandatory for all
+-- systems.
+
+ipForwarding OBJECT-TYPE
+ SYNTAX INTEGER {
+ forwarding(1), -- acting as a gateway
+ not-forwarding(2) -- NOT acting as a gateway
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The indication of whether this entity is acting
+ as an IP gateway in respect to the forwarding of
+ datagrams received by, but not addressed to, this
+ entity. IP gateways forward datagrams. IP hosts
+ do not (except those source-routed via the host).
+
+ Note that for some managed nodes, this object may
+ take on only a subset of the values possible.
+ Accordingly, it is appropriate for an agent to
+ return a `badValue' response if a management
+ station attempts to change this object to an
+ inappropriate value."
+ ::= { ip 1 }
+
+ipDefaultTTL OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The default value inserted into the Time-To-Live
+ field of the IP header of datagrams originated at
+ this entity, whenever a TTL value is not supplied
+ by the transport layer protocol."
+ ::= { ip 2 }
+
+ipInReceives OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of input datagrams received from
+ interfaces, including those received in error."
+ ::= { ip 3 }
+
+ipInHdrErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input datagrams discarded due to
+ errors in their IP headers, including bad
+ checksums, version number mismatch, other format
+ errors, time-to-live exceeded, errors discovered
+ in processing their IP options, etc."
+ ::= { ip 4 }
+
+ipInAddrErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input datagrams discarded because
+ the IP address in their IP header's destination
+ field was not a valid address to be received at
+ this entity. This count includes invalid
+ addresses (e.g., 0.0.0.0) and addresses of
+ unsupported Classes (e.g., Class E). For entities
+ which are not IP Gateways and therefore do not
+ forward datagrams, this counter includes datagrams
+ discarded because the destination address was not
+ a local address."
+ ::= { ip 5 }
+
+ipForwDatagrams OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input datagrams for which this
+ entity was not their final IP destination, as a
+ result of which an attempt was made to find a
+ route to forward them to that final destination.
+ In entities which do not act as IP Gateways, this
+ counter will include only those packets which were
+ Source-Routed via this entity, and the Source-
+ Route option processing was successful."
+ ::= { ip 6 }
+
+ipInUnknownProtos OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally-addressed datagrams
+ received successfully but discarded because of an
+ unknown or unsupported protocol."
+ ::= { ip 7 }
+
+ipInDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of input IP datagrams for which no
+ problems were encountered to prevent their
+ continued processing, but which were discarded
+ (e.g., for lack of buffer space). Note that this
+ counter does not include any datagrams discarded
+ while awaiting re-assembly."
+ ::= { ip 8 }
+
+ipInDelivers OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of input datagrams successfully
+ delivered to IP user-protocols (including ICMP)."
+ ::= { ip 9 }
+
+ipOutRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of IP datagrams which local IP
+ user-protocols (including ICMP) supplied to IP in
+ requests for transmission. Note that this counter
+ does not include any datagrams counted in
+ ipForwDatagrams."
+ ::= { ip 10 }
+
+ipOutDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of output IP datagrams for which no
+
+ problem was encountered to prevent their
+ transmission to their destination, but which were
+ discarded (e.g., for lack of buffer space). Note
+ that this counter would include datagrams counted
+ in ipForwDatagrams if any such packets met this
+ (discretionary) discard criterion."
+ ::= { ip 11 }
+
+ipOutNoRoutes OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams discarded because no
+ route could be found to transmit them to their
+ destination. Note that this counter includes any
+ packets counted in ipForwDatagrams which meet this
+ `no-route' criterion. Note that this includes any
+ datagarms which a host cannot route because all of
+ its default gateways are down."
+ ::= { ip 12 }
+
+ipReasmTimeout OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of seconds which received
+ fragments are held while they are awaiting
+ reassembly at this entity."
+ ::= { ip 13 }
+
+ipReasmReqds OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP fragments received which needed
+ to be reassembled at this entity."
+ ::= { ip 14 }
+
+ipReasmOKs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams successfully re-
+ assembled."
+ ::= { ip 15 }
+
+ipReasmFails OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of failures detected by the IP re-
+ assembly algorithm (for whatever reason: timed
+ out, errors, etc). Note that this is not
+ necessarily a count of discarded IP fragments
+ since some algorithms (notably the algorithm in
+ RFC 815) can lose track of the number of fragments
+ by combining them as they are received."
+ ::= { ip 16 }
+
+ipFragOKs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams that have been
+ successfully fragmented at this entity."
+ ::= { ip 17 }
+
+ipFragFails OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagrams that have been
+ discarded because they needed to be fragmented at
+ this entity but could not be, e.g., because their
+ Don't Fragment flag was set."
+ ::= { ip 18 }
+
+ipFragCreates OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of IP datagram fragments that have
+ been generated as a result of fragmentation at
+ this entity."
+ ::= { ip 19 }
+
+-- the IP address table
+
+-- The IP address table contains this entity's IP addressing
+-- information.
+
+ipAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpAddrEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The table of addressing information relevant to
+ this entity's IP addresses."
+ ::= { ip 20 }
+
+ipAddrEntry OBJECT-TYPE
+ SYNTAX IpAddrEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The addressing information for one of this
+ entity's IP addresses."
+ INDEX { ipAdEntAddr }
+ ::= { ipAddrTable 1 }
+
+IpAddrEntry ::=
+ SEQUENCE {
+ ipAdEntAddr
+ IpAddress,
+ ipAdEntIfIndex
+ INTEGER,
+ ipAdEntNetMask
+ IpAddress,
+ ipAdEntBcastAddr
+ INTEGER,
+ ipAdEntReasmMaxSize
+ INTEGER (0..65535)
+ }
+
+ipAdEntAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address to which this entry's addressing
+ information pertains."
+ ::= { ipAddrEntry 1 }
+
+ipAdEntIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The index value which uniquely identifies the
+ interface to which this entry is applicable. The
+ interface identified by a particular value of this
+ index is the same interface as identified by the
+ same value of ifIndex."
+ ::= { ipAddrEntry 2 }
+
+ipAdEntNetMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The subnet mask associated with the IP address of
+ this entry. The value of the mask is an IP
+ address with all the network bits set to 1 and all
+ the hosts bits set to 0."
+ ::= { ipAddrEntry 3 }
+
+ipAdEntBcastAddr OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The value of the least-significant bit in the IP
+ broadcast address used for sending datagrams on
+ the (logical) interface associated with the IP
+ address of this entry. For example, when the
+ Internet standard all-ones broadcast address is
+ used, the value will be 1. This value applies to
+ both the subnet and network broadcasts addresses
+ used by the entity on this (logical) interface."
+ ::= { ipAddrEntry 4 }
+
+ipAdEntReasmMaxSize OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The size of the largest IP datagram which this
+ entity can re-assemble from incoming IP fragmented
+ datagrams received on this interface."
+ ::= { ipAddrEntry 5 }
+
+-- the IP routing table
+
+-- The IP routing table contains an entry for each route
+-- presently known to this entity.
+
+ipRouteTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpRouteEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "This entity's IP Routing table."
+ ::= { ip 21 }
+
+ipRouteEntry OBJECT-TYPE
+ SYNTAX IpRouteEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A route to a particular destination."
+ INDEX { ipRouteDest }
+ ::= { ipRouteTable 1 }
+
+IpRouteEntry ::=
+ SEQUENCE {
+ ipRouteDest
+ IpAddress,
+ ipRouteIfIndex
+ INTEGER,
+ ipRouteMetric1
+ INTEGER,
+ ipRouteMetric2
+ INTEGER,
+ ipRouteMetric3
+ INTEGER,
+ ipRouteMetric4
+ INTEGER,
+ ipRouteNextHop
+ IpAddress,
+ ipRouteType
+ INTEGER,
+ ipRouteProto
+ INTEGER,
+ ipRouteAge
+ INTEGER,
+ ipRouteMask
+ IpAddress,
+ ipRouteMetric5
+ INTEGER,
+ ipRouteInfo
+ OBJECT IDENTIFIER
+ }
+
+ipRouteDest OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The destination IP address of this route. An
+ entry with a value of 0.0.0.0 is considered a
+ default route. Multiple routes to a single
+ destination can appear in the table, but access to
+ such multiple entries is dependent on the table-
+ access mechanisms defined by the network
+ management protocol in use."
+ ::= { ipRouteEntry 1 }
+
+ipRouteIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The index value which uniquely identifies the
+ local interface through which the next hop of this
+ route should be reached. The interface identified
+ by a particular value of this index is the same
+ interface as identified by the same value of
+ ifIndex."
+ ::= { ipRouteEntry 2 }
+
+ipRouteMetric1 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The primary routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 3 }
+
+ipRouteMetric2 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 4 }
+
+ipRouteMetric3 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 5 }
+
+ipRouteMetric4 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 6 }
+
+ipRouteNextHop OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of the next hop of this route.
+ (In the case of a route bound to an interface
+ which is realized via a broadcast media, the value
+ of this field is the agent's IP address on that
+ interface.)"
+ ::= { ipRouteEntry 7 }
+
+ipRouteType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ invalid(2), -- an invalidated route
+
+ -- route to directly
+ direct(3), -- connected (sub-)network
+
+ -- route to a non-local
+ indirect(4) -- host/network/sub-network
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of route. Note that the values
+ direct(3) and indirect(4) refer to the notion of
+ direct and indirect routing in the IP
+ architecture.
+
+ Setting this object to the value invalid(2) has
+ the effect of invalidating the corresponding entry
+ in the ipRouteTable object. That is, it
+ effectively dissasociates the destination
+ identified with said entry from the route
+ identified with said entry. It is an
+ implementation-specific matter as to whether the
+ agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared
+ to receive tabular information from agents that
+ corresponds to entries not currently in use.
+ Proper interpretation of such entries requires
+ examination of the relevant ipRouteType object."
+ ::= { ipRouteEntry 8 }
+
+ipRouteProto OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ -- non-protocol information,
+ -- e.g., manually configured
+ local(2), -- entries
+
+ -- set via a network
+ netmgmt(3), -- management protocol
+
+ -- obtained via ICMP,
+ icmp(4), -- e.g., Redirect
+
+ -- the remaining values are
+ -- all gateway routing
+ -- protocols
+ egp(5),
+ ggp(6),
+ hello(7),
+ rip(8),
+ is-is(9),
+ es-is(10),
+ ciscoIgrp(11),
+ bbnSpfIgp(12),
+ ospf(13),
+ bgp(14)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The routing mechanism via which this route was
+ learned. Inclusion of values for gateway routing
+ protocols is not intended to imply that hosts
+ should support those protocols."
+ ::= { ipRouteEntry 9 }
+
+ipRouteAge OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The number of seconds since this route was last
+ updated or otherwise determined to be correct.
+ Note that no semantics of `too old' can be implied
+ except through knowledge of the routing protocol
+ by which the route was learned."
+ ::= { ipRouteEntry 10 }
+
+ipRouteMask OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Indicate the mask to be logical-ANDed with the
+ destination address before being compared to the
+ value in the ipRouteDest field. For those systems
+ that do not support arbitrary subnet masks, an
+ agent constructs the value of the ipRouteMask by
+ determining whether the value of the correspondent
+ ipRouteDest field belong to a class-A, B, or C
+ network, and then using one of:
+
+ mask network
+ 255.0.0.0 class-A
+ 255.255.0.0 class-B
+ 255.255.255.0 class-C
+
+ If the value of the ipRouteDest is 0.0.0.0 (a
+ default route), then the mask value is also
+ 0.0.0.0. It should be noted that all IP routing
+ subsystems implicitly use this mechanism."
+ ::= { ipRouteEntry 11 }
+
+ipRouteMetric5 OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "An alternate routing metric for this route. The
+ semantics of this metric are determined by the
+ routing-protocol specified in the route's
+ ipRouteProto value. If this metric is not used,
+ its value should be set to -1."
+ ::= { ipRouteEntry 12 }
+
+ipRouteInfo OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A reference to MIB definitions specific to the
+ particular routing protocol which is responsible
+ for this route, as determined by the value
+ specified in the route's ipRouteProto value. If
+ this information is not present, its value should
+ be set to the OBJECT IDENTIFIER { 0 0 }, which is
+ a syntatically valid object identifier, and any
+ conformant implementation of ASN.1 and BER must be
+ able to generate and recognize this value."
+ ::= { ipRouteEntry 13 }
+
+-- the IP Address Translation table
+
+-- The IP address translation table contain the IpAddress to
+-- `physical' address equivalences. Some interfaces do not
+-- use translation tables for determining address
+-- equivalences (e.g., DDN-X.25 has an algorithmic method);
+-- if all interfaces are of this type, then the Address
+-- Translation table is empty, i.e., has zero entries.
+
+ipNetToMediaTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF IpNetToMediaEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The IP Address Translation table used for mapping
+ from IP addresses to physical addresses."
+ ::= { ip 22 }
+
+ipNetToMediaEntry OBJECT-TYPE
+ SYNTAX IpNetToMediaEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Each entry contains one IpAddress to `physical'
+ address equivalence."
+ INDEX { ipNetToMediaIfIndex,
+ ipNetToMediaNetAddress }
+ ::= { ipNetToMediaTable 1 }
+
+IpNetToMediaEntry ::=
+ SEQUENCE {
+ ipNetToMediaIfIndex
+ INTEGER,
+ ipNetToMediaPhysAddress
+ PhysAddress,
+ ipNetToMediaNetAddress
+ IpAddress,
+ ipNetToMediaType
+ INTEGER
+ }
+
+ipNetToMediaIfIndex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The interface on which this entry's equivalence
+ is effective. The interface identified by a
+ particular value of this index is the same
+ interface as identified by the same value of
+ ifIndex."
+ ::= { ipNetToMediaEntry 1 }
+
+ipNetToMediaPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The media-dependent `physical' address."
+ ::= { ipNetToMediaEntry 2 }
+
+ipNetToMediaNetAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The IpAddress corresponding to the media-
+ dependent `physical' address."
+ ::= { ipNetToMediaEntry 3 }
+
+ipNetToMediaType OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ invalid(2), -- an invalidated mapping
+ dynamic(3),
+ static(4)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of mapping.
+
+ Setting this object to the value invalid(2) has
+ the effect of invalidating the corresponding entry
+ in the ipNetToMediaTable. That is, it effectively
+ dissasociates the interface identified with said
+ entry from the mapping identified with said entry.
+ It is an implementation-specific matter as to
+ whether the agent removes an invalidated entry
+ from the table. Accordingly, management stations
+ must be prepared to receive tabular information
+ from agents that corresponds to entries not
+ currently in use. Proper interpretation of such
+ entries requires examination of the relevant
+ ipNetToMediaType object."
+ ::= { ipNetToMediaEntry 4 }
+
+-- additional IP objects
+
+ipRoutingDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of routing entries which were chosen
+ to be discarded even though they are valid. One
+ possible reason for discarding such an entry could
+ be to free-up buffer space for other routing
+
+ entries."
+ ::= { ip 23 }
+
+-- the ICMP group
+
+-- Implementation of the ICMP group is mandatory for all
+-- systems.
+
+icmpInMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ICMP messages which the
+ entity received. Note that this counter includes
+ all those counted by icmpInErrors."
+ ::= { icmp 1 }
+
+icmpInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP messages which the entity
+ received but determined as having ICMP-specific
+ errors (bad ICMP checksums, bad length, etc.)."
+ ::= { icmp 2 }
+
+icmpInDestUnreachs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+ messages received."
+ ::= { icmp 3 }
+
+icmpInTimeExcds OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages
+ received."
+ ::= { icmp 4 }
+
+icmpInParmProbs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ received."
+ ::= { icmp 5 }
+
+icmpInSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Source Quench messages
+ received."
+ ::= { icmp 6 }
+
+icmpInRedirects OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Redirect messages received."
+ ::= { icmp 7 }
+
+icmpInEchos OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages
+ received."
+ ::= { icmp 8 }
+
+icmpInEchoReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages received."
+ ::= { icmp 9 }
+
+icmpInTimestamps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Timestamp (request) messages
+ received."
+ ::= { icmp 10 }
+
+icmpInTimestampReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages
+ received."
+ ::= { icmp 11 }
+
+icmpInAddrMasks OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages
+ received."
+ ::= { icmp 12 }
+
+icmpInAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages
+ received."
+ ::= { icmp 13 }
+
+icmpOutMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ICMP messages which this
+ entity attempted to send. Note that this counter
+ includes all those counted by icmpOutErrors."
+ ::= { icmp 14 }
+
+icmpOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP messages which this entity did
+ not send due to problems discovered within ICMP
+
+ such as a lack of buffers. This value should not
+ include errors discovered outside the ICMP layer
+ such as the inability of IP to route the resultant
+ datagram. In some implementations there may be no
+ types of error which contribute to this counter's
+ value."
+ ::= { icmp 15 }
+
+icmpOutDestUnreachs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Destination Unreachable
+ messages sent."
+ ::= { icmp 16 }
+
+icmpOutTimeExcds OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Time Exceeded messages sent."
+ ::= { icmp 17 }
+
+icmpOutParmProbs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Parameter Problem messages
+ sent."
+ ::= { icmp 18 }
+
+icmpOutSrcQuenchs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Source Quench messages sent."
+ ::= { icmp 19 }
+
+icmpOutRedirects OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Redirect messages sent. For a
+
+ host, this object will always be zero, since hosts
+ do not send redirects."
+ ::= { icmp 20 }
+
+icmpOutEchos OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo (request) messages sent."
+ ::= { icmp 21 }
+
+icmpOutEchoReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Echo Reply messages sent."
+ ::= { icmp 22 }
+
+icmpOutTimestamps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Timestamp (request) messages
+ sent."
+ ::= { icmp 23 }
+
+icmpOutTimestampReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Timestamp Reply messages
+ sent."
+ ::= { icmp 24 }
+
+icmpOutAddrMasks OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Request messages
+ sent."
+ ::= { icmp 25 }
+
+icmpOutAddrMaskReps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ICMP Address Mask Reply messages
+ sent."
+ ::= { icmp 26 }
+
+-- the TCP group
+
+-- Implementation of the TCP group is mandatory for all
+-- systems that implement the TCP.
+
+-- Note that instances of object types that represent
+-- information about a particular TCP connection are
+-- transient; they persist only as long as the connection
+-- in question.
+
+tcpRtoAlgorithm OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+
+ constant(2), -- a constant rto
+ rsre(3), -- MIL-STD-1778, Appendix B
+ vanj(4) -- Van Jacobson's algorithm [10]
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The algorithm used to determine the timeout value
+ used for retransmitting unacknowledged octets."
+ ::= { tcp 1 }
+
+tcpRtoMin OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The minimum value permitted by a TCP
+ implementation for the retransmission timeout,
+ measured in milliseconds. More refined semantics
+ for objects of this type depend upon the algorithm
+ used to determine the retransmission timeout. In
+ particular, when the timeout algorithm is rsre(3),
+ an object of this type has the semantics of the
+ LBOUND quantity described in RFC 793."
+ ::= { tcp 2 }
+
+tcpRtoMax OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum value permitted by a TCP
+ implementation for the retransmission timeout,
+ measured in milliseconds. More refined semantics
+ for objects of this type depend upon the algorithm
+ used to determine the retransmission timeout. In
+ particular, when the timeout algorithm is rsre(3),
+ an object of this type has the semantics of the
+ UBOUND quantity described in RFC 793."
+ ::= { tcp 3 }
+
+tcpMaxConn OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The limit on the total number of TCP connections
+ the entity can support. In entities where the
+ maximum number of connections is dynamic, this
+ object should contain the value -1."
+ ::= { tcp 4 }
+
+tcpActiveOpens OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the SYN-SENT state from the
+ CLOSED state."
+ ::= { tcp 5 }
+
+tcpPassiveOpens OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the SYN-RCVD state from the
+ LISTEN state."
+ ::= { tcp 6 }
+
+tcpAttemptFails OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the CLOSED state from either
+ the SYN-SENT state or the SYN-RCVD state, plus the
+ number of times TCP connections have made a direct
+ transition to the LISTEN state from the SYN-RCVD
+ state."
+ ::= { tcp 7 }
+
+tcpEstabResets OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of times TCP connections have made a
+ direct transition to the CLOSED state from either
+ the ESTABLISHED state or the CLOSE-WAIT state."
+ ::= { tcp 8 }
+
+tcpCurrEstab OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of TCP connections for which the
+ current state is either ESTABLISHED or CLOSE-
+ WAIT."
+ ::= { tcp 9 }
+
+tcpInSegs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of segments received, including
+ those received in error. This count includes
+ segments received on currently established
+ connections."
+ ::= { tcp 10 }
+
+tcpOutSegs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of segments sent, including
+ those on current connections but excluding those
+ containing only retransmitted octets."
+ ::= { tcp 11 }
+
+tcpRetransSegs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of segments retransmitted - that
+ is, the number of TCP segments transmitted
+ containing one or more previously transmitted
+ octets."
+ ::= { tcp 12 }
+
+-- the TCP Connection table
+
+-- The TCP connection table contains information about this
+-- entity's existing TCP connections.
+
+tcpConnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpConnEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing TCP connection-specific
+ information."
+ ::= { tcp 13 }
+
+tcpConnEntry OBJECT-TYPE
+ SYNTAX TcpConnEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about a particular current TCP
+ connection. An object of this type is transient,
+ in that it ceases to exist when (or soon after)
+ the connection makes the transition to the CLOSED
+ state."
+ INDEX { tcpConnLocalAddress,
+ tcpConnLocalPort,
+ tcpConnRemAddress,
+ tcpConnRemPort }
+ ::= { tcpConnTable 1 }
+
+TcpConnEntry ::=
+ SEQUENCE {
+ tcpConnState
+ INTEGER,
+ tcpConnLocalAddress
+ IpAddress,
+ tcpConnLocalPort
+ INTEGER (0..65535),
+ tcpConnRemAddress
+ IpAddress,
+ tcpConnRemPort
+ INTEGER (0..65535)
+ }
+
+tcpConnState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The only value which may be set by a management
+ station is deleteTCB(12). Accordingly, it is
+ appropriate for an agent to return a `badValue'
+ response if a management station attempts to set
+ this object to any other value.
+
+ If a management station sets this object to the
+ value deleteTCB(12), then this has the effect of
+ deleting the TCB (as defined in RFC 793) of the
+ corresponding connection on the managed node,
+ resulting in immediate termination of the
+ connection.
+
+ As an implementation-specific option, a RST
+
+ segment may be sent from the managed node to the
+ other TCP endpoint (note however that RST segments
+ are not sent reliably)."
+ ::= { tcpConnEntry 1 }
+
+tcpConnLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local IP address for this TCP connection. In
+ the case of a connection in the listen state which
+ is willing to accept connections for any IP
+ interface associated with the node, the value
+ 0.0.0.0 is used."
+ ::= { tcpConnEntry 2 }
+
+tcpConnLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpConnEntry 3 }
+
+tcpConnRemAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The remote IP address for this TCP connection."
+ ::= { tcpConnEntry 4 }
+
+tcpConnRemPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { tcpConnEntry 5 }
+
+-- additional TCP objects
+
+tcpInErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of segments received in error
+ (e.g., bad TCP checksums)."
+ ::= { tcp 14 }
+
+tcpOutRsts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of TCP segments sent containing the
+ RST flag."
+ ::= { tcp 15 }
+
+-- the UDP group
+
+-- Implementation of the UDP group is mandatory for all
+-- systems which implement the UDP.
+
+udpInDatagrams OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of UDP datagrams delivered to
+ UDP users."
+ ::= { udp 1 }
+
+udpNoPorts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of received UDP datagrams for
+ which there was no application at the destination
+ port."
+ ::= { udp 2 }
+
+udpInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of received UDP datagrams that could
+ not be delivered for reasons other than the lack
+ of an application at the destination port."
+ ::= { udp 3 }
+
+udpOutDatagrams OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of UDP datagrams sent from this
+ entity."
+ ::= { udp 4 }
+
+-- the UDP Listener table
+
+-- The UDP listener table contains information about this
+-- entity's UDP end-points on which a local application is
+-- currently accepting datagrams.
+
+udpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UdpEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table containing UDP listener information."
+ ::= { udp 5 }
+
+udpEntry OBJECT-TYPE
+ SYNTAX UdpEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about a particular current UDP
+ listener."
+ INDEX { udpLocalAddress, udpLocalPort }
+ ::= { udpTable 1 }
+
+UdpEntry ::=
+ SEQUENCE {
+ udpLocalAddress
+ IpAddress,
+ udpLocalPort
+ INTEGER (0..65535)
+ }
+
+udpLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local IP address for this UDP listener. In
+
+ the case of a UDP listener which is willing to
+ accept datagrams for any IP interface associated
+ with the node, the value 0.0.0.0 is used."
+ ::= { udpEntry 1 }
+
+udpLocalPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The local port number for this UDP listener."
+ ::= { udpEntry 2 }
+
+-- the EGP group
+
+-- Implementation of the EGP group is mandatory for all
+-- systems which implement the EGP.
+
+egpInMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received without
+ error."
+ ::= { egp 1 }
+
+egpInErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received that proved
+ to be in error."
+ ::= { egp 2 }
+
+egpOutMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of locally generated EGP
+ messages."
+ ::= { egp 3 }
+
+egpOutErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally generated EGP messages not
+ sent due to resource limitations within an EGP
+ entity."
+ ::= { egp 4 }
+
+-- the EGP Neighbor table
+
+-- The EGP neighbor table contains information about this
+-- entity's EGP neighbors.
+
+egpNeighTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EgpNeighEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The EGP neighbor table."
+ ::= { egp 5 }
+
+egpNeighEntry OBJECT-TYPE
+ SYNTAX EgpNeighEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "Information about this entity's relationship with
+ a particular EGP neighbor."
+ INDEX { egpNeighAddr }
+ ::= { egpNeighTable 1 }
+
+EgpNeighEntry ::=
+ SEQUENCE {
+ egpNeighState
+ INTEGER,
+ egpNeighAddr
+ IpAddress,
+ egpNeighAs
+ INTEGER,
+ egpNeighInMsgs
+ Counter,
+ egpNeighInErrs
+ Counter,
+ egpNeighOutMsgs
+ Counter,
+ egpNeighOutErrs
+ Counter,
+ egpNeighInErrMsgs
+ Counter,
+ egpNeighOutErrMsgs
+ Counter,
+ egpNeighStateUps
+ Counter,
+ egpNeighStateDowns
+ Counter,
+ egpNeighIntervalHello
+ INTEGER,
+ egpNeighIntervalPoll
+ INTEGER,
+ egpNeighMode
+ INTEGER,
+ egpNeighEventTrigger
+ INTEGER
+ }
+
+egpNeighState OBJECT-TYPE
+ SYNTAX INTEGER {
+ idle(1),
+ acquisition(2),
+ down(3),
+ up(4),
+ cease(5)
+ }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The EGP state of the local system with respect to
+ this entry's EGP neighbor. Each EGP state is
+ represented by a value that is one greater than
+ the numerical value associated with said state in
+ RFC 904."
+ ::= { egpNeighEntry 1 }
+
+egpNeighAddr OBJECT-TYPE
+ SYNTAX IpAddress
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The IP address of this entry's EGP neighbor."
+ ::= { egpNeighEntry 2 }
+
+egpNeighAs OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The autonomous system of this EGP peer. Zero
+ should be specified if the autonomous system
+ number of the neighbor is not yet known."
+ ::= { egpNeighEntry 3 }
+
+egpNeighInMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received without error
+ from this EGP peer."
+ ::= { egpNeighEntry 4 }
+
+egpNeighInErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP messages received from this EGP
+ peer that proved to be in error (e.g., bad EGP
+ checksum)."
+ ::= { egpNeighEntry 5 }
+
+egpNeighOutMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally generated EGP messages to
+ this EGP peer."
+ ::= { egpNeighEntry 6 }
+
+egpNeighOutErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of locally generated EGP messages not
+ sent to this EGP peer due to resource limitations
+ within an EGP entity."
+ ::= { egpNeighEntry 7 }
+
+egpNeighInErrMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP-defined error messages received
+ from this EGP peer."
+ ::= { egpNeighEntry 8 }
+
+egpNeighOutErrMsgs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP-defined error messages sent to
+ this EGP peer."
+ ::= { egpNeighEntry 9 }
+
+egpNeighStateUps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP state transitions to the UP
+ state with this EGP peer."
+ ::= { egpNeighEntry 10 }
+
+egpNeighStateDowns OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of EGP state transitions from the UP
+ state to any other state with this EGP peer."
+ ::= { egpNeighEntry 11 }
+
+egpNeighIntervalHello OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The interval between EGP Hello command
+ retransmissions (in hundredths of a second). This
+ represents the t1 timer as defined in RFC 904."
+ ::= { egpNeighEntry 12 }
+
+egpNeighIntervalPoll OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The interval between EGP poll command
+
+ retransmissions (in hundredths of a second). This
+ represents the t3 timer as defined in RFC 904."
+ ::= { egpNeighEntry 13 }
+
+egpNeighMode OBJECT-TYPE
+ SYNTAX INTEGER { active(1), passive(2) }
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The polling mode of this EGP entity, either
+ passive or active."
+ ::= { egpNeighEntry 14 }
+
+egpNeighEventTrigger OBJECT-TYPE
+ SYNTAX INTEGER { start(1), stop(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A control variable used to trigger operator-
+ initiated Start and Stop events. When read, this
+ variable always returns the most recent value that
+ egpNeighEventTrigger was set to. If it has not
+ been set since the last initialization of the
+ network management subsystem on the node, it
+ returns a value of `stop'.
+
+ When set, this variable causes a Start or Stop
+ event on the specified neighbor, as specified on
+ pages 8-10 of RFC 904. Briefly, a Start event
+ causes an Idle peer to begin neighbor acquisition
+ and a non-Idle peer to reinitiate neighbor
+ acquisition. A stop event causes a non-Idle peer
+ to return to the Idle state until a Start event
+ occurs, either via egpNeighEventTrigger or
+ otherwise."
+ ::= { egpNeighEntry 15 }
+
+-- additional EGP objects
+
+egpAs OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The autonomous system number of this EGP entity."
+ ::= { egp 6 }
+
+-- the Transmission group
+
+-- Based on the transmission media underlying each interface
+-- on a system, the corresponding portion of the Transmission
+-- group is mandatory for that system.
+
+-- When Internet-standard definitions for managing
+-- transmission media are defined, the transmission group is
+-- used to provide a prefix for the names of those objects.
+
+-- Typically, such definitions reside in the experimental
+-- portion of the MIB until they are "proven", then as a
+-- part of the Internet standardization process, the
+-- definitions are accordingly elevated and a new object
+-- identifier, under the transmission group is defined. By
+-- convention, the name assigned is:
+--
+-- type OBJECT IDENTIFIER ::= { transmission number }
+--
+-- where "type" is the symbolic value used for the media in
+-- the ifType column of the ifTable object, and "number" is
+-- the actual integer value corresponding to the symbol.
+
+-- the SNMP group
+
+-- Implementation of the SNMP group is mandatory for all
+-- systems which support an SNMP protocol entity. Some of
+-- the objects defined below will be zero-valued in those
+-- SNMP implementations that are optimized to support only
+-- those functions specific to either a management agent or
+-- a management station. In particular, it should be
+-- observed that the objects below refer to an SNMP entity,
+-- and there may be several SNMP entities residing on a
+-- managed node (e.g., if the node is hosting acting as
+-- a management station).
+
+snmpInPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of Messages delivered to the
+ SNMP entity from the transport service."
+ ::= { snmp 1 }
+
+snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ delivered to the SNMP protocol entity and were for
+ an unsupported SNMP version."
+ ::= { snmp 3 }
+
+snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages delivered to
+ the SNMP protocol entity which used a SNMP
+ community name not known to said entity."
+ ::= { snmp 4 }
+
+snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Messages delivered to
+ the SNMP protocol entity which represented an SNMP
+ operation which was not allowed by the SNMP
+ community named in the Message."
+ ::= { snmp 5 }
+
+snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors
+ encountered by the SNMP protocol entity when
+ decoding received SNMP Messages."
+ ::= { snmp 6 }
+
+-- { snmp 7 } is not used
+
+snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig'."
+ ::= { snmp 8 }
+
+snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `noSuchName'."
+ ::= { snmp 9 }
+
+snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 10 }
+
+snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `readOnly'. It should be noted that it is a
+ protocol error to generate an SNMP PDU which
+ contains the value `readOnly' in the error-status
+ field, as such this object is provided as a means
+ of detecting incorrect implementations of the
+
+ SNMP."
+ ::= { snmp 11 }
+
+snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 12 }
+
+snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Set-Request
+ PDUs."
+ ::= { snmp 14 }
+
+snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 16 }
+
+snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 17 }
+
+snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 18 }
+
+snmpInTraps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 19 }
+
+snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `tooBig.'"
+ ::= { snmp 20 }
+
+snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status is
+ `noSuchName'."
+ ::= { snmp 21 }
+
+snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `badValue'."
+ ::= { snmp 22 }
+
+-- { snmp 23 } is not used
+
+snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ generated by the SNMP protocol entity and for
+ which the value of the error-status field is
+ `genErr'."
+ ::= { snmp 24 }
+
+snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Indicates whether the SNMP agent process is
+ permitted to generate authentication-failure
+ traps. The value of this object overrides any
+ configuration information; as such, it provides a
+ means whereby all authentication-failure traps may
+ be disabled.
+
+ Note that it is strongly recommended that this
+ object be stored in non-volatile memory so that it
+ remains constant between re-initializations of the
+ network management system."
+ ::= { snmp 30 }
+
+END
diff --git a/mibs/RIPv2-MIB.txt b/mibs/RIPv2-MIB.txt
new file mode 100644
index 00000000..6c92fb5f
--- /dev/null
+++ b/mibs/RIPv2-MIB.txt
@@ -0,0 +1,530 @@
+ RIPv2-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Counter32,
+ TimeTicks, IpAddress FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, RowStatus FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ mib-2 FROM RFC1213-MIB;
+
+ -- This MIB module uses the extended OBJECT-TYPE macro as
+ -- defined in [9].
+
+ rip2 MODULE-IDENTITY
+ LAST-UPDATED "9407272253Z" -- Wed Jul 27 22:53:04 PDT 1994
+ ORGANIZATION "IETF RIP-II Working Group"
+ CONTACT-INFO
+ " Fred Baker
+ Postal: Cisco Systems
+ 519 Lado Drive
+ Santa Barbara, California 93111
+ Tel: +1 805 681 0115
+ E-Mail: fbaker@cisco.com
+
+ Postal: Gary Malkin
+ Xylogics, Inc.
+ 53 Third Avenue
+ Burlington, MA 01803
+
+ Phone: (617) 272-8140
+ EMail: gmalkin@Xylogics.COM"
+ DESCRIPTION
+ "The MIB module to describe the RIP2 Version 2 Protocol"
+ ::= { mib-2 23 }
+
+ -- RIP-2 Management Information Base
+
+ -- the RouteTag type represents the contents of the
+ -- Route Domain field in the packet header or route entry.
+ -- The use of the Route Domain is deprecated.
+
+ RouteTag ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "the RouteTag type represents the contents of the Route Domain
+ field in the packet header or route entry"
+ SYNTAX OCTET STRING (SIZE (2))
+
+--4.1 Global Counters
+
+-- The RIP-2 Globals Group.
+-- Implementation of this group is mandatory for systems
+-- which implement RIP-2.
+
+-- These counters are intended to facilitate debugging quickly
+-- changing routes or failing neighbors
+
+rip2Globals OBJECT IDENTIFIER ::= { rip2 1 }
+
+ rip2GlobalRouteChanges OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of route changes made to the IP Route
+ Database by RIP. This does not include the refresh
+ of a route's age."
+ ::= { rip2Globals 1 }
+
+ rip2GlobalQueries OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of responses sent to RIP queries
+ from other systems."
+ ::= { rip2Globals 2 }
+
+--4.2 RIP Interface Tables
+
+-- RIP Interfaces Groups
+-- Implementation of these Groups is mandatory for systems
+-- which implement RIP-2.
+
+-- The RIP Interface Status Table.
+
+ rip2IfStatTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Rip2IfStatEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of subnets which require separate
+ status monitoring in RIP."
+ ::= { rip2 2 }
+
+ rip2IfStatEntry OBJECT-TYPE
+ SYNTAX Rip2IfStatEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Single Routing Domain in a single Subnet."
+ INDEX { rip2IfStatAddress }
+ ::= { rip2IfStatTable 1 }
+
+ Rip2IfStatEntry ::=
+ SEQUENCE {
+ rip2IfStatAddress
+ IpAddress,
+ rip2IfStatRcvBadPackets
+ Counter32,
+ rip2IfStatRcvBadRoutes
+ Counter32,
+ rip2IfStatSentUpdates
+ Counter32,
+ rip2IfStatStatus
+ RowStatus
+ }
+
+ rip2IfStatAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP Address of this system on the indicated
+ subnet. For unnumbered interfaces, the value 0.0.0.N,
+ where the least significant 24 bits (N) is the ifIndex
+ for the IP Interface in network byte order."
+ ::= { rip2IfStatEntry 1 }
+
+ rip2IfStatRcvBadPackets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of RIP response packets received by
+ the RIP process which were subsequently discarded
+ for any reason (e.g. a version 0 packet, or an
+ unknown command type)."
+ ::= { rip2IfStatEntry 2 }
+
+ rip2IfStatRcvBadRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of routes, in valid RIP packets,
+ which were ignored for any reason (e.g. unknown
+ address family, or invalid metric)."
+ ::= { rip2IfStatEntry 3 }
+
+ rip2IfStatSentUpdates OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of triggered RIP updates actually
+ sent on this interface. This explicitly does
+ NOT include full updates sent containing new
+ information."
+ ::= { rip2IfStatEntry 4 }
+
+ rip2IfStatStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Writing invalid has the effect of deleting
+ this interface."
+ ::= { rip2IfStatEntry 5 }
+
+-- The RIP Interface Configuration Table.
+
+ rip2IfConfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Rip2IfConfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of subnets which require separate
+ configuration in RIP."
+ ::= { rip2 3 }
+
+ rip2IfConfEntry OBJECT-TYPE
+ SYNTAX Rip2IfConfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A Single Routing Domain in a single Subnet."
+ INDEX { rip2IfConfAddress }
+ ::= { rip2IfConfTable 1 }
+
+ Rip2IfConfEntry ::=
+ SEQUENCE {
+ rip2IfConfAddress
+ IpAddress,
+ rip2IfConfDomain
+ RouteTag,
+ rip2IfConfAuthType
+ INTEGER,
+ rip2IfConfAuthKey
+ OCTET STRING (SIZE(0..16)),
+ rip2IfConfSend
+ INTEGER,
+ rip2IfConfReceive
+ INTEGER,
+ rip2IfConfDefaultMetric
+ INTEGER,
+ rip2IfConfStatus
+ RowStatus,
+ rip2IfConfSrcAddress
+ IpAddress
+ }
+
+ rip2IfConfAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP Address of this system on the indicated
+ subnet. For unnumbered interfaces, the value 0.0.0.N,
+ where the least significant 24 bits (N) is the ifIndex
+ for the IP Interface in network byte order."
+ ::= { rip2IfConfEntry 1 }
+
+ rip2IfConfDomain OBJECT-TYPE
+ SYNTAX RouteTag
+ MAX-ACCESS read-create
+ STATUS obsolete
+ DESCRIPTION
+ "Value inserted into the Routing Domain field
+ of all RIP packets sent on this interface."
+ DEFVAL { '0000'h }
+ ::= { rip2IfConfEntry 2 }
+
+ rip2IfConfAuthType OBJECT-TYPE
+ SYNTAX INTEGER {
+ noAuthentication (1),
+ simplePassword (2),
+ md5 (3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of Authentication used on this
+ interface."
+ DEFVAL { noAuthentication }
+ ::= { rip2IfConfEntry 3 }
+
+ rip2IfConfAuthKey OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..16))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value to be used as the Authentication Key
+ whenever the corresponding instance of
+ rip2IfConfAuthType has a value other than
+ noAuthentication. A modification of the corresponding
+ instance of rip2IfConfAuthType does not modify
+ the rip2IfConfAuthKey value. If a string shorter
+ than 16 octets is supplied, it will be left-
+ justified and padded to 16 octets, on the right,
+ with nulls (0x00).
+
+ Reading this object always results in an OCTET
+ STRING of length zero; authentication may not
+ be bypassed by reading the MIB object."
+ DEFVAL { ''h }
+ ::= { rip2IfConfEntry 4 }
+
+ rip2IfConfSend OBJECT-TYPE
+ SYNTAX INTEGER {
+ doNotSend (1),
+ ripVersion1 (2),
+ rip1Compatible (3),
+ ripVersion2 (4),
+ ripV1Demand (5),
+ ripV2Demand (6)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "What the router sends on this interface.
+ ripVersion1 implies sending RIP updates compliant
+ with RFC 1058. rip1Compatible implies
+ broadcasting RIP-2 updates using RFC 1058 route
+ subsumption rules. ripVersion2 implies
+ multicasting RIP-2 updates. ripV1Demand indicates
+ the use of Demand RIP on a WAN interface under RIP
+ Version 1 rules. ripV2Demand indicates the use of
+ Demand RIP on a WAN interface under Version 2 rules."
+ DEFVAL { rip1Compatible }
+ ::= { rip2IfConfEntry 5 }
+
+ rip2IfConfReceive OBJECT-TYPE
+ SYNTAX INTEGER {
+ rip1 (1),
+ rip2 (2),
+ rip1OrRip2 (3),
+ doNotRecieve (4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This indicates which version of RIP updates
+ are to be accepted. Note that rip2 and
+ rip1OrRip2 implies reception of multicast
+ packets."
+ DEFVAL { rip1OrRip2 }
+ ::= { rip2IfConfEntry 6 }
+
+ rip2IfConfDefaultMetric OBJECT-TYPE
+ SYNTAX INTEGER ( 0..15 )
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This variable indicates the metric that is to
+ be used for the default route entry in RIP updates
+ originated on this interface. A value of zero
+ indicates that no default route should be
+ originated; in this case, a default route via
+ another router may be propagated."
+ ::= { rip2IfConfEntry 7 }
+
+ rip2IfConfStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Writing invalid has the effect of deleting
+ this interface."
+ ::= { rip2IfConfEntry 8 }
+
+ rip2IfConfSrcAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The IP Address this system will use as a source
+ address on this interface. If it is a numbered
+ interface, this MUST be the same value as
+ rip2IfConfAddress. On unnumbered interfaces,
+ it must be the value of rip2IfConfAddress for
+ some interface on the system."
+ ::= { rip2IfConfEntry 9 }
+
+--4.3 Peer Table
+
+-- Peer Table
+
+-- The RIP Peer Group
+-- Implementation of this Group is Optional
+
+-- This group provides information about active peer
+-- relationships intended to assist in debugging. An
+-- active peer is a router from which a valid RIP
+-- updated has been heard in the last 180 seconds.
+
+ rip2PeerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Rip2PeerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of RIP Peers."
+ ::= { rip2 4 }
+
+ rip2PeerEntry OBJECT-TYPE
+ SYNTAX Rip2PeerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information regarding a single routing peer."
+ INDEX { rip2PeerAddress, rip2PeerDomain }
+ ::= { rip2PeerTable 1 }
+
+ Rip2PeerEntry ::=
+ SEQUENCE {
+ rip2PeerAddress
+ IpAddress,
+ rip2PeerDomain
+ RouteTag,
+ rip2PeerLastUpdate
+ TimeTicks,
+ rip2PeerVersion
+ INTEGER,
+ rip2PeerRcvBadPackets
+ Counter32,
+ rip2PeerRcvBadRoutes
+ Counter32
+ }
+
+ rip2PeerAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The IP Address that the peer is using as its source
+ address. Note that on an unnumbered link, this may
+ not be a member of any subnet on the system."
+ ::= { rip2PeerEntry 1 }
+
+ rip2PeerDomain OBJECT-TYPE
+ SYNTAX RouteTag
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value in the Routing Domain field in RIP
+ packets received from the peer. As domain suuport
+ is deprecated, this must be zero."
+ ::= { rip2PeerEntry 2 }
+
+ rip2PeerLastUpdate OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the most recent
+ RIP update was received from this system."
+ ::= { rip2PeerEntry 3 }
+
+ rip2PeerVersion OBJECT-TYPE
+ SYNTAX INTEGER ( 0..255 )
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The RIP version number in the header of the
+ last RIP packet received."
+ ::= { rip2PeerEntry 4 }
+
+ rip2PeerRcvBadPackets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of RIP response packets from this
+ peer discarded as invalid."
+ ::= { rip2PeerEntry 5 }
+
+
+ rip2PeerRcvBadRoutes OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of routes from this peer that were
+ ignored because the entry format was invalid."
+ ::= { rip2PeerEntry 6 }
+
+-- conformance information
+
+rip2Conformance OBJECT IDENTIFIER ::= { rip2 5 }
+
+rip2Groups OBJECT IDENTIFIER ::= { rip2Conformance 1 }
+rip2Compliances OBJECT IDENTIFIER ::= { rip2Conformance 2 }
+
+-- compliance statements
+rip2Compliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement "
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ rip2GlobalGroup,
+ rip2IfStatGroup,
+ rip2IfConfGroup,
+ rip2PeerGroup
+ }
+ GROUP rip2GlobalGroup
+ DESCRIPTION
+ "This group defines global controls for RIP-II systems."
+ GROUP rip2IfStatGroup
+ DESCRIPTION
+ "This group defines interface statistics for RIP-II systems."
+ GROUP rip2IfConfGroup
+ DESCRIPTION
+ "This group defines interface configuration for RIP-II systems."
+ GROUP rip2PeerGroup
+ DESCRIPTION
+ "This group defines peer information for RIP-II systems."
+ ::= { rip2Compliances 1 }
+
+-- units of conformance
+
+rip2GlobalGroup OBJECT-GROUP
+ OBJECTS {
+ rip2GlobalRouteChanges,
+ rip2GlobalQueries
+ }
+ STATUS current
+ DESCRIPTION
+ "This group defines global controls for RIP-II systems."
+ ::= { rip2Groups 1 }
+rip2IfStatGroup OBJECT-GROUP
+ OBJECTS {
+ rip2IfStatAddress,
+ rip2IfStatRcvBadPackets,
+ rip2IfStatRcvBadRoutes,
+ rip2IfStatSentUpdates,
+ rip2IfStatStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "This group defines interface statistics for RIP-II systems."
+ ::= { rip2Groups 2 }
+rip2IfConfGroup OBJECT-GROUP
+ OBJECTS {
+ rip2IfConfAddress,
+ rip2IfConfAuthType,
+ rip2IfConfAuthKey,
+ rip2IfConfSend,
+ rip2IfConfReceive,
+ rip2IfConfDefaultMetric,
+ rip2IfConfStatus,
+ rip2IfConfSrcAddress
+ }
+ STATUS current
+ DESCRIPTION
+ "This group defines interface configuration for RIP-II systems."
+ ::= { rip2Groups 3 }
+rip2PeerGroup OBJECT-GROUP
+ OBJECTS {
+ rip2PeerAddress,
+ rip2PeerDomain,
+ rip2PeerLastUpdate,
+ rip2PeerVersion,
+ rip2PeerRcvBadPackets,
+ rip2PeerRcvBadRoutes
+ }
+ STATUS current
+ DESCRIPTION
+ "This group defines peer information for RIP-II systems."
+ ::= { rip2Groups 4 }
+END
diff --git a/mibs/RMON-MIB.txt b/mibs/RMON-MIB.txt
new file mode 100644
index 00000000..983c22ef
--- /dev/null
+++ b/mibs/RMON-MIB.txt
@@ -0,0 +1,3980 @@
+RMON-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
+ NOTIFICATION-TYPE, mib-2, Counter32,
+ Integer32, TimeTicks FROM SNMPv2-SMI
+
+ TEXTUAL-CONVENTION, DisplayString FROM SNMPv2-TC
+
+ MODULE-COMPLIANCE, OBJECT-GROUP,
+ NOTIFICATION-GROUP FROM SNMPv2-CONF;
+
+-- Remote Network Monitoring MIB
+
+rmonMibModule MODULE-IDENTITY
+ LAST-UPDATED "200005110000Z" -- 11 May, 2000
+ ORGANIZATION "IETF RMON MIB Working Group"
+ CONTACT-INFO
+ "Steve Waldbusser
+ Phone: +1-650-948-6500
+ Fax: +1-650-745-0671
+ Email: waldbusser@nextbeacon.com"
+ DESCRIPTION
+ "Remote network monitoring devices, often called
+ monitors or probes, are instruments that exist for
+ the purpose of managing a network. This MIB defines
+ objects for managing remote network monitoring devices."
+
+ REVISION "200005110000Z" -- 11 May, 2000
+ DESCRIPTION
+ "Reformatted into SMIv2 format.
+
+ This version published as RFC 2819."
+
+ REVISION "199502010000Z" -- 1 Feb, 1995
+ DESCRIPTION
+ "Bug fixes, clarifications and minor changes based on
+ implementation experience, published as RFC1757 [18].
+
+ Two changes were made to object definitions:
+
+ 1) A new status bit has been defined for the
+ captureBufferPacketStatus object, indicating that the
+ packet order within the capture buffer may not be identical to
+ the packet order as received off the wire. This bit may only
+
+ be used for packets transmitted by the probe. Older NMS
+ applications can safely ignore this status bit, which might be
+ used by newer agents.
+
+ 2) The packetMatch trap has been removed. This trap was never
+ actually 'approved' and was not added to this document along
+ with the risingAlarm and fallingAlarm traps. The packetMatch
+ trap could not be throttled, which could cause disruption of
+ normal network traffic under some circumstances. An NMS should
+ configure a risingAlarm threshold on the appropriate
+ channelMatches instance if a trap is desired for a packetMatch
+ event. Note that logging of packetMatch events is still
+ supported--only trap generation for such events has been
+ removed.
+
+ In addition, several clarifications to individual object
+ definitions have been added to assist agent and NMS
+ implementors:
+
+ - global definition of 'good packets' and 'bad packets'
+
+ - more detailed text governing conceptual row creation and
+ modification
+
+ - instructions for probes relating to interface changes and
+ disruptions
+
+ - clarification of some ethernet counter definitions
+
+ - recommended formula for calculating network utilization
+
+ - clarification of channel and captureBuffer behavior for some
+ unusual conditions
+
+ - examples of proper instance naming for each table"
+
+ REVISION "199111010000Z" -- 1 Nov, 1991
+ DESCRIPTION
+ "The original version of this MIB, published as RFC1271."
+ ::= { rmonConformance 8 }
+
+ rmon OBJECT IDENTIFIER ::= { mib-2 16 }
+
+ -- textual conventions
+
+OwnerString ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This data type is used to model an administratively
+ assigned name of the owner of a resource. Implementations
+ must accept values composed of well-formed NVT ASCII
+ sequences. In addition, implementations should accept
+ values composed of well-formed UTF-8 sequences.
+
+ It is suggested that this name contain one or more of
+ the following: IP address, management station name,
+ network manager's name, location, or phone number.
+ In some cases the agent itself will be the owner of
+ an entry. In these cases, this string shall be set
+ to a string starting with 'monitor'.
+
+ SNMP access control is articulated entirely in terms
+ of the contents of MIB views; access to a particular
+ SNMP object instance depends only upon its presence
+ or absence in a particular MIB view and never upon
+ its value or the value of related object instances.
+ Thus, objects of this type afford resolution of
+ resource contention only among cooperating
+ managers; they realize no access control function
+ with respect to uncooperative parties."
+ SYNTAX OCTET STRING (SIZE (0..127))
+
+EntryStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The status of a table entry.
+
+ Setting this object to the value invalid(4) has the
+ effect of invalidating the corresponding entry.
+ That is, it effectively disassociates the mapping
+ identified with said entry.
+ It is an implementation-specific matter as to whether
+ the agent removes an invalidated entry from the table.
+ Accordingly, management stations must be prepared to
+ receive tabular information from agents that corresponds
+ to entries currently not in use. Proper
+ interpretation of such entries requires examination
+ of the relevant EntryStatus object.
+
+ An existing instance of this object cannot be set to
+ createRequest(2). This object may only be set to
+ createRequest(2) when this instance is created. When
+ this object is created, the agent may wish to create
+ supplemental object instances with default values
+ to complete a conceptual row in this table. Because the
+
+ creation of these default objects is entirely at the option
+ of the agent, the manager must not assume that any will be
+ created, but may make use of any that are created.
+ Immediately after completing the create operation, the agent
+ must set this object to underCreation(3).
+
+ When in the underCreation(3) state, an entry is allowed to
+ exist in a possibly incomplete, possibly inconsistent state,
+ usually to allow it to be modified in multiple PDUs. When in
+ this state, an entry is not fully active.
+ Entries shall exist in the underCreation(3) state until
+ the management station is finished configuring the entry
+ and sets this object to valid(1) or aborts, setting this
+ object to invalid(4). If the agent determines that an
+ entry has been in the underCreation(3) state for an
+ abnormally long time, it may decide that the management
+ station has crashed. If the agent makes this decision,
+ it may set this object to invalid(4) to reclaim the
+ entry. A prudent agent will understand that the
+ management station may need to wait for human input
+ and will allow for that possibility in its
+ determination of this abnormally long period.
+
+ An entry in the valid(1) state is fully configured and
+ consistent and fully represents the configuration or
+ operation such a row is intended to represent. For
+ example, it could be a statistical function that is
+ configured and active, or a filter that is available
+ in the list of filters processed by the packet capture
+ process.
+
+ A manager is restricted to changing the state of an entry in
+ the following ways:
+
+ To: valid createRequest underCreation invalid
+ From:
+ valid OK NO OK OK
+ createRequest N/A N/A N/A N/A
+ underCreation OK NO OK OK
+ invalid NO NO NO OK
+ nonExistent NO OK NO OK
+
+ In the table above, it is not applicable to move the state
+ from the createRequest state to any other state because the
+ manager will never find the variable in that state. The
+ nonExistent state is not a value of the enumeration, rather
+ it means that the entryStatus variable does not exist at all.
+
+ An agent may allow an entryStatus variable to change state in
+ additional ways, so long as the semantics of the states are
+ followed. This allowance is made to ease the implementation of
+ the agent and is made despite the fact that managers should
+ never exercise these additional state transitions."
+ SYNTAX INTEGER {
+ valid(1),
+ createRequest(2),
+ underCreation(3),
+ invalid(4)
+ }
+
+ statistics OBJECT IDENTIFIER ::= { rmon 1 }
+ history OBJECT IDENTIFIER ::= { rmon 2 }
+ alarm OBJECT IDENTIFIER ::= { rmon 3 }
+ hosts OBJECT IDENTIFIER ::= { rmon 4 }
+ hostTopN OBJECT IDENTIFIER ::= { rmon 5 }
+ matrix OBJECT IDENTIFIER ::= { rmon 6 }
+ filter OBJECT IDENTIFIER ::= { rmon 7 }
+ capture OBJECT IDENTIFIER ::= { rmon 8 }
+ event OBJECT IDENTIFIER ::= { rmon 9 }
+ rmonConformance OBJECT IDENTIFIER ::= { rmon 20 }
+
+-- The Ethernet Statistics Group
+--
+-- Implementation of the Ethernet Statistics group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The ethernet statistics group contains statistics measured by the
+-- probe for each monitored interface on this device. These
+-- statistics take the form of free running counters that start from
+-- zero when a valid entry is created.
+--
+-- This group currently has statistics defined only for
+-- Ethernet interfaces. Each etherStatsEntry contains statistics
+-- for one Ethernet interface. The probe must create one
+-- etherStats entry for each monitored Ethernet interface
+-- on the device.
+
+etherStatsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of Ethernet statistics entries."
+ ::= { statistics 1 }
+
+etherStatsEntry OBJECT-TYPE
+ SYNTAX EtherStatsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics kept for a particular
+ Ethernet interface. As an example, an instance of the
+ etherStatsPkts object might be named etherStatsPkts.1"
+ INDEX { etherStatsIndex }
+ ::= { etherStatsTable 1 }
+
+EtherStatsEntry ::= SEQUENCE {
+ etherStatsIndex Integer32,
+ etherStatsDataSource OBJECT IDENTIFIER,
+ etherStatsDropEvents Counter32,
+ etherStatsOctets Counter32,
+ etherStatsPkts Counter32,
+ etherStatsBroadcastPkts Counter32,
+ etherStatsMulticastPkts Counter32,
+ etherStatsCRCAlignErrors Counter32,
+ etherStatsUndersizePkts Counter32,
+ etherStatsOversizePkts Counter32,
+ etherStatsFragments Counter32,
+ etherStatsJabbers Counter32,
+ etherStatsCollisions Counter32,
+ etherStatsPkts64Octets Counter32,
+ etherStatsPkts65to127Octets Counter32,
+ etherStatsPkts128to255Octets Counter32,
+ etherStatsPkts256to511Octets Counter32,
+ etherStatsPkts512to1023Octets Counter32,
+ etherStatsPkts1024to1518Octets Counter32,
+ etherStatsOwner OwnerString,
+ etherStatsStatus EntryStatus
+}
+
+etherStatsIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of this object uniquely identifies this
+ etherStats entry."
+ ::= { etherStatsEntry 1 }
+
+etherStatsDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of the data that
+ this etherStats entry is configured to analyze. This
+ source can be any ethernet interface on this device.
+ In order to identify a particular interface, this object
+ shall identify the instance of the ifIndex object,
+ defined in RFC 2233 [17], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ etherStatsStatus object is equal to valid(1)."
+ ::= { etherStatsEntry 2 }
+
+etherStatsDropEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources.
+ Note that this number is not necessarily the number of
+ packets dropped; it is just the number of times this
+ condition has been detected."
+ ::= { etherStatsEntry 3 }
+
+etherStatsOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets).
+
+ This object can be used as a reasonable estimate of
+ 10-Megabit ethernet utilization. If greater precision is
+ desired, the etherStatsPkts and etherStatsOctets objects
+ should be sampled before and after a common interval. The
+ differences in the sampled values are Pkts and Octets,
+ respectively, and the number of seconds in the interval is
+ Interval. These values are used to calculate the Utilization
+ as follows:
+
+ Pkts * (9.6 + 6.4) + (Octets * .8)
+ Utilization = -------------------------------------
+ Interval * 10,000
+
+ The result of this equation is the value Utilization which
+ is the percent utilization of the ethernet segment on a
+ scale of 0 to 100 percent."
+ ::= { etherStatsEntry 4 }
+
+etherStatsPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad packets,
+ broadcast packets, and multicast packets) received."
+ ::= { etherStatsEntry 5 }
+
+etherStatsBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to the broadcast address. Note that this
+ does not include multicast packets."
+ ::= { etherStatsEntry 6 }
+
+etherStatsMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of good packets received that were
+ directed to a multicast address. Note that this number
+ does not include packets directed to the broadcast
+
+ address."
+ ::= { etherStatsEntry 7 }
+
+etherStatsCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that
+ had a length (excluding framing bits, but
+ including FCS octets) of between 64 and 1518
+ octets, inclusive, but had either a bad
+ Frame Check Sequence (FCS) with an integral
+ number of octets (FCS Error) or a bad FCS with
+ a non-integral number of octets (Alignment Error)."
+ ::= { etherStatsEntry 8 }
+
+etherStatsUndersizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were
+ less than 64 octets long (excluding framing bits,
+ but including FCS octets) and were otherwise well
+ formed."
+ ::= { etherStatsEntry 9 }
+
+etherStatsOversizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets) and were otherwise
+ well formed."
+ ::= { etherStatsEntry 10 }
+
+etherStatsFragments OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were less than
+ 64 octets in length (excluding framing bits but including
+ FCS octets) and had either a bad Frame Check Sequence
+ (FCS) with an integral number of octets (FCS Error) or a
+ bad FCS with a non-integral number of octets (Alignment
+ Error).
+
+ Note that it is entirely normal for etherStatsFragments to
+ increment. This is because it counts both runts (which are
+ normal occurrences due to collisions) and noise hits."
+ ::= { etherStatsEntry 11 }
+
+etherStatsJabbers OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets), and had either a bad
+ Frame Check Sequence (FCS) with an integral number
+ of octets (FCS Error) or a bad FCS with a non-integral
+ number of octets (Alignment Error).
+
+ Note that this definition of jabber is different
+ than the definition in IEEE-802.3 section 8.2.1.5
+ (10BASE5) and section 10.3.1.4 (10BASE2). These
+ documents define jabber as the condition where any
+ packet exceeds 20 ms. The allowed range to detect
+ jabber is between 20 ms and 150 ms."
+ ::= { etherStatsEntry 12 }
+
+etherStatsCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Collisions"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment.
+
+ The value returned will depend on the location of the
+ RMON probe. Section 8.2.1.3 (10BASE-5) and section
+ 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
+ station must detect a collision, in the receive mode, if
+ three or more stations are transmitting simultaneously. A
+ repeater port must detect a collision when two or more
+
+ stations are transmitting simultaneously. Thus a probe
+ placed on a repeater port could record more collisions
+ than a probe connected to a station on the same segment
+ would.
+
+ Probe location plays a much smaller role when considering
+ 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3
+ defines a collision as the simultaneous presence of signals
+ on the DO and RD circuits (transmitting and receiving
+ at the same time). A 10BASE-T station can only detect
+ collisions when it is transmitting. Thus probes placed on
+ a station and a repeater, should report the same number of
+ collisions.
+
+ Note also that an RMON probe inside a repeater should
+ ideally report collisions between the repeater and one or
+ more other hosts (transmit collisions as defined by IEEE
+ 802.3k) plus receiver collisions observed on any coax
+ segments to which the repeater is connected."
+ ::= { etherStatsEntry 13 }
+
+etherStatsPkts64Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were 64 octets in length
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 14 }
+
+etherStatsPkts65to127Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 65 and 127 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 15 }
+
+etherStatsPkts128to255Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 128 and 255 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 16 }
+
+etherStatsPkts256to511Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 256 and 511 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 17 }
+
+etherStatsPkts512to1023Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 512 and 1023 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 18 }
+
+etherStatsPkts1024to1518Octets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets (including bad
+ packets) received that were between
+ 1024 and 1518 octets in length inclusive
+ (excluding framing bits but including FCS octets)."
+ ::= { etherStatsEntry 19 }
+
+etherStatsOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { etherStatsEntry 20 }
+
+etherStatsStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this etherStats entry."
+ ::= { etherStatsEntry 21 }
+
+-- The History Control Group
+
+-- Implementation of the History Control group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The history control group controls the periodic statistical
+-- sampling of data from various types of networks. The
+-- historyControlTable stores configuration entries that each
+-- define an interface, polling period, and other parameters.
+-- Once samples are taken, their data is stored in an entry
+-- in a media-specific table. Each such entry defines one
+-- sample, and is associated with the historyControlEntry that
+-- caused the sample to be taken. Each counter in the
+-- etherHistoryEntry counts the same event as its similarly-named
+-- counterpart in the etherStatsEntry, except that each value here
+-- is a cumulative sum during a sampling period.
+--
+-- If the probe keeps track of the time of day, it should start
+-- the first sample of the history at a time such that
+-- when the next hour of the day begins, a sample is
+-- started at that instant. This tends to make more
+-- user-friendly reports, and enables comparison of reports
+-- from different probes that have relatively accurate time
+-- of day.
+--
+-- The probe is encouraged to add two history control entries
+-- per monitored interface upon initialization that describe a short
+-- term and a long term polling period. Suggested parameters are 30
+-- seconds for the short term polling period and 30 minutes for
+-- the long term period.
+
+historyControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HistoryControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of history control entries."
+ ::= { history 1 }
+
+historyControlEntry OBJECT-TYPE
+ SYNTAX HistoryControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of parameters that set up a periodic sampling of
+ statistics. As an example, an instance of the
+ historyControlInterval object might be named
+ historyControlInterval.2"
+ INDEX { historyControlIndex }
+ ::= { historyControlTable 1 }
+
+HistoryControlEntry ::= SEQUENCE {
+ historyControlIndex Integer32,
+ historyControlDataSource OBJECT IDENTIFIER,
+ historyControlBucketsRequested Integer32,
+ historyControlBucketsGranted Integer32,
+ historyControlInterval Integer32,
+ historyControlOwner OwnerString,
+ historyControlStatus EntryStatus
+}
+
+historyControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ historyControl table. Each such entry defines a
+ set of samples at a particular interval for an
+ interface on the device."
+ ::= { historyControlEntry 1 }
+
+historyControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of the data for
+ which historical data was collected and
+ placed in a media-specific table on behalf of this
+ historyControlEntry. This source can be any
+ interface on this device. In order to identify
+
+ a particular interface, this object shall identify
+ the instance of the ifIndex object, defined
+ in RFC 2233 [17], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ ::= { historyControlEntry 2 }
+
+historyControlBucketsRequested OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The requested number of discrete time intervals
+ over which data is to be saved in the part of the
+ media-specific table associated with this
+ historyControlEntry.
+
+ When this object is created or modified, the probe
+ should set historyControlBucketsGranted as closely to
+ this object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 50 }
+ ::= { historyControlEntry 3 }
+
+historyControlBucketsGranted OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of discrete sampling intervals
+ over which data shall be saved in the part of
+ the media-specific table associated with this
+ historyControlEntry.
+
+ When the associated historyControlBucketsRequested
+ object is created or modified, the probe
+ should set this object as closely to the requested
+ value as is possible for the particular
+ probe implementation and available resources. The
+ probe must not lower this value except as a result
+ of a modification to the associated
+ historyControlBucketsRequested object.
+
+ There will be times when the actual number of
+ buckets associated with this entry is less than
+ the value of this object. In this case, at the
+ end of each sampling interval, a new bucket will
+ be added to the media-specific table.
+
+ When the number of buckets reaches the value of
+ this object and a new bucket is to be added to the
+ media-specific table, the oldest bucket associated
+ with this historyControlEntry shall be deleted by
+ the agent so that the new bucket can be added.
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted
+ from the media-specific table associated with this
+ historyControlEntry. Enough of the oldest of these
+ entries shall be deleted by the agent so that their
+ number remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value greater
+ than the current value, the number of associated media-
+ specific entries may be allowed to grow."
+ ::= { historyControlEntry 4 }
+
+historyControlInterval OBJECT-TYPE
+ SYNTAX Integer32 (1..3600)
+ UNITS "Seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled for each bucket in the part of the
+ media-specific table associated with this
+ historyControlEntry. This interval can
+ be set to any number of seconds between 1 and
+ 3600 (1 hour).
+
+ Because the counters in a bucket may overflow at their
+
+ maximum value with no indication, a prudent manager will
+ take into account the possibility of overflow in any of
+ the associated counters. It is important to consider the
+ minimum time in which any counter could overflow on a
+ particular media type and set the historyControlInterval
+ object to a value less than this interval. This is
+ typically most important for the 'octets' counter in any
+ media-specific table. For example, on an Ethernet
+ network, the etherHistoryOctets counter could overflow
+ in about one hour at the Ethernet's maximum
+ utilization.
+
+ This object may not be modified if the associated
+ historyControlStatus object is equal to valid(1)."
+ DEFVAL { 1800 }
+ ::= { historyControlEntry 5 }
+
+historyControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { historyControlEntry 6 }
+
+historyControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this historyControl entry.
+
+ Each instance of the media-specific table associated
+ with this historyControlEntry will be deleted by the agent
+ if this historyControlEntry is not equal to valid(1)."
+ ::= { historyControlEntry 7 }
+
+-- The Ethernet History Group
+
+-- Implementation of the Ethernet History group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Ethernet History group records periodic statistical samples
+-- from a network and stores them for later retrieval.
+-- Once samples are taken, their data is stored in an entry
+-- in a media-specific table. Each such entry defines one
+
+-- sample, and is associated with the historyControlEntry that
+-- caused the sample to be taken. This group defines the
+-- etherHistoryTable, for Ethernet networks.
+--
+
+etherHistoryTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EtherHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of Ethernet history entries."
+ ::= { history 2 }
+
+etherHistoryEntry OBJECT-TYPE
+ SYNTAX EtherHistoryEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An historical sample of Ethernet statistics on a particular
+ Ethernet interface. This sample is associated with the
+ historyControlEntry which set up the parameters for
+ a regular collection of these samples. As an example, an
+ instance of the etherHistoryPkts object might be named
+ etherHistoryPkts.2.89"
+ INDEX { etherHistoryIndex , etherHistorySampleIndex }
+ ::= { etherHistoryTable 1 }
+
+EtherHistoryEntry ::= SEQUENCE {
+ etherHistoryIndex Integer32,
+ etherHistorySampleIndex Integer32,
+ etherHistoryIntervalStart TimeTicks,
+ etherHistoryDropEvents Counter32,
+ etherHistoryOctets Counter32,
+ etherHistoryPkts Counter32,
+ etherHistoryBroadcastPkts Counter32,
+ etherHistoryMulticastPkts Counter32,
+ etherHistoryCRCAlignErrors Counter32,
+ etherHistoryUndersizePkts Counter32,
+ etherHistoryOversizePkts Counter32,
+ etherHistoryFragments Counter32,
+ etherHistoryJabbers Counter32,
+ etherHistoryCollisions Counter32,
+ etherHistoryUtilization Integer32
+}
+
+etherHistoryIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The history of which this entry is a part. The
+ history identified by a particular value of this
+ index is the same history as identified
+ by the same value of historyControlIndex."
+ ::= { etherHistoryEntry 1 }
+
+etherHistorySampleIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies the particular
+ sample this entry represents among all samples
+ associated with the same historyControlEntry.
+ This index starts at 1 and increases by one
+ as each new sample is taken."
+ ::= { etherHistoryEntry 2 }
+
+etherHistoryIntervalStart OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the start of the interval
+ over which this sample was measured. If the probe
+ keeps track of the time of day, it should start
+ the first sample of the history at a time such that
+ when the next hour of the day begins, a sample is
+ started at that instant. Note that following this
+ rule may require the probe to delay collecting the
+ first sample of the history, as each sample must be
+ of the same interval. Also note that the sample which
+ is currently being collected is not accessible in this
+ table until the end of its interval."
+ ::= { etherHistoryEntry 3 }
+
+etherHistoryDropEvents OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of events in which packets
+ were dropped by the probe due to lack of resources
+ during this sampling interval. Note that this number
+ is not necessarily the number of packets dropped, it
+ is just the number of times this condition has been
+
+ detected."
+ ::= { etherHistoryEntry 4 }
+
+etherHistoryOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets)."
+ ::= { etherHistoryEntry 5 }
+
+etherHistoryPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets (including bad packets)
+ received during this sampling interval."
+ ::= { etherHistoryEntry 6 }
+
+etherHistoryBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to the
+ broadcast address."
+ ::= { etherHistoryEntry 7 }
+
+etherHistoryMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets received during this
+ sampling interval that were directed to a
+ multicast address. Note that this number does not
+ include packets addressed to the broadcast address."
+ ::= { etherHistoryEntry 8 }
+
+etherHistoryCRCAlignErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that had a length (excluding
+ framing bits but including FCS octets) between
+ 64 and 1518 octets, inclusive, but had either a bad Frame
+ Check Sequence (FCS) with an integral number of octets
+ (FCS Error) or a bad FCS with a non-integral number
+ of octets (Alignment Error)."
+ ::= { etherHistoryEntry 9 }
+
+etherHistoryUndersizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were less than 64 octets
+ long (excluding framing bits but including FCS
+ octets) and were otherwise well formed."
+ ::= { etherHistoryEntry 10 }
+
+etherHistoryOversizePkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were longer than 1518
+ octets (excluding framing bits but including
+ FCS octets) but were otherwise well formed."
+ ::= { etherHistoryEntry 11 }
+
+etherHistoryFragments OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received during this
+ sampling interval that were less than 64 octets in
+ length (excluding framing bits but including FCS
+
+ octets) had either a bad Frame Check Sequence (FCS)
+ with an integral number of octets (FCS Error) or a bad
+ FCS with a non-integral number of octets (Alignment
+ Error).
+
+ Note that it is entirely normal for etherHistoryFragments to
+ increment. This is because it counts both runts (which are
+ normal occurrences due to collisions) and noise hits."
+ ::= { etherHistoryEntry 12 }
+
+etherHistoryJabbers OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets received during this
+ sampling interval that were longer than 1518 octets
+ (excluding framing bits but including FCS octets),
+ and had either a bad Frame Check Sequence (FCS)
+ with an integral number of octets (FCS Error) or
+ a bad FCS with a non-integral number of octets
+ (Alignment Error).
+
+ Note that this definition of jabber is different
+ than the definition in IEEE-802.3 section 8.2.1.5
+ (10BASE5) and section 10.3.1.4 (10BASE2). These
+ documents define jabber as the condition where any
+ packet exceeds 20 ms. The allowed range to detect
+ jabber is between 20 ms and 150 ms."
+ ::= { etherHistoryEntry 13 }
+
+etherHistoryCollisions OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Collisions"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The best estimate of the total number of collisions
+ on this Ethernet segment during this sampling
+ interval.
+
+ The value returned will depend on the location of the
+ RMON probe. Section 8.2.1.3 (10BASE-5) and section
+ 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
+ station must detect a collision, in the receive mode, if
+ three or more stations are transmitting simultaneously. A
+ repeater port must detect a collision when two or more
+
+ stations are transmitting simultaneously. Thus a probe
+ placed on a repeater port could record more collisions
+ than a probe connected to a station on the same segment
+ would.
+
+ Probe location plays a much smaller role when considering
+ 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3
+ defines a collision as the simultaneous presence of signals
+ on the DO and RD circuits (transmitting and receiving
+ at the same time). A 10BASE-T station can only detect
+ collisions when it is transmitting. Thus probes placed on
+ a station and a repeater, should report the same number of
+ collisions.
+
+ Note also that an RMON probe inside a repeater should
+ ideally report collisions between the repeater and one or
+ more other hosts (transmit collisions as defined by IEEE
+ 802.3k) plus receiver collisions observed on any coax
+ segments to which the repeater is connected."
+ ::= { etherHistoryEntry 14 }
+
+etherHistoryUtilization OBJECT-TYPE
+ SYNTAX Integer32 (0..10000)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The best estimate of the mean physical layer
+ network utilization on this interface during this
+ sampling interval, in hundredths of a percent."
+ ::= { etherHistoryEntry 15 }
+
+-- The Alarm Group
+
+-- Implementation of the Alarm group is optional. The Alarm Group
+-- requires the implementation of the Event group.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Alarm group periodically takes statistical samples from
+-- variables in the probe and compares them to thresholds that have
+-- been configured. The alarm table stores configuration
+-- entries that each define a variable, polling period, and
+-- threshold parameters. If a sample is found to cross the
+-- threshold values, an event is generated. Only variables that
+-- resolve to an ASN.1 primitive type of INTEGER (INTEGER, Integer32,
+-- Counter32, Counter64, Gauge32, or TimeTicks) may be monitored in
+-- this way.
+--
+
+-- This function has a hysteresis mechanism to limit the generation
+-- of events. This mechanism generates one event as a threshold
+-- is crossed in the appropriate direction. No more events are
+-- generated for that threshold until the opposite threshold is
+-- crossed.
+--
+-- In the case of a sampling a deltaValue, a probe may implement
+-- this mechanism with more precision if it takes a delta sample
+-- twice per period, each time comparing the sum of the latest two
+-- samples to the threshold. This allows the detection of threshold
+-- crossings that span the sampling boundary. Note that this does
+-- not require any special configuration of the threshold value.
+-- It is suggested that probes implement this more precise algorithm.
+
+alarmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF AlarmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of alarm entries."
+ ::= { alarm 1 }
+
+alarmEntry OBJECT-TYPE
+ SYNTAX AlarmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of parameters that set up a periodic checking
+ for alarm conditions. For example, an instance of the
+ alarmValue object might be named alarmValue.8"
+ INDEX { alarmIndex }
+ ::= { alarmTable 1 }
+
+AlarmEntry ::= SEQUENCE {
+ alarmIndex Integer32,
+ alarmInterval Integer32,
+ alarmVariable OBJECT IDENTIFIER,
+ alarmSampleType INTEGER,
+ alarmValue Integer32,
+ alarmStartupAlarm INTEGER,
+ alarmRisingThreshold Integer32,
+ alarmFallingThreshold Integer32,
+ alarmRisingEventIndex Integer32,
+ alarmFallingEventIndex Integer32,
+ alarmOwner OwnerString,
+ alarmStatus EntryStatus
+}
+
+alarmIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ alarm table. Each such entry defines a
+ diagnostic sample at a particular interval
+ for an object on the device."
+ ::= { alarmEntry 1 }
+
+alarmInterval OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The interval in seconds over which the data is
+ sampled and compared with the rising and falling
+ thresholds. When setting this variable, care
+ should be taken in the case of deltaValue
+ sampling - the interval should be set short enough
+ that the sampled variable is very unlikely to
+ increase or decrease by more than 2^31 - 1 during
+ a single sampling interval.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 2 }
+
+alarmVariable OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object identifier of the particular variable to be
+ sampled. Only variables that resolve to an ASN.1 primitive
+ type of INTEGER (INTEGER, Integer32, Counter32, Counter64,
+ Gauge, or TimeTicks) may be sampled.
+
+ Because SNMP access control is articulated entirely
+ in terms of the contents of MIB views, no access
+ control mechanism exists that can restrict the value of
+ this object to identify only those objects that exist
+ in a particular MIB view. Because there is thus no
+ acceptable means of restricting the read access that
+ could be obtained through the alarm mechanism, the
+ probe must only grant write access to this object in
+
+ those views that have read access to all objects on
+ the probe.
+
+ During a set operation, if the supplied variable name is
+ not available in the selected MIB view, a badValue error
+ must be returned. If at any time the variable name of
+ an established alarmEntry is no longer available in the
+ selected MIB view, the probe must change the status of
+ this alarmEntry to invalid(4).
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 3 }
+
+alarmSampleType OBJECT-TYPE
+ SYNTAX INTEGER {
+ absoluteValue(1),
+ deltaValue(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The method of sampling the selected variable and
+ calculating the value to be compared against the
+ thresholds. If the value of this object is
+ absoluteValue(1), the value of the selected variable
+ will be compared directly with the thresholds at the
+ end of the sampling interval. If the value of this
+ object is deltaValue(2), the value of the selected
+ variable at the last sample will be subtracted from
+ the current value, and the difference compared with
+ the thresholds.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 4 }
+
+alarmValue OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of the statistic during the last sampling
+ period. For example, if the sample type is deltaValue,
+ this value will be the difference between the samples
+ at the beginning and end of the period. If the sample
+ type is absoluteValue, this value will be the sampled
+ value at the end of the period.
+
+ This is the value that is compared with the rising and
+ falling thresholds.
+
+ The value during the current sampling period is not
+ made available until the period is completed and will
+ remain available until the next period completes."
+ ::= { alarmEntry 5 }
+
+alarmStartupAlarm OBJECT-TYPE
+ SYNTAX INTEGER {
+ risingAlarm(1),
+ fallingAlarm(2),
+ risingOrFallingAlarm(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The alarm that may be sent when this entry is first
+ set to valid. If the first sample after this entry
+ becomes valid is greater than or equal to the
+ risingThreshold and alarmStartupAlarm is equal to
+ risingAlarm(1) or risingOrFallingAlarm(3), then a single
+ rising alarm will be generated. If the first sample
+ after this entry becomes valid is less than or equal
+ to the fallingThreshold and alarmStartupAlarm is equal
+ to fallingAlarm(2) or risingOrFallingAlarm(3), then a
+ single falling alarm will be generated.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 6 }
+
+alarmRisingThreshold OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the current
+ sampled value is greater than or equal to this threshold,
+ and the value at the last sampling interval was less than
+ this threshold, a single event will be generated.
+ A single event will also be generated if the first
+ sample after this entry becomes valid is greater than or
+ equal to this threshold and the associated
+ alarmStartupAlarm is equal to risingAlarm(1) or
+ risingOrFallingAlarm(3).
+
+ After a rising event is generated, another such event
+
+ will not be generated until the sampled value
+ falls below this threshold and reaches the
+ alarmFallingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 7 }
+
+alarmFallingThreshold OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A threshold for the sampled statistic. When the current
+ sampled value is less than or equal to this threshold,
+ and the value at the last sampling interval was greater than
+ this threshold, a single event will be generated.
+ A single event will also be generated if the first
+ sample after this entry becomes valid is less than or
+ equal to this threshold and the associated
+ alarmStartupAlarm is equal to fallingAlarm(2) or
+ risingOrFallingAlarm(3).
+
+ After a falling event is generated, another such event
+ will not be generated until the sampled value
+ rises above this threshold and reaches the
+ alarmRisingThreshold.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 8 }
+
+alarmRisingEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a rising threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 9 }
+
+alarmFallingEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The index of the eventEntry that is
+ used when a falling threshold is crossed. The
+ eventEntry identified by a particular value of
+ this index is the same as identified by the same value
+ of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then
+ no association exists. In particular, if this value
+ is zero, no associated event will be generated, as
+ zero is not a valid event index.
+
+ This object may not be modified if the associated
+ alarmStatus object is equal to valid(1)."
+ ::= { alarmEntry 10 }
+
+alarmOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { alarmEntry 11 }
+
+alarmStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this alarm entry."
+ ::= { alarmEntry 12 }
+
+-- The Host Group
+
+-- Implementation of the Host group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The host group discovers new hosts on the network by
+-- keeping a list of source and destination MAC Addresses seen
+-- in good packets. For each of these addresses, the host group
+
+-- keeps a set of statistics. The hostControlTable controls
+-- which interfaces this function is performed on, and contains
+-- some information about the process. On behalf of each
+-- hostControlEntry, data is collected on an interface and placed
+-- in both the hostTable and the hostTimeTable. If the
+-- monitoring device finds itself short of resources, it may
+-- delete entries as needed. It is suggested that the device
+-- delete the least recently used entries first.
+
+-- The hostTable contains entries for each address discovered on
+-- a particular interface. Each entry contains statistical
+-- data about that host. This table is indexed by the
+-- MAC address of the host, through which a random access
+-- may be achieved.
+
+-- The hostTimeTable contains data in the same format as the
+-- hostTable, and must contain the same set of hosts, but is
+-- indexed using hostTimeCreationOrder rather than hostAddress.
+-- The hostTimeCreationOrder is an integer which reflects
+-- the relative order in which a particular entry was discovered
+-- and thus inserted into the table. As this order, and thus
+-- the index, is among those entries currently in the table,
+-- the index for a particular entry may change if an
+-- (earlier) entry is deleted. Thus the association between
+-- hostTimeCreationOrder and hostTimeEntry may be broken at
+-- any time.
+
+-- The hostTimeTable has two important uses. The first is the
+-- fast download of this potentially large table. Because the
+-- index of this table runs from 1 to the size of the table,
+-- inclusive, its values are predictable. This allows very
+-- efficient packing of variables into SNMP PDU's and allows
+-- a table transfer to have multiple packets outstanding.
+-- These benefits increase transfer rates tremendously.
+
+-- The second use of the hostTimeTable is the efficient discovery
+-- by the management station of new entries added to the table.
+-- After the management station has downloaded the entire table,
+-- it knows that new entries will be added immediately after the
+-- end of the current table. It can thus detect new entries there
+-- and retrieve them easily.
+
+-- Because the association between hostTimeCreationOrder and
+-- hostTimeEntry may be broken at any time, the management
+-- station must monitor the related hostControlLastDeleteTime
+-- object. When the management station thus detects a deletion,
+-- it must assume that any such associations have been broken,
+-- and invalidate any it has stored locally. This includes
+
+-- restarting any download of the hostTimeTable that may have been
+-- in progress, as well as rediscovering the end of the
+-- hostTimeTable so that it may detect new entries. If the
+-- management station does not detect the broken association,
+-- it may continue to refer to a particular host by its
+-- creationOrder while unwittingly retrieving the data associated
+-- with another host entirely. If this happens while downloading
+-- the host table, the management station may fail to download
+-- all of the entries in the table.
+
+hostControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of host table control entries."
+ ::= { hosts 1 }
+
+hostControlEntry OBJECT-TYPE
+ SYNTAX HostControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of parameters that set up the discovery of hosts
+ on a particular interface and the collection of statistics
+ about these hosts. For example, an instance of the
+ hostControlTableSize object might be named
+ hostControlTableSize.1"
+ INDEX { hostControlIndex }
+ ::= { hostControlTable 1 }
+
+HostControlEntry ::= SEQUENCE {
+
+ hostControlIndex Integer32,
+ hostControlDataSource OBJECT IDENTIFIER,
+ hostControlTableSize Integer32,
+ hostControlLastDeleteTime TimeTicks,
+ hostControlOwner OwnerString,
+ hostControlStatus EntryStatus
+}
+
+hostControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+
+ hostControl table. Each such entry defines
+ a function that discovers hosts on a particular interface
+ and places statistics about them in the hostTable and
+ the hostTimeTable on behalf of this hostControlEntry."
+ ::= { hostControlEntry 1 }
+
+hostControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of the data for
+ this instance of the host function. This source
+ can be any interface on this device. In order
+ to identify a particular interface, this object shall
+ identify the instance of the ifIndex object, defined
+ in RFC 2233 [17], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ hostControlStatus object is equal to valid(1)."
+ ::= { hostControlEntry 2 }
+
+hostControlTableSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of hostEntries in the hostTable and the
+ hostTimeTable associated with this hostControlEntry."
+ ::= { hostControlEntry 3 }
+
+hostControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the hostTable
+ associated with this hostControlEntry. If no
+ deletions have occurred, this value shall be zero."
+ ::= { hostControlEntry 4 }
+
+hostControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { hostControlEntry 5 }
+
+hostControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this hostControl entry.
+
+ If this object is not equal to valid(1), all associated
+ entries in the hostTable, hostTimeTable, and the
+ hostTopNTable shall be deleted by the agent."
+ ::= { hostControlEntry 6 }
+
+hostTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of host entries."
+ ::= { hosts 2 }
+
+hostEntry OBJECT-TYPE
+ SYNTAX HostEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for a particular host that has
+ been discovered on an interface of this device. For example,
+ an instance of the hostOutBroadcastPkts object might be
+ named hostOutBroadcastPkts.1.6.8.0.32.27.3.176"
+ INDEX { hostIndex, hostAddress }
+ ::= { hostTable 1 }
+
+HostEntry ::= SEQUENCE {
+ hostAddress OCTET STRING,
+ hostCreationOrder Integer32,
+ hostIndex Integer32,
+ hostInPkts Counter32,
+ hostOutPkts Counter32,
+ hostInOctets Counter32,
+ hostOutOctets Counter32,
+ hostOutErrors Counter32,
+ hostOutBroadcastPkts Counter32,
+ hostOutMulticastPkts Counter32
+}
+
+hostAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostEntry 1 }
+
+hostCreationOrder OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that defines the relative ordering of
+ the creation time of hosts captured for a
+ particular hostControlEntry. This index shall
+ be between 1 and N, where N is the value of
+ the associated hostControlTableSize. The ordering
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added earlier
+ have a lower index value than entries added later.
+
+ It is important to note that the order for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTable. By observing
+ this variable, the management station may detect
+ the circumstances where a previous association
+ between a value of hostCreationOrder
+ and a hostEntry may no longer hold."
+ ::= { hostEntry 2 }
+
+hostIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostEntry 3 }
+
+hostInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted to this
+ address since it was added to the hostTable."
+ ::= { hostEntry 4 }
+
+hostOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, including bad packets, transmitted
+ by this address since it was added to the hostTable."
+ ::= { hostEntry 5 }
+
+hostInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted to this address since
+ it was added to the hostTable (excluding framing
+ bits but including FCS octets), except for those
+ octets in bad packets."
+ ::= { hostEntry 6 }
+
+hostOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted by this address since
+ it was added to the hostTable (excluding framing
+ bits but including FCS octets), including those
+ octets in bad packets."
+ ::= { hostEntry 7 }
+
+hostOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted by this address
+ since this host was added to the hostTable."
+ ::= { hostEntry 8 }
+
+hostOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+ since this host was added to the hostTable."
+ ::= { hostEntry 9 }
+
+hostOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTable.
+ Note that this number does not include packets
+ directed to the broadcast address."
+ ::= { hostEntry 10 }
+
+-- host Time Table
+
+hostTimeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTimeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of time-ordered host table entries."
+ ::= { hosts 3 }
+
+hostTimeEntry OBJECT-TYPE
+ SYNTAX HostTimeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for a particular host that has
+ been discovered on an interface of this device. This
+ collection includes the relative ordering of the creation
+ time of this object. For example, an instance of the
+ hostTimeOutBroadcastPkts object might be named
+ hostTimeOutBroadcastPkts.1.687"
+ INDEX { hostTimeIndex, hostTimeCreationOrder }
+ ::= { hostTimeTable 1 }
+
+HostTimeEntry ::= SEQUENCE {
+ hostTimeAddress OCTET STRING,
+ hostTimeCreationOrder Integer32,
+ hostTimeIndex Integer32,
+ hostTimeInPkts Counter32,
+ hostTimeOutPkts Counter32,
+ hostTimeInOctets Counter32,
+ hostTimeOutOctets Counter32,
+ hostTimeOutErrors Counter32,
+ hostTimeOutBroadcastPkts Counter32,
+ hostTimeOutMulticastPkts Counter32
+}
+
+hostTimeAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostTimeEntry 1 }
+
+hostTimeCreationOrder OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the hostTime table among those entries associated
+ with the same hostControlEntry. This index shall
+ be between 1 and N, where N is the value of
+
+ the associated hostControlTableSize. The ordering
+ of the indexes is based on the order of each entry's
+ insertion into the table, in which entries added earlier
+ have a lower index value than entries added later.
+ Thus the management station has the ability to
+ learn of new entries added to this table without
+ downloading the entire table.
+
+ It is important to note that the index for a
+ particular entry may change as an (earlier) entry
+ is deleted from the table. Because this order may
+ change, management stations should make use of the
+ hostControlLastDeleteTime variable in the
+ hostControlEntry associated with the relevant
+ portion of the hostTimeTable. By observing
+ this variable, the management station may detect
+ the circumstances where a download of the table
+ may have missed entries, and where a previous
+ association between a value of hostTimeCreationOrder
+ and a hostTimeEntry may no longer hold."
+ ::= { hostTimeEntry 2 }
+
+hostTimeIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected host statistics of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ index is associated with the hostControlEntry
+ as identified by the same value of hostControlIndex."
+ ::= { hostTimeEntry 3 }
+
+hostTimeInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted to this
+ address since it was added to the hostTimeTable."
+ ::= { hostTimeEntry 4 }
+
+hostTimeOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets, including bad packets, transmitted
+ by this address since it was added to the hostTimeTable."
+ ::= { hostTimeEntry 5 }
+
+hostTimeInOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted to this address since
+ it was added to the hostTimeTable (excluding framing
+ bits but including FCS octets), except for those
+ octets in bad packets."
+ ::= { hostTimeEntry 6 }
+
+hostTimeOutOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets transmitted by this address since
+ it was added to the hostTimeTable (excluding framing
+ bits but including FCS octets), including those
+ octets in bad packets."
+ ::= { hostTimeEntry 7 }
+
+hostTimeOutErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted by this address
+ since this host was added to the hostTimeTable."
+ ::= { hostTimeEntry 8 }
+
+hostTimeOutBroadcastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to the broadcast address
+
+ since this host was added to the hostTimeTable."
+ ::= { hostTimeEntry 9 }
+
+hostTimeOutMulticastPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of good packets transmitted by this
+ address that were directed to a multicast address
+ since this host was added to the hostTimeTable.
+ Note that this number does not include packets directed
+ to the broadcast address."
+ ::= { hostTimeEntry 10 }
+
+-- The Host Top "N" Group
+
+-- Implementation of the Host Top N group is optional. The Host Top N
+-- group requires the implementation of the host group.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Host Top N group is used to prepare reports that describe
+-- the hosts that top a list ordered by one of their statistics.
+-- The available statistics are samples of one of their
+-- base statistics, over an interval specified by the management
+-- station. Thus, these statistics are rate based. The management
+-- station also selects how many such hosts are reported.
+
+-- The hostTopNControlTable is used to initiate the generation of
+-- such a report. The management station may select the parameters
+-- of such a report, such as which interface, which statistic,
+-- how many hosts, and the start and stop times of the sampling.
+-- When the report is prepared, entries are created in the
+-- hostTopNTable associated with the relevant hostTopNControlEntry.
+-- These entries are static for each report after it has been
+-- prepared.
+
+hostTopNControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of top N host control entries."
+ ::= { hostTopN 1 }
+
+hostTopNControlEntry OBJECT-TYPE
+ SYNTAX HostTopNControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that control the creation of a report
+ of the top N hosts according to several metrics. For
+ example, an instance of the hostTopNDuration object might
+ be named hostTopNDuration.3"
+ INDEX { hostTopNControlIndex }
+ ::= { hostTopNControlTable 1 }
+
+HostTopNControlEntry ::= SEQUENCE {
+ hostTopNControlIndex Integer32,
+ hostTopNHostIndex Integer32,
+ hostTopNRateBase INTEGER,
+ hostTopNTimeRemaining Integer32,
+ hostTopNDuration Integer32,
+ hostTopNRequestedSize Integer32,
+ hostTopNGrantedSize Integer32,
+ hostTopNStartTime TimeTicks,
+ hostTopNOwner OwnerString,
+ hostTopNStatus EntryStatus
+}
+
+hostTopNControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the hostTopNControl table. Each such
+ entry defines one top N report prepared for
+ one interface."
+ ::= { hostTopNControlEntry 1 }
+
+hostTopNHostIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The host table for which a top N report will be prepared
+ on behalf of this entry. The host table identified by a
+ particular value of this index is associated with the same
+ host table as identified by the same value of
+ hostIndex.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 2 }
+
+hostTopNRateBase OBJECT-TYPE
+ SYNTAX INTEGER {
+ hostTopNInPkts(1),
+ hostTopNOutPkts(2),
+ hostTopNInOctets(3),
+ hostTopNOutOctets(4),
+ hostTopNOutErrors(5),
+ hostTopNOutBroadcastPkts(6),
+ hostTopNOutMulticastPkts(7)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The variable for each host that the hostTopNRate
+ variable is based upon.
+
+ This object may not be modified if the associated
+ hostTopNStatus object is equal to valid(1)."
+ ::= { hostTopNControlEntry 3 }
+
+hostTopNTimeRemaining OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The number of seconds left in the report currently being
+ collected. When this object is modified by the management
+ station, a new collection is started, possibly aborting
+ a currently running report. The new value is used
+ as the requested duration of this report, which is
+ loaded into the associated hostTopNDuration object.
+
+ When this object is set to a non-zero value, any
+ associated hostTopNEntries shall be made
+ inaccessible by the monitor. While the value of this
+ object is non-zero, it decrements by one per second until
+ it reaches zero. During this time, all associated
+ hostTopNEntries shall remain inaccessible. At the time
+ that this object decrements to zero, the report is made
+ accessible in the hostTopNTable. Thus, the hostTopN
+ table needs to be created only at the end of the collection
+ interval."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 4 }
+
+hostTopNDuration OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of seconds that this report has collected
+ during the last sampling interval, or if this
+ report is currently being collected, the number
+ of seconds that this report is being collected
+ during this sampling interval.
+
+ When the associated hostTopNTimeRemaining object is set,
+ this object shall be set by the probe to the same value
+ and shall not be modified until the next time
+ the hostTopNTimeRemaining is set.
+
+ This value shall be zero if no reports have been
+ requested for this hostTopNControlEntry."
+ DEFVAL { 0 }
+ ::= { hostTopNControlEntry 5 }
+
+hostTopNRequestedSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of hosts requested for the top N
+ table.
+
+ When this object is created or modified, the probe
+ should set hostTopNGrantedSize as closely to this
+ object as is possible for the particular probe
+ implementation and available resources."
+ DEFVAL { 10 }
+ ::= { hostTopNControlEntry 6 }
+
+hostTopNGrantedSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of hosts in the top N table.
+
+ When the associated hostTopNRequestedSize object is
+ created or modified, the probe should set this
+ object as closely to the requested value as is possible
+ for the particular implementation and available
+
+ resources. The probe must not lower this value except
+ as a result of a set to the associated
+ hostTopNRequestedSize object.
+
+ Hosts with the highest value of hostTopNRate shall be
+ placed in this table in decreasing order of this rate
+ until there is no more room or until there are no more
+ hosts."
+ ::= { hostTopNControlEntry 7 }
+
+hostTopNStartTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this top N report was
+ last started. In other words, this is the time that
+ the associated hostTopNTimeRemaining object was
+ modified to start the requested report."
+ ::= { hostTopNControlEntry 8 }
+
+hostTopNOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { hostTopNControlEntry 9 }
+
+hostTopNStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this hostTopNControl entry.
+
+ If this object is not equal to valid(1), all associated
+ hostTopNEntries shall be deleted by the agent."
+ ::= { hostTopNControlEntry 10 }
+
+hostTopNTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF HostTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of top N host entries."
+ ::= { hostTopN 2 }
+
+hostTopNEntry OBJECT-TYPE
+ SYNTAX HostTopNEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of statistics for a host that is part of a top N
+ report. For example, an instance of the hostTopNRate
+ object might be named hostTopNRate.3.10"
+ INDEX { hostTopNReport, hostTopNIndex }
+ ::= { hostTopNTable 1 }
+
+HostTopNEntry ::= SEQUENCE {
+ hostTopNReport Integer32,
+ hostTopNIndex Integer32,
+ hostTopNAddress OCTET STRING,
+ hostTopNRate Integer32
+}
+
+hostTopNReport OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object identifies the top N report of which
+ this entry is a part. The set of hosts
+ identified by a particular value of this
+ object is part of the same report as identified
+ by the same value of the hostTopNControlIndex object."
+ ::= { hostTopNEntry 1 }
+
+hostTopNIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in
+ the hostTopN table among those in the same report.
+ This index is between 1 and N, where N is the
+ number of entries in this table. Increasing values
+ of hostTopNIndex shall be assigned to entries with
+ decreasing values of hostTopNRate until index N
+ is assigned to the entry with the lowest value of
+ hostTopNRate or there are no more hostTopNEntries."
+ ::= { hostTopNEntry 2 }
+
+hostTopNAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The physical address of this host."
+ ::= { hostTopNEntry 3 }
+
+hostTopNRate OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The amount of change in the selected variable
+ during this sampling interval. The selected
+ variable is this host's instance of the object
+ selected by hostTopNRateBase."
+ ::= { hostTopNEntry 4 }
+
+-- The Matrix Group
+
+-- Implementation of the Matrix group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Matrix group consists of the matrixControlTable, matrixSDTable
+-- and the matrixDSTable. These tables store statistics for a
+-- particular conversation between two addresses. As the device
+-- detects a new conversation, including those to a non-unicast
+-- address, it creates a new entry in both of the matrix tables.
+-- It must only create new entries based on information
+-- received in good packets. If the monitoring device finds
+-- itself short of resources, it may delete entries as needed.
+-- It is suggested that the device delete the least recently used
+-- entries first.
+
+matrixControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of information entries for the
+ traffic matrix on each interface."
+ ::= { matrix 1 }
+
+matrixControlEntry OBJECT-TYPE
+ SYNTAX MatrixControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a traffic matrix on a particular
+
+ interface. For example, an instance of the
+ matrixControlLastDeleteTime object might be named
+ matrixControlLastDeleteTime.1"
+ INDEX { matrixControlIndex }
+ ::= { matrixControlTable 1 }
+
+MatrixControlEntry ::= SEQUENCE {
+ matrixControlIndex Integer32,
+ matrixControlDataSource OBJECT IDENTIFIER,
+ matrixControlTableSize Integer32,
+ matrixControlLastDeleteTime TimeTicks,
+ matrixControlOwner OwnerString,
+ matrixControlStatus EntryStatus
+}
+
+matrixControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ matrixControl table. Each such entry defines
+ a function that discovers conversations on a particular
+ interface and places statistics about them in the
+ matrixSDTable and the matrixDSTable on behalf of this
+ matrixControlEntry."
+ ::= { matrixControlEntry 1 }
+
+matrixControlDataSource OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the source of
+ the data from which this entry creates a traffic matrix.
+ This source can be any interface on this device. In
+ order to identify a particular interface, this object
+ shall identify the instance of the ifIndex object,
+ defined in RFC 2233 [17], for the desired
+ interface. For example, if an entry were to receive data
+ from interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ matrixControlStatus object is equal to valid(1)."
+ ::= { matrixControlEntry 2 }
+
+matrixControlTableSize OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of matrixSDEntries in the matrixSDTable
+ for this interface. This must also be the value of
+ the number of entries in the matrixDSTable for this
+ interface."
+ ::= { matrixControlEntry 3 }
+
+matrixControlLastDeleteTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when the last entry
+ was deleted from the portion of the matrixSDTable
+ or matrixDSTable associated with this matrixControlEntry.
+ If no deletions have occurred, this value shall be
+ zero."
+ ::= { matrixControlEntry 4 }
+
+matrixControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { matrixControlEntry 5 }
+
+matrixControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this matrixControl entry.
+
+ If this object is not equal to valid(1), all associated
+ entries in the matrixSDTable and the matrixDSTable
+ shall be deleted by the agent."
+ ::= { matrixControlEntry 6 }
+
+matrixSDTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ source and destination MAC address."
+ ::= { matrix 2 }
+
+matrixSDEntry OBJECT-TYPE
+ SYNTAX MatrixSDEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two addresses on a particular interface. For example,
+ an instance of the matrixSDPkts object might be named
+ matrixSDPkts.1.6.8.0.32.27.3.176.6.8.0.32.10.8.113"
+ INDEX { matrixSDIndex,
+ matrixSDSourceAddress, matrixSDDestAddress }
+ ::= { matrixSDTable 1 }
+
+MatrixSDEntry ::= SEQUENCE {
+ matrixSDSourceAddress OCTET STRING,
+ matrixSDDestAddress OCTET STRING,
+ matrixSDIndex Integer32,
+ matrixSDPkts Counter32,
+ matrixSDOctets Counter32,
+ matrixSDErrors Counter32
+}
+
+matrixSDSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixSDEntry 1 }
+
+matrixSDDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The destination physical address."
+ ::= { matrixSDEntry 2 }
+
+matrixSDIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of matrixControlIndex."
+ ::= { matrixSDEntry 3 }
+
+matrixSDPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number includes
+ bad packets)."
+ ::= { matrixSDEntry 4 }
+
+matrixSDOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets (excluding framing bits but
+ including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixSDEntry 5 }
+
+matrixSDErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted from
+ the source address to the destination address."
+ ::= { matrixSDEntry 6 }
+
+-- Traffic matrix tables from destination to source
+
+matrixDSTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF MatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of traffic matrix entries indexed by
+ destination and source MAC address."
+ ::= { matrix 3 }
+
+matrixDSEntry OBJECT-TYPE
+ SYNTAX MatrixDSEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A collection of statistics for communications between
+ two addresses on a particular interface. For example,
+ an instance of the matrixSDPkts object might be named
+ matrixSDPkts.1.6.8.0.32.10.8.113.6.8.0.32.27.3.176"
+ INDEX { matrixDSIndex,
+ matrixDSDestAddress, matrixDSSourceAddress }
+ ::= { matrixDSTable 1 }
+
+MatrixDSEntry ::= SEQUENCE {
+ matrixDSSourceAddress OCTET STRING,
+ matrixDSDestAddress OCTET STRING,
+ matrixDSIndex Integer32,
+ matrixDSPkts Counter32,
+ matrixDSOctets Counter32,
+ matrixDSErrors Counter32
+}
+
+matrixDSSourceAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The source physical address."
+ ::= { matrixDSEntry 1 }
+
+matrixDSDestAddress OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The destination physical address."
+ ::= { matrixDSEntry 2 }
+
+matrixDSIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The set of collected matrix statistics of which
+ this entry is a part. The set of matrix statistics
+ identified by a particular value of this index
+ is associated with the same matrixControlEntry
+ as identified by the same value of matrixControlIndex."
+ ::= { matrixDSEntry 3 }
+
+matrixDSPkts OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets transmitted from the source
+ address to the destination address (this number includes
+ bad packets)."
+ ::= { matrixDSEntry 4 }
+
+matrixDSOctets OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of octets (excluding framing bits
+ but including FCS octets) contained in all packets
+ transmitted from the source address to the
+ destination address."
+ ::= { matrixDSEntry 5 }
+
+matrixDSErrors OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of bad packets transmitted from
+ the source address to the destination address."
+ ::= { matrixDSEntry 6 }
+
+-- The Filter Group
+
+-- Implementation of the Filter group is optional.
+
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Filter group allows packets to be captured with an
+-- arbitrary filter expression. A logical data and
+-- event stream or "channel" is formed by the packets
+-- that match the filter expression.
+--
+-- This filter mechanism allows the creation of an arbitrary
+-- logical expression with which to filter packets. Each
+-- filter associated with a channel is OR'ed with the others.
+-- Within a filter, any bits checked in the data and status are
+-- AND'ed with respect to other bits in the same filter. The
+-- NotMask also allows for checking for inequality. Finally,
+-- the channelAcceptType object allows for inversion of the
+-- whole equation.
+--
+-- If a management station wishes to receive a trap to alert it
+-- that new packets have been captured and are available for
+-- download, it is recommended that it set up an alarm entry that
+-- monitors the value of the relevant channelMatches instance.
+--
+-- The channel can be turned on or off, and can also
+-- generate events when packets pass through it.
+
+filterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF FilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of packet filter entries."
+ ::= { filter 1 }
+
+filterEntry OBJECT-TYPE
+ SYNTAX FilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters for a packet filter applied on a
+ particular interface. As an example, an instance of the
+ filterPktData object might be named filterPktData.12"
+ INDEX { filterIndex }
+ ::= { filterTable 1 }
+
+FilterEntry ::= SEQUENCE {
+ filterIndex Integer32,
+ filterChannelIndex Integer32,
+ filterPktDataOffset Integer32,
+ filterPktData OCTET STRING,
+ filterPktDataMask OCTET STRING,
+ filterPktDataNotMask OCTET STRING,
+ filterPktStatus Integer32,
+ filterPktStatusMask Integer32,
+ filterPktStatusNotMask Integer32,
+ filterOwner OwnerString,
+ filterStatus EntryStatus
+}
+
+filterIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the filter table. Each such entry defines
+ one filter that is to be applied to every packet
+ received on an interface."
+ ::= { filterEntry 1 }
+
+filterChannelIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object identifies the channel of which this filter
+ is a part. The filters identified by a particular value
+ of this object are associated with the same channel as
+ identified by the same value of the channelIndex object."
+ ::= { filterEntry 2 }
+
+filterPktDataOffset OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The offset from the beginning of each packet where
+ a match of packet data will be attempted. This offset
+ is measured from the point in the physical layer
+ packet after the framing bits, if any. For example,
+ in an Ethernet frame, this point is at the beginning of
+ the destination MAC address.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ DEFVAL { 0 }
+ ::= { filterEntry 3 }
+
+filterPktData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The data that is to be matched with the input packet.
+ For each packet received, this filter and the accompanying
+ filterPktDataMask and filterPktDataNotMask will be
+ adjusted for the offset. The only bits relevant to this
+ match algorithm are those that have the corresponding
+ filterPktDataMask bit equal to one. The following three
+ rules are then applied to every packet:
+
+ (1) If the packet is too short and does not have data
+ corresponding to part of the filterPktData, the packet
+ will fail this data match.
+
+ (2) For each relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to zero, if
+ the bit from the packet is not equal to the corresponding
+ bit from the filterPktData, then the packet will fail
+ this data match.
+
+ (3) If for every relevant bit from the packet with the
+ corresponding filterPktDataNotMask bit set to one, the
+ bit from the packet is equal to the corresponding bit
+ from the filterPktData, then the packet will fail this
+ data match.
+
+ Any packets that have not failed any of the three matches
+ above have passed this data match. In particular, a zero
+ length filter will match any packet.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 4 }
+
+filterPktDataMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mask that is applied to the match process.
+ After adjusting this mask for the offset, only those
+ bits in the received packet that correspond to bits set
+ in this mask are relevant for further processing by the
+
+ match algorithm. The offset is applied to filterPktDataMask
+ in the same way it is applied to the filter. For the
+ purposes of the matching algorithm, if the associated
+ filterPktData object is longer than this mask, this mask is
+ conceptually extended with '1' bits until it reaches the
+ length of the filterPktData object.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 5 }
+
+filterPktDataNotMask OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The inversion mask that is applied to the match
+ process. After adjusting this mask for the offset,
+ those relevant bits in the received packet that correspond
+ to bits cleared in this mask must all be equal to their
+ corresponding bits in the filterPktData object for the packet
+ to be accepted. In addition, at least one of those relevant
+ bits in the received packet that correspond to bits set in
+ this mask must be different to its corresponding bit in the
+ filterPktData object.
+
+ For the purposes of the matching algorithm, if the associated
+ filterPktData object is longer than this mask, this mask is
+ conceptually extended with '0' bits until it reaches the
+ length of the filterPktData object.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 6 }
+
+filterPktStatus OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status that is to be matched with the input packet.
+ The only bits relevant to this match algorithm are those that
+ have the corresponding filterPktStatusMask bit equal to one.
+ The following two rules are then applied to every packet:
+
+ (1) For each relevant bit from the packet status with the
+ corresponding filterPktStatusNotMask bit set to zero, if
+ the bit from the packet status is not equal to the
+
+ corresponding bit from the filterPktStatus, then the
+ packet will fail this status match.
+
+ (2) If for every relevant bit from the packet status with the
+ corresponding filterPktStatusNotMask bit set to one, the
+ bit from the packet status is equal to the corresponding
+ bit from the filterPktStatus, then the packet will fail
+ this status match.
+
+ Any packets that have not failed either of the two matches
+ above have passed this status match. In particular, a zero
+ length status filter will match any packet's status.
+
+ The value of the packet status is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the sum.
+ The errors and the bits that represent them are dependent
+ on the media type of the interface that this channel
+ is receiving packets from.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment error
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this object
+ will have other media-specific errors defined.
+
+ For the purposes of this status matching algorithm, if the
+ packet status is longer than this filterPktStatus object,
+ this object is conceptually extended with '0' bits until it
+ reaches the size of the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 7 }
+
+filterPktStatusMask OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mask that is applied to the status match process.
+ Only those bits in the received packet that correspond to
+ bits set in this mask are relevant for further processing
+ by the status match algorithm. For the purposes
+ of the matching algorithm, if the associated filterPktStatus
+ object is longer than this mask, this mask is conceptually
+ extended with '1' bits until it reaches the size of the
+ filterPktStatus. In addition, if a packet status is longer
+ than this mask, this mask is conceptually extended with '0'
+ bits until it reaches the size of the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 8 }
+
+filterPktStatusNotMask OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The inversion mask that is applied to the status match
+ process. Those relevant bits in the received packet status
+ that correspond to bits cleared in this mask must all be
+ equal to their corresponding bits in the filterPktStatus
+ object for the packet to be accepted. In addition, at least
+ one of those relevant bits in the received packet status
+ that correspond to bits set in this mask must be different
+ to its corresponding bit in the filterPktStatus object for
+ the packet to be accepted.
+
+ For the purposes of the matching algorithm, if the associated
+ filterPktStatus object or a packet status is longer than this
+ mask, this mask is conceptually extended with '0' bits until
+ it reaches the longer of the lengths of the filterPktStatus
+ object and the packet status.
+
+ This object may not be modified if the associated
+ filterStatus object is equal to valid(1)."
+ ::= { filterEntry 9 }
+
+filterOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { filterEntry 10 }
+
+filterStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this filter entry."
+ ::= { filterEntry 11 }
+
+channelTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF ChannelEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of packet channel entries."
+ ::= { filter 2 }
+
+channelEntry OBJECT-TYPE
+ SYNTAX ChannelEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters for a packet channel applied on a
+ particular interface. As an example, an instance of the
+ channelMatches object might be named channelMatches.3"
+ INDEX { channelIndex }
+ ::= { channelTable 1 }
+
+ChannelEntry ::= SEQUENCE {
+ channelIndex Integer32,
+ channelIfIndex Integer32,
+ channelAcceptType INTEGER,
+ channelDataControl INTEGER,
+ channelTurnOnEventIndex Integer32,
+ channelTurnOffEventIndex Integer32,
+ channelEventIndex Integer32,
+ channelEventStatus INTEGER,
+ channelMatches Counter32,
+ channelDescription DisplayString,
+ channelOwner OwnerString,
+ channelStatus EntryStatus
+}
+
+channelIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the channel
+ table. Each such entry defines one channel, a logical
+ data and event stream.
+
+ It is suggested that before creating a channel, an
+ application should scan all instances of the
+ filterChannelIndex object to make sure that there are no
+ pre-existing filters that would be inadvertently be linked
+ to the channel."
+ ::= { channelEntry 1 }
+
+channelIfIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object uniquely identifies the
+ interface on this remote network monitoring device to which
+ the associated filters are applied to allow data into this
+ channel. The interface identified by a particular value
+ of this object is the same interface as identified by the
+ same value of the ifIndex object, defined in RFC 2233 [17].
+
+ The filters in this group are applied to all packets on
+ the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 2 }
+
+channelAcceptType OBJECT-TYPE
+ SYNTAX INTEGER {
+ acceptMatched(1),
+ acceptFailed(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object controls the action of the filters
+ associated with this channel. If this object is equal
+ to acceptMatched(1), packets will be accepted to this
+ channel if they are accepted by both the packet data and
+ packet status matches of an associated filter. If
+ this object is equal to acceptFailed(2), packets will
+ be accepted to this channel only if they fail either
+ the packet data match or the packet status match of
+ each of the associated filters.
+
+ In particular, a channel with no associated filters will
+ match no packets if set to acceptMatched(1) case and will
+ match all packets in the acceptFailed(2) case.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 3 }
+
+channelDataControl OBJECT-TYPE
+ SYNTAX INTEGER {
+ on(1),
+ off(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object controls the flow of data through this channel.
+ If this object is on(1), data, status and events flow
+ through this channel. If this object is off(2), data,
+ status and events will not flow through this channel."
+ DEFVAL { off }
+ ::= { channelEntry 4 }
+
+channelTurnOnEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from off to on when the event is
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOnEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 5 }
+
+channelTurnOffEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to turn the associated
+ channelDataControl from on to off when the event is
+ generated. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelTurnOffEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 6 }
+
+channelEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies the event
+ that is configured to be generated when the
+ associated channelDataControl is on and a packet
+ is matched. The event identified by a particular value
+ of this object is the same event as identified by the
+ same value of the eventIndex object. If there is no
+ corresponding entry in the eventTable, then no
+ association exists. In fact, if no event is intended
+ for this channel, channelEventIndex must be
+ set to zero, a non-existent event index.
+
+ This object may not be modified if the associated
+ channelStatus object is equal to valid(1)."
+ ::= { channelEntry 7 }
+
+channelEventStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+ eventReady(1),
+ eventFired(2),
+ eventAlwaysReady(3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The event status of this channel.
+
+ If this channel is configured to generate events
+ when packets are matched, a means of controlling
+ the flow of those events is often needed. When
+ this object is equal to eventReady(1), a single
+ event may be generated, after which this object
+ will be set by the probe to eventFired(2). While
+ in the eventFired(2) state, no events will be
+ generated until the object is modified to
+ eventReady(1) (or eventAlwaysReady(3)). The
+ management station can thus easily respond to a
+ notification of an event by re-enabling this object.
+
+ If the management station wishes to disable this
+ flow control and allow events to be generated
+ at will, this object may be set to
+ eventAlwaysReady(3). Disabling the flow control
+ is discouraged as it can result in high network
+ traffic or other performance problems."
+ DEFVAL { eventReady }
+ ::= { channelEntry 8 }
+
+channelMatches OBJECT-TYPE
+ SYNTAX Counter32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this channel has matched a packet.
+ Note that this object is updated even when
+ channelDataControl is set to off."
+ ::= { channelEntry 9 }
+
+channelDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A comment describing this channel."
+ ::= { channelEntry 10 }
+
+channelOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { channelEntry 11 }
+
+channelStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this channel entry."
+ ::= { channelEntry 12 }
+
+-- The Packet Capture Group
+
+-- Implementation of the Packet Capture group is optional. The Packet
+-- Capture Group requires implementation of the Filter Group.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Packet Capture group allows packets to be captured
+-- upon a filter match. The bufferControlTable controls
+-- the captured packets output from a channel that is
+-- associated with it. The captured packets are placed
+-- in entries in the captureBufferTable. These entries are
+-- associated with the bufferControlEntry on whose behalf they
+-- were stored.
+
+bufferControlTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF BufferControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of buffers control entries."
+ ::= { capture 1 }
+
+bufferControlEntry OBJECT-TYPE
+ SYNTAX BufferControlEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that control the collection of a stream
+ of packets that have matched filters. As an example, an
+ instance of the bufferControlCaptureSliceSize object might
+ be named bufferControlCaptureSliceSize.3"
+ INDEX { bufferControlIndex }
+ ::= { bufferControlTable 1 }
+
+BufferControlEntry ::= SEQUENCE {
+ bufferControlIndex Integer32,
+ bufferControlChannelIndex Integer32,
+ bufferControlFullStatus INTEGER,
+ bufferControlFullAction INTEGER,
+ bufferControlCaptureSliceSize Integer32,
+ bufferControlDownloadSliceSize Integer32,
+ bufferControlDownloadOffset Integer32,
+ bufferControlMaxOctetsRequested Integer32,
+ bufferControlMaxOctetsGranted Integer32,
+ bufferControlCapturedPackets Integer32,
+ bufferControlTurnOnTime TimeTicks,
+ bufferControlOwner OwnerString,
+ bufferControlStatus EntryStatus
+}
+
+bufferControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the bufferControl table. The value of this
+ index shall never be zero. Each such
+ entry defines one set of packets that is
+ captured and controlled by one or more filters."
+ ::= { bufferControlEntry 1 }
+
+bufferControlChannelIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "An index that identifies the channel that is the
+ source of packets for this bufferControl table.
+ The channel identified by a particular value of this
+ index is the same as identified by the same value of
+ the channelIndex object.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ ::= { bufferControlEntry 2 }
+
+bufferControlFullStatus OBJECT-TYPE
+ SYNTAX INTEGER {
+
+ spaceAvailable(1),
+ full(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object shows whether the buffer has room to
+ accept new packets or if it is full.
+
+ If the status is spaceAvailable(1), the buffer is
+ accepting new packets normally. If the status is
+ full(2) and the associated bufferControlFullAction
+ object is wrapWhenFull, the buffer is accepting new
+ packets by deleting enough of the oldest packets
+ to make room for new ones as they arrive. Otherwise,
+ if the status is full(2) and the
+ bufferControlFullAction object is lockWhenFull,
+ then the buffer has stopped collecting packets.
+
+ When this object is set to full(2) the probe must
+ not later set it to spaceAvailable(1) except in the
+ case of a significant gain in resources such as
+ an increase of bufferControlOctetsGranted. In
+ particular, the wrap-mode action of deleting old
+ packets to make room for newly arrived packets
+ must not affect the value of this object."
+ ::= { bufferControlEntry 3 }
+
+bufferControlFullAction OBJECT-TYPE
+ SYNTAX INTEGER {
+ lockWhenFull(1),
+ wrapWhenFull(2) -- FIFO
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Controls the action of the buffer when it
+ reaches the full status. When in the lockWhenFull(1)
+ state and a packet is added to the buffer that
+ fills the buffer, the bufferControlFullStatus will
+ be set to full(2) and this buffer will stop capturing
+ packets."
+ ::= { bufferControlEntry 4 }
+
+bufferControlCaptureSliceSize OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ that will be saved in this capture buffer.
+ For example, if a 1500 octet packet is received by
+ the probe and this object is set to 500, then only
+ 500 octets of the packet will be stored in the
+ associated capture buffer. If this variable is set
+ to 0, the capture buffer will save as many octets
+ as is possible.
+
+ This object may not be modified if the associated
+ bufferControlStatus object is equal to valid(1)."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 5 }
+
+bufferControlDownloadSliceSize OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum number of octets of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+ if 500 octets of a packet have been stored in the
+ associated capture buffer, the associated
+ bufferControlDownloadOffset is 0, and this
+ object is set to 100, then the captureBufferPacket
+ object that contains the packet will contain only
+ the first 100 octets of the packet.
+
+ A prudent manager will take into account possible
+ interoperability or fragmentation problems that may
+ occur if the download slice size is set too large.
+ In particular, conformant SNMP implementations are not
+ required to accept messages whose length exceeds 484
+ octets, although they are encouraged to support larger
+ datagrams whenever feasible."
+ DEFVAL { 100 }
+ ::= { bufferControlEntry 6 }
+
+bufferControlDownloadOffset OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The offset of the first octet of each packet
+ in this capture buffer that will be returned in
+ an SNMP retrieval of that packet. For example,
+ if 500 octets of a packet have been stored in the
+ associated capture buffer and this object is set to
+ 100, then the captureBufferPacket object that
+ contains the packet will contain bytes starting
+ 100 octets into the packet."
+ DEFVAL { 0 }
+ ::= { bufferControlEntry 7 }
+
+bufferControlMaxOctetsRequested OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The requested maximum number of octets to be
+ saved in this captureBuffer, including any
+ implementation-specific overhead. If this variable
+ is set to -1, the capture buffer will save as many
+ octets as is possible.
+
+ When this object is created or modified, the probe
+ should set bufferControlMaxOctetsGranted as closely
+ to this object as is possible for the particular probe
+ implementation and available resources. However, if
+ the object has the special value of -1, the probe
+ must set bufferControlMaxOctetsGranted to -1."
+ DEFVAL { -1 }
+ ::= { bufferControlEntry 8 }
+
+bufferControlMaxOctetsGranted OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of octets that can be
+ saved in this captureBuffer, including overhead.
+ If this variable is -1, the capture buffer will save
+ as many octets as possible.
+
+ When the bufferControlMaxOctetsRequested object is
+ created or modified, the probe should set this object
+ as closely to the requested value as is possible for the
+ particular probe implementation and available resources.
+ However, if the request object has the special value
+
+ of -1, the probe must set this object to -1.
+
+ The probe must not lower this value except as a result of
+ a modification to the associated
+ bufferControlMaxOctetsRequested object.
+
+ When this maximum number of octets is reached
+ and a new packet is to be added to this
+ capture buffer and the corresponding
+ bufferControlFullAction is set to wrapWhenFull(2),
+ enough of the oldest packets associated with this
+ capture buffer shall be deleted by the agent so
+ that the new packet can be added. If the corresponding
+ bufferControlFullAction is set to lockWhenFull(1),
+ the new packet shall be discarded. In either case,
+ the probe must set bufferControlFullStatus to
+ full(2).
+
+ When the value of this object changes to a value less
+ than the current value, entries are deleted from
+ the captureBufferTable associated with this
+ bufferControlEntry. Enough of the
+ oldest of these captureBufferEntries shall be
+ deleted by the agent so that the number of octets
+ used remains less than or equal to the new value of
+ this object.
+
+ When the value of this object changes to a value greater
+ than the current value, the number of associated
+ captureBufferEntries may be allowed to grow."
+ ::= { bufferControlEntry 9 }
+
+bufferControlCapturedPackets OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Packets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of packets currently in this captureBuffer."
+ ::= { bufferControlEntry 10 }
+
+bufferControlTurnOnTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this capture buffer was
+ first turned on."
+ ::= { bufferControlEntry 11 }
+
+bufferControlOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it."
+ ::= { bufferControlEntry 12 }
+
+bufferControlStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this buffer Control Entry."
+ ::= { bufferControlEntry 13 }
+
+captureBufferTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF CaptureBufferEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of packets captured off of a channel."
+ ::= { capture 2 }
+
+captureBufferEntry OBJECT-TYPE
+ SYNTAX CaptureBufferEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A packet captured off of an attached network. As an
+ example, an instance of the captureBufferPacketData
+ object might be named captureBufferPacketData.3.1783"
+ INDEX { captureBufferControlIndex, captureBufferIndex }
+ ::= { captureBufferTable 1 }
+
+CaptureBufferEntry ::= SEQUENCE {
+ captureBufferControlIndex Integer32,
+ captureBufferIndex Integer32,
+ captureBufferPacketID Integer32,
+ captureBufferPacketData OCTET STRING,
+ captureBufferPacketLength Integer32,
+ captureBufferPacketTime Integer32,
+ captureBufferPacketStatus Integer32
+}
+
+captureBufferControlIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The index of the bufferControlEntry with which
+ this packet is associated."
+ ::= { captureBufferEntry 1 }
+
+captureBufferIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the captureBuffer table associated with a
+ particular bufferControlEntry. This index will
+ start at 1 and increase by one for each new packet
+ added with the same captureBufferControlIndex.
+
+ Should this value reach 2147483647, the next packet
+ added with the same captureBufferControlIndex shall
+ cause this value to wrap around to 1."
+ ::= { captureBufferEntry 2 }
+
+captureBufferPacketID OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that describes the order of packets
+ that are received on a particular interface.
+ The packetID of a packet captured on an
+ interface is defined to be greater than the
+ packetID's of all packets captured previously on
+ the same interface. As the captureBufferPacketID
+ object has a maximum positive value of 2^31 - 1,
+ any captureBufferPacketID object shall have the
+ value of the associated packet's packetID mod 2^31."
+ ::= { captureBufferEntry 3 }
+
+captureBufferPacketData OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The data inside the packet, starting at the beginning
+ of the packet plus any offset specified in the
+
+ associated bufferControlDownloadOffset, including any
+ link level headers. The length of the data in this object
+ is the minimum of the length of the captured packet minus
+ the offset, the length of the associated
+ bufferControlCaptureSliceSize minus the offset, and the
+ associated bufferControlDownloadSliceSize. If this minimum
+ is less than zero, this object shall have a length of zero."
+ ::= { captureBufferEntry 4 }
+
+captureBufferPacketLength OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Octets"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The actual length (off the wire) of the packet stored
+ in this entry, including FCS octets."
+ ::= { captureBufferEntry 5 }
+
+captureBufferPacketTime OBJECT-TYPE
+ SYNTAX Integer32
+ UNITS "Milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of milliseconds that had passed since
+ this capture buffer was first turned on when this
+ packet was captured."
+ ::= { captureBufferEntry 6 }
+
+captureBufferPacketStatus OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A value which indicates the error status of this packet.
+
+ The value of this object is defined in the same way as
+ filterPktStatus. The value is a sum. This sum
+ initially takes the value zero. Then, for each
+ error, E, that has been discovered in this packet,
+ 2 raised to a value representing E is added to the sum.
+
+ The errors defined for a packet captured off of an
+ Ethernet interface are as follows:
+
+ bit # Error
+ 0 Packet is longer than 1518 octets
+
+ 1 Packet is shorter than 64 octets
+ 2 Packet experienced a CRC or Alignment error
+ 3 First packet in this capture buffer after
+ it was detected that some packets were
+ not processed correctly.
+ 4 Packet's order in buffer is only approximate
+ (May only be set for packets sent from
+ the probe)
+
+ For example, an Ethernet fragment would have a
+ value of 6 (2^1 + 2^2).
+
+ As this MIB is expanded to new media types, this object
+ will have other media-specific errors defined."
+ ::= { captureBufferEntry 7 }
+
+-- The Event Group
+
+-- Implementation of the Event group is optional.
+-- Consult the MODULE-COMPLIANCE macro for the authoritative
+-- conformance information for this MIB.
+--
+-- The Event group controls the generation and notification
+-- of events from this device. Each entry in the eventTable
+-- describes the parameters of the event that can be triggered.
+-- Each event entry is fired by an associated condition located
+-- elsewhere in the MIB. An event entry may also be associated
+-- with a function elsewhere in the MIB that will be executed
+-- when the event is generated. For example, a channel may
+-- be turned on or off by the firing of an event.
+--
+-- Each eventEntry may optionally specify that a log entry
+-- be created on its behalf whenever the event occurs.
+-- Each entry may also specify that notification should
+-- occur by way of SNMP trap messages. In this case, the
+-- community for the trap message is given in the associated
+-- eventCommunity object. The enterprise and specific trap
+-- fields of the trap are determined by the condition that
+-- triggered the event. Two traps are defined: risingAlarm and
+-- fallingAlarm. If the eventTable is triggered by a condition
+-- specified elsewhere, the enterprise and specific trap fields
+-- must be specified for traps generated for that condition.
+
+eventTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF EventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of events to be generated."
+ ::= { event 1 }
+
+eventEntry OBJECT-TYPE
+ SYNTAX EventEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of parameters that describe an event to be generated
+ when certain conditions are met. As an example, an instance
+ of the eventLastTimeSent object might be named
+ eventLastTimeSent.6"
+ INDEX { eventIndex }
+ ::= { eventTable 1 }
+
+EventEntry ::= SEQUENCE {
+ eventIndex Integer32,
+ eventDescription DisplayString,
+ eventType INTEGER,
+ eventCommunity OCTET STRING,
+ eventLastTimeSent TimeTicks,
+ eventOwner OwnerString,
+ eventStatus EntryStatus
+}
+
+eventIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry in the
+ event table. Each such entry defines one event that
+ is to be generated when the appropriate conditions
+ occur."
+ ::= { eventEntry 1 }
+
+eventDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..127))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A comment describing this event entry."
+ ::= { eventEntry 2 }
+
+eventType OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1),
+ log(2),
+ snmptrap(3), -- send an SNMP trap
+ logandtrap(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of notification that the probe will make
+ about this event. In the case of log, an entry is
+ made in the log table for each event. In the case of
+ snmp-trap, an SNMP trap is sent to one or more
+ management stations."
+ ::= { eventEntry 3 }
+
+eventCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..127))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "If an SNMP trap is to be sent, it will be sent to
+ the SNMP community specified by this octet string."
+ ::= { eventEntry 4 }
+
+eventLastTimeSent OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this event
+ entry last generated an event. If this entry has
+ not generated any events, this value will be
+ zero."
+ ::= { eventEntry 5 }
+
+eventOwner OBJECT-TYPE
+ SYNTAX OwnerString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The entity that configured this entry and is therefore
+ using the resources assigned to it.
+
+ If this object contains a string starting with 'monitor'
+ and has associated entries in the log table, all connected
+ management stations should retrieve those log entries,
+ as they may have significance to all management stations
+ connected to this device"
+ ::= { eventEntry 6 }
+
+eventStatus OBJECT-TYPE
+ SYNTAX EntryStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this event entry.
+
+ If this object is not equal to valid(1), all associated
+ log entries shall be deleted by the agent."
+ ::= { eventEntry 7 }
+
+--
+logTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF LogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of events that have been logged."
+ ::= { event 2 }
+
+logEntry OBJECT-TYPE
+ SYNTAX LogEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of data describing an event that has been
+ logged. For example, an instance of the logDescription
+ object might be named logDescription.6.47"
+ INDEX { logEventIndex, logIndex }
+ ::= { logTable 1 }
+
+LogEntry ::= SEQUENCE {
+ logEventIndex Integer32,
+ logIndex Integer32,
+ logTime TimeTicks,
+ logDescription DisplayString
+}
+
+logEventIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The event entry that generated this log
+ entry. The log identified by a particular
+ value of this index is associated with the same
+ eventEntry as identified by the same value
+ of eventIndex."
+ ::= { logEntry 1 }
+
+logIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An index that uniquely identifies an entry
+ in the log table amongst those generated by the
+ same eventEntries. These indexes are
+ assigned beginning with 1 and increase by one
+ with each new log entry. The association
+ between values of logIndex and logEntries
+ is fixed for the lifetime of each logEntry.
+ The agent may choose to delete the oldest
+ instances of logEntry as required because of
+ lack of memory. It is an implementation-specific
+ matter as to when this deletion may occur."
+ ::= { logEntry 2 }
+
+logTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime when this log entry was created."
+ ::= { logEntry 3 }
+
+logDescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An implementation dependent description of the
+ event that activated this log entry."
+ ::= { logEntry 4 }
+
+-- Remote Network Monitoring Traps
+
+rmonEventsV2 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Definition point for RMON notifications."
+ ::= { rmon 0 }
+
+risingAlarm NOTIFICATION-TYPE
+ OBJECTS { alarmIndex, alarmVariable, alarmSampleType,
+ alarmValue, alarmRisingThreshold }
+ STATUS current
+ DESCRIPTION
+ "The SNMP trap that is generated when an alarm
+ entry crosses its rising threshold and generates
+ an event that is configured for sending SNMP
+ traps."
+ ::= { rmonEventsV2 1 }
+
+fallingAlarm NOTIFICATION-TYPE
+ OBJECTS { alarmIndex, alarmVariable, alarmSampleType,
+ alarmValue, alarmFallingThreshold }
+ STATUS current
+ DESCRIPTION
+ "The SNMP trap that is generated when an alarm
+ entry crosses its falling threshold and generates
+ an event that is configured for sending SNMP
+ traps."
+ ::= { rmonEventsV2 2 }
+
+-- Conformance information
+
+rmonCompliances OBJECT IDENTIFIER ::= { rmonConformance 9 }
+rmonGroups OBJECT IDENTIFIER ::= { rmonConformance 10 }
+
+-- Compliance Statements
+rmonCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The requirements for conformance to the RMON MIB. At least
+ one of the groups in this module must be implemented to
+ conform to the RMON MIB. Implementations of this MIB
+ must also implement the system group of MIB-II [16] and the
+ IF-MIB [17]."
+ MODULE -- this module
+
+ GROUP rmonEtherStatsGroup
+ DESCRIPTION
+ "The RMON Ethernet Statistics Group is optional."
+
+ GROUP rmonHistoryControlGroup
+ DESCRIPTION
+ "The RMON History Control Group is optional."
+
+ GROUP rmonEthernetHistoryGroup
+ DESCRIPTION
+ "The RMON Ethernet History Group is optional."
+
+ GROUP rmonAlarmGroup
+ DESCRIPTION
+ "The RMON Alarm Group is optional."
+
+ GROUP rmonHostGroup
+ DESCRIPTION
+ "The RMON Host Group is mandatory when the
+ rmonHostTopNGroup is implemented."
+
+ GROUP rmonHostTopNGroup
+ DESCRIPTION
+ "The RMON Host Top N Group is optional."
+
+ GROUP rmonMatrixGroup
+ DESCRIPTION
+ "The RMON Matrix Group is optional."
+
+ GROUP rmonFilterGroup
+ DESCRIPTION
+ "The RMON Filter Group is mandatory when the
+ rmonPacketCaptureGroup is implemented."
+
+ GROUP rmonPacketCaptureGroup
+ DESCRIPTION
+ "The RMON Packet Capture Group is optional."
+
+ GROUP rmonEventGroup
+ DESCRIPTION
+ "The RMON Event Group is mandatory when the
+ rmonAlarmGroup is implemented."
+ ::= { rmonCompliances 1 }
+
+ rmonEtherStatsGroup OBJECT-GROUP
+ OBJECTS {
+ etherStatsIndex, etherStatsDataSource,
+ etherStatsDropEvents, etherStatsOctets, etherStatsPkts,
+ etherStatsBroadcastPkts, etherStatsMulticastPkts,
+ etherStatsCRCAlignErrors, etherStatsUndersizePkts,
+ etherStatsOversizePkts, etherStatsFragments,
+ etherStatsJabbers, etherStatsCollisions,
+ etherStatsPkts64Octets, etherStatsPkts65to127Octets,
+ etherStatsPkts128to255Octets,
+ etherStatsPkts256to511Octets,
+ etherStatsPkts512to1023Octets,
+ etherStatsPkts1024to1518Octets,
+ etherStatsOwner, etherStatsStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Ethernet Statistics Group."
+ ::= { rmonGroups 1 }
+
+ rmonHistoryControlGroup OBJECT-GROUP
+ OBJECTS {
+ historyControlIndex, historyControlDataSource,
+ historyControlBucketsRequested,
+ historyControlBucketsGranted, historyControlInterval,
+ historyControlOwner, historyControlStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON History Control Group."
+ ::= { rmonGroups 2 }
+
+ rmonEthernetHistoryGroup OBJECT-GROUP
+ OBJECTS {
+ etherHistoryIndex, etherHistorySampleIndex,
+ etherHistoryIntervalStart, etherHistoryDropEvents,
+ etherHistoryOctets, etherHistoryPkts,
+ etherHistoryBroadcastPkts, etherHistoryMulticastPkts,
+ etherHistoryCRCAlignErrors, etherHistoryUndersizePkts,
+ etherHistoryOversizePkts, etherHistoryFragments,
+ etherHistoryJabbers, etherHistoryCollisions,
+ etherHistoryUtilization
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Ethernet History Group."
+ ::= { rmonGroups 3 }
+
+ rmonAlarmGroup OBJECT-GROUP
+ OBJECTS {
+ alarmIndex, alarmInterval, alarmVariable,
+ alarmSampleType, alarmValue, alarmStartupAlarm,
+ alarmRisingThreshold, alarmFallingThreshold,
+ alarmRisingEventIndex, alarmFallingEventIndex,
+ alarmOwner, alarmStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Alarm Group."
+ ::= { rmonGroups 4 }
+
+ rmonHostGroup OBJECT-GROUP
+ OBJECTS {
+ hostControlIndex, hostControlDataSource,
+ hostControlTableSize, hostControlLastDeleteTime,
+ hostControlOwner, hostControlStatus,
+ hostAddress, hostCreationOrder, hostIndex,
+ hostInPkts, hostOutPkts, hostInOctets,
+ hostOutOctets, hostOutErrors, hostOutBroadcastPkts,
+ hostOutMulticastPkts, hostTimeAddress,
+ hostTimeCreationOrder, hostTimeIndex,
+ hostTimeInPkts, hostTimeOutPkts, hostTimeInOctets,
+ hostTimeOutOctets, hostTimeOutErrors,
+ hostTimeOutBroadcastPkts, hostTimeOutMulticastPkts
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Host Group."
+ ::= { rmonGroups 5 }
+
+ rmonHostTopNGroup OBJECT-GROUP
+ OBJECTS {
+ hostTopNControlIndex, hostTopNHostIndex,
+ hostTopNRateBase, hostTopNTimeRemaining,
+ hostTopNDuration, hostTopNRequestedSize,
+ hostTopNGrantedSize, hostTopNStartTime,
+ hostTopNOwner, hostTopNStatus,
+ hostTopNReport, hostTopNIndex,
+ hostTopNAddress, hostTopNRate
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Host Top 'N' Group."
+ ::= { rmonGroups 6 }
+
+ rmonMatrixGroup OBJECT-GROUP
+ OBJECTS {
+ matrixControlIndex, matrixControlDataSource,
+ matrixControlTableSize, matrixControlLastDeleteTime,
+ matrixControlOwner, matrixControlStatus,
+ matrixSDSourceAddress, matrixSDDestAddress,
+ matrixSDIndex, matrixSDPkts,
+ matrixSDOctets, matrixSDErrors,
+ matrixDSSourceAddress, matrixDSDestAddress,
+ matrixDSIndex, matrixDSPkts,
+ matrixDSOctets, matrixDSErrors
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Matrix Group."
+ ::= { rmonGroups 7 }
+
+ rmonFilterGroup OBJECT-GROUP
+ OBJECTS {
+
+ filterIndex, filterChannelIndex, filterPktDataOffset,
+ filterPktData, filterPktDataMask,
+ filterPktDataNotMask, filterPktStatus,
+ filterPktStatusMask, filterPktStatusNotMask,
+ filterOwner, filterStatus,
+ channelIndex, channelIfIndex, channelAcceptType,
+ channelDataControl, channelTurnOnEventIndex,
+ channelTurnOffEventIndex, channelEventIndex,
+ channelEventStatus, channelMatches,
+ channelDescription, channelOwner, channelStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Filter Group."
+ ::= { rmonGroups 8 }
+
+ rmonPacketCaptureGroup OBJECT-GROUP
+ OBJECTS {
+ bufferControlIndex, bufferControlChannelIndex,
+ bufferControlFullStatus, bufferControlFullAction,
+ bufferControlCaptureSliceSize,
+ bufferControlDownloadSliceSize,
+ bufferControlDownloadOffset,
+ bufferControlMaxOctetsRequested,
+ bufferControlMaxOctetsGranted,
+ bufferControlCapturedPackets,
+ bufferControlTurnOnTime,
+ bufferControlOwner, bufferControlStatus,
+ captureBufferControlIndex, captureBufferIndex,
+ captureBufferPacketID, captureBufferPacketData,
+ captureBufferPacketLength, captureBufferPacketTime,
+ captureBufferPacketStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Packet Capture Group."
+ ::= { rmonGroups 9 }
+
+ rmonEventGroup OBJECT-GROUP
+ OBJECTS {
+ eventIndex, eventDescription, eventType,
+ eventCommunity, eventLastTimeSent,
+ eventOwner, eventStatus,
+ logEventIndex, logIndex, logTime,
+ logDescription
+ }
+ STATUS current
+ DESCRIPTION
+ "The RMON Event Group."
+ ::= { rmonGroups 10 }
+
+ rmonNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { risingAlarm, fallingAlarm }
+ STATUS current
+ DESCRIPTION
+ "The RMON Notification Group."
+ ::= { rmonGroups 11 }
+END
diff --git a/mibs/SCTP-MIB.txt b/mibs/SCTP-MIB.txt
new file mode 100644
index 00000000..9d809d28
--- /dev/null
+++ b/mibs/SCTP-MIB.txt
@@ -0,0 +1,1342 @@
+SCTP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Gauge32,
+ Counter32, Counter64, mib-2
+ FROM SNMPv2-SMI -- [RFC2578]
+ TimeStamp, TruthValue
+ FROM SNMPv2-TC -- [RFC2579]
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF -- [RFC2580]
+ InetAddressType, InetAddress, InetPortNumber
+ FROM INET-ADDRESS-MIB; -- [RFC3291]
+
+sctpMIB MODULE-IDENTITY
+ LAST-UPDATED "200409020000Z" -- 2nd September 2004
+ ORGANIZATION "IETF SIGTRAN Working Group"
+ CONTACT-INFO
+ "
+ WG EMail: sigtran@ietf.org
+
+ Web Page:
+ http://www.ietf.org/html.charters/sigtran-charter.html
+
+ Chair: Lyndon Ong
+ Ciena Corporation
+ 0480 Ridgeview Drive
+ Cupertino, CA 95014
+ USA
+ Tel:
+ Email: lyong@ciena.com
+
+ Editors: Maria-Carmen Belinchon
+ R&D Department
+ Ericsson Espana S. A.
+ Via de los Poblados, 13
+ 28033 Madrid
+ Spain
+ Tel: +34 91 339 3535
+ Email: Maria.C.Belinchon@ericsson.com
+
+ Jose-Javier Pastor-Balbas
+ R&D Department
+ Ericsson Espana S. A.
+ Via de los Poblados, 13
+ 28033 Madrid
+ Spain
+ Tel: +34 91 339 1397
+ Email: J.Javier.Pastor@ericsson.com
+ "
+ DESCRIPTION
+ "The MIB module for managing SCTP implementations.
+
+ Copyright (C) The Internet Society (2004). This version of
+ this MIB module is part of RFC 3873; see the RFC itself for
+ full legal notices. "
+
+ REVISION "200409020000Z" -- 2nd September 2004
+ DESCRIPTION " Initial version, published as RFC 3873"
+ ::= { mib-2 104 }
+
+-- the SCTP base variables group
+
+sctpObjects OBJECT IDENTIFIER ::= { sctpMIB 1 }
+
+sctpStats OBJECT IDENTIFIER ::= { sctpObjects 1 }
+sctpParams OBJECT IDENTIFIER ::= { sctpObjects 2 }
+
+-- STATISTICS
+-- **********
+
+-- STATE-RELATED STATISTICS
+
+sctpCurrEstab OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of associations for which the current state is
+ either ESTABLISHED, SHUTDOWN-RECEIVED or SHUTDOWN-PENDING."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 1 }
+
+sctpActiveEstabs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the ESTABLISHED state from the COOKIE-ECHOED
+ state: COOKIE-ECHOED -> ESTABLISHED. The upper layer initiated
+ the association attempt."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 2 }
+
+sctpPassiveEstabs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the ESTABLISHED state from the CLOSED state:
+ CLOSED -> ESTABLISHED. The remote endpoint initiated the
+ association attempt."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 3 }
+
+sctpAborteds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the CLOSED state from any state using the
+ primitive 'ABORT': AnyState --Abort--> CLOSED. Ungraceful
+ termination of the association."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 4 }
+
+sctpShutdowns OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that associations have made a direct
+ transition to the CLOSED state from either the SHUTDOWN-SENT
+ state or the SHUTDOWN-ACK-SENT state. Graceful termination of
+ the association."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpStats 5 }
+
+-- OTHER LAYER STATISTICS
+
+sctpOutOfBlues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of out of the blue packets received by the host.
+ An out of the blue packet is an SCTP packet correctly formed,
+ including the proper checksum, but for which the receiver was
+ unable to identify an appropriate association."
+ REFERENCE
+ "Section 8.4 in RFC2960 deals with the Out-Of-The-Blue
+ (OOTB) packet definition and procedures."
+ ::= { sctpStats 6 }
+
+sctpChecksumErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP packets received with an invalid
+ checksum."
+ REFERENCE
+ "The checksum is located at the end of the SCTP packet as per
+ Section 3.1 in RFC2960. RFC3309 updates SCTP to use a 32 bit
+ CRC checksum."
+::= { sctpStats 7 }
+
+sctpOutCtrlChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP control chunks sent (retransmissions are
+ not included). Control chunks are those chunks different from
+ DATA."
+ REFERENCE
+ "Sections 1.3.5 and 1.4 in RFC2960 refer to control chunk as
+ those chunks different from those that contain user
+ information, i.e., DATA chunks."
+ ::= { sctpStats 8 }
+
+sctpOutOrderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP ordered data chunks sent (retransmissions
+ are not included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the ordered data chunk."
+ ::= { sctpStats 9 }
+
+sctpOutUnorderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP unordered chunks (data chunks in which the
+ U bit is set to 1) sent (retransmissions are not included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the unordered data chunk."
+ ::= { sctpStats 10 }
+
+sctpInCtrlChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP control chunks received (no duplicate
+ chunks included)."
+ REFERENCE
+ "Sections 1.3.5 and 1.4 in RFC2960 refer to control chunk as
+ those chunks different from those that contain user
+ information, i.e., DATA chunks."
+ ::= { sctpStats 11 }
+
+sctpInOrderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP ordered data chunks received (no duplicate
+ chunks included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the ordered data chunk."
+ ::= { sctpStats 12 }
+
+sctpInUnorderChunks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP unordered chunks (data chunks in which the
+ U bit is set to 1) received (no duplicate chunks included)."
+ REFERENCE
+ "Section 3.3.1 in RFC2960 defines the unordered data chunk."
+ ::= { sctpStats 13 }
+
+sctpFragUsrMsgs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of user messages that have to be fragmented
+ because of the MTU."
+ ::= { sctpStats 14 }
+
+sctpReasmUsrMsgs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of user messages reassembled, after conversion
+ into DATA chunks."
+ REFERENCE
+ "Section 6.9 in RFC2960 includes a description of the
+ reassembly process."
+ ::= { sctpStats 15 }
+
+sctpOutSCTPPacks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP packets sent. Retransmitted DATA chunks
+ are included."
+ ::= { sctpStats 16 }
+
+sctpInSCTPPacks OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of SCTP packets received. Duplicates are
+ included."
+ ::= { sctpStats 17 }
+
+sctpDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this general statistics counters suffered a
+ discontinuity. The relevant counters are the specific
+ instances associated with this interface of any Counter32 or
+ Counter64 object contained in the SCTP layer statistics
+ (defined below sctpStats branch). If no such discontinuities
+ have occurred since the last re-initialization of the local
+ management subsystem, then this object contains a zero value."
+ REFERENCE
+ "The inclusion of this object is recommended by RFC2578."
+ ::= { sctpStats 18 }
+
+-- PROTOCOL GENERAL VARIABLES
+-- **************************
+
+sctpRtoAlgorithm OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- Other new one. Future use
+ vanj(2) -- Van Jacobson's algorithm
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The algorithm used to determine the timeout value (T3-rtx)
+ used for re-transmitting unacknowledged chunks."
+ REFERENCE
+ "Section 6.3.1 and 6.3.2 in RFC2960 cover the RTO calculation
+ and retransmission timer rules."
+ DEFVAL {vanj} -- vanj(2)
+ ::= { sctpParams 1 }
+
+sctpRtoMin OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum value permitted by a SCTP implementation for the
+ retransmission timeout value, measured in milliseconds. More
+ refined semantics for objects of this type depend upon the
+ algorithm used to determine the retransmission timeout value.
+
+ A retransmission time value of zero means immediate
+ retransmission.
+
+ The value of this object has to be lower than or equal to
+ stcpRtoMax's value."
+ DEFVAL {1000} -- milliseconds
+ ::= { sctpParams 2 }
+
+sctpRtoMax OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum value permitted by a SCTP implementation for the
+ retransmission timeout value, measured in milliseconds. More
+ refined semantics for objects of this type depend upon the
+ algorithm used to determine the retransmission timeout value.
+
+ A retransmission time value of zero means immediate re-
+ transmission.
+
+ The value of this object has to be greater than or equal to
+ stcpRtoMin's value."
+ DEFVAL {60000} -- milliseconds
+ ::= { sctpParams 3 }
+
+sctpRtoInitial OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The initial value for the retransmission timer.
+
+ A retransmission time value of zero means immediate re-
+ transmission."
+ DEFVAL {3000} -- milliseconds
+ ::= { sctpParams 4 }
+
+sctpMaxAssocs OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The limit on the total number of associations the entity can
+ support. In entities where the maximum number of associations
+ is dynamic, this object should contain the value -1."
+ ::= { sctpParams 5 }
+
+sctpValCookieLife OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Valid cookie life in the 4-way start-up handshake procedure."
+ REFERENCE
+ "Section 5.1.3 in RFC2960 explains the cookie generation
+ process. Recommended value is per section 14 in RFC2960."
+ DEFVAL {60000} -- milliseconds
+ ::= { sctpParams 6 }
+
+sctpMaxInitRetr OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of retransmissions at the start-up phase
+ (INIT and COOKIE ECHO chunks). "
+ REFERENCE
+ "Section 5.1.4, 5.1.6 in RFC2960 refers to Max.Init.Retransmit
+ parameter. Recommended value is per section 14 in RFC2960."
+ DEFVAL {8} -- number of attempts
+ ::= { sctpParams 7 }
+
+-- TABLES
+-- ******
+
+-- the SCTP Association TABLE
+
+-- The SCTP association table contains information about each
+-- association in which the local endpoint is involved.
+
+sctpAssocTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpAssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing SCTP association-specific information."
+ ::= { sctpObjects 3 }
+
+sctpAssocEntry OBJECT-TYPE
+ SYNTAX SctpAssocEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "General common variables and statistics for the whole
+ association."
+ INDEX { sctpAssocId }
+ ::= { sctpAssocTable 1 }
+
+SctpAssocEntry ::= SEQUENCE {
+ sctpAssocId Unsigned32,
+ sctpAssocRemHostName OCTET STRING,
+ sctpAssocLocalPort InetPortNumber,
+ sctpAssocRemPort InetPortNumber,
+ sctpAssocRemPrimAddrType InetAddressType,
+ sctpAssocRemPrimAddr InetAddress,
+ sctpAssocHeartBeatInterval Unsigned32,
+ sctpAssocState INTEGER,
+ sctpAssocInStreams Unsigned32,
+ sctpAssocOutStreams Unsigned32,
+ sctpAssocMaxRetr Unsigned32,
+ sctpAssocPrimProcess Unsigned32,
+ sctpAssocT1expireds Counter32, -- Statistic
+ sctpAssocT2expireds Counter32, -- Statistic
+ sctpAssocRtxChunks Counter32, -- Statistic
+ sctpAssocStartTime TimeStamp,
+ sctpAssocDiscontinuityTime TimeStamp
+ }
+
+sctpAssocId OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Association Identification. Value identifying the
+ association. "
+ ::= { sctpAssocEntry 1 }
+
+sctpAssocRemHostName OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The peer's DNS name. This object needs to have the same
+ format as the encoding in the DNS protocol. This implies that
+ the domain name can be up to 255 octets long, each octet being
+ 0<=x<=255 as value with US-ASCII A-Z having a case insensitive
+ matching.
+
+ If no DNS domain name was received from the peer at init time
+ (embedded in the INIT or INIT-ACK chunk), this object is
+ meaningless. In such cases the object MUST contain a zero-
+ length string value. Otherwise, it contains the remote host
+ name received at init time."
+ ::= { sctpAssocEntry 2 }
+
+sctpAssocLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The local SCTP port number used for this association."
+ ::= { sctpAssocEntry 3 }
+
+sctpAssocRemPort OBJECT-TYPE
+ SYNTAX InetPortNumber (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The remote SCTP port number used for this association."
+ ::= { sctpAssocEntry 4 }
+
+sctpAssocRemPrimAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The internet type of primary remote IP address. "
+ ::= { sctpAssocEntry 5 }
+
+sctpAssocRemPrimAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The primary remote IP address. The type of this address is
+ determined by the value of sctpAssocRemPrimAddrType.
+
+ The client side will know this value after INIT_ACK message
+ reception, the server side will know this value when sending
+ INIT_ACK message. However, values will be filled in at
+ established(4) state."
+ ::= { sctpAssocEntry 6 }
+
+sctpAssocHeartBeatInterval OBJECT-TYPE
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current heartbeat interval..
+
+ Zero value means no HeartBeat, even when the concerned
+ sctpAssocRemAddrHBFlag object is true."
+ DEFVAL {30000} -- milliseconds
+ ::= { sctpAssocEntry 7 }
+
+sctpAssocState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ cookieWait(2),
+ cookieEchoed(3),
+ established(4),
+ shutdownPending(5),
+ shutdownSent(6),
+ shutdownReceived(7),
+ shutdownAckSent(8),
+ deleteTCB(9)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The state of this SCTP association.
+
+ As in TCP, deleteTCB(9) is the only value that may be set by a
+ management station. If any other value is received, then the
+ agent must return a wrongValue error.
+
+ If a management station sets this object to the value
+ deleteTCB(9), then this has the effect of deleting the TCB (as
+ defined in SCTP) of the corresponding association on the
+ managed node, resulting in immediate termination of the
+ association.
+
+ As an implementation-specific option, an ABORT chunk may be
+ sent from the managed node to the other SCTP endpoint as a
+ result of setting the deleteTCB(9) value. The ABORT chunk
+ implies an ungraceful association shutdown."
+ REFERENCE
+ "Section 4 in RFC2960 covers the SCTP Association state
+ diagram."
+ ::= { sctpAssocEntry 8 }
+
+sctpAssocInStreams OBJECT-TYPE
+ SYNTAX Unsigned32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Inbound Streams according to the negotiation at association
+ start up."
+ REFERENCE
+ "Section 1.3 in RFC2960 includes a definition of stream.
+ Section 5.1.1 in RFC2960 covers the streams negotiation
+ process."
+ ::= { sctpAssocEntry 9 }
+
+sctpAssocOutStreams OBJECT-TYPE
+ SYNTAX Unsigned32 (1..65535)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Outbound Streams according to the negotiation at association
+ start up. "
+ REFERENCE
+ "Section 1.3 in RFC2960 includes a definition of stream.
+ Section 5.1.1 in RFC2960 covers the streams negotiation
+ process."
+ ::= { sctpAssocEntry 10 }
+
+sctpAssocMaxRetr OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of data retransmissions in the association
+ context. This value is specific for each association and the
+ upper layer can change it by calling the appropriate
+ primitives. This value has to be smaller than the addition of
+ all the maximum number for all the paths
+ (sctpAssocRemAddrMaxPathRtx).
+
+ A value of zero value means no retransmissions."
+ DEFVAL {10} -- number of attempts
+ ::= { sctpAssocEntry 11 }
+
+sctpAssocPrimProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object identifies the system level process which holds
+ primary responsibility for the SCTP association.
+ Wherever possible, this should be the system's native unique
+ identification number. The special value 0 can be used to
+ indicate that no primary process is known.
+
+ Note that the value of this object can be used as a pointer
+ into the swRunTable of the HOST-RESOURCES-MIB(if the value is
+ smaller than 2147483647) or into the sysApplElmtRunTable of
+ the SYSAPPL-MIB."
+ ::= { sctpAssocEntry 12 }
+
+-- Association Statistics
+
+sctpAssocT1expireds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The T1 timer determines how long to wait for an
+ acknowledgement after sending an INIT or COOKIE-ECHO chunk.
+ This object reflects the number of times the T1 timer expires
+ without having received the acknowledgement.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+ REFERENCE
+ "Section 5 in RFC2960."
+ ::= { sctpAssocEntry 13 }
+
+sctpAssocT2expireds OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The T2 timer determines how long to wait for an
+ acknowledgement after sending a SHUTDOWN or SHUTDOWN-ACK
+ chunk. This object reflects the number of times that T2- timer
+ expired.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+REFERENCE
+ "Section 9.2 in RFC2960."
+ ::= { sctpAssocEntry 14 }
+
+sctpAssocRtxChunks OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "When T3-rtx expires, the DATA chunks that triggered the T3
+ timer will be re-sent according with the retransmissions
+ rules. Every DATA chunk that was included in the SCTP packet
+ that triggered the T3-rtx timer must be added to the value of
+ this counter.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+ REFERENCE
+ "Section 6 in RFC2960 covers the retransmission process and
+ rules."
+ ::= { sctpAssocEntry 15 }
+
+sctpAssocStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that the association
+ represented by this row enters the ESTABLISHED state, i.e.,
+ the sctpAssocState object is set to established(4). The
+ value of this object will be zero:
+ - before the association enters the established(4)
+ state, or
+
+ - if the established(4) state was entered prior to
+ the last re-initialization of the local network management
+ subsystem."
+ ::= { sctpAssocEntry 16 }
+
+sctpAssocDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime on the most recent occasion at which
+ any one or more of this SCTP association counters suffered a
+ discontinuity. The relevant counters are the specific
+ instances associated with this interface of any Counter32 or
+ Counter64 object contained in the sctpAssocTable or
+ sctpLocalAddrTable or sctpRemAddrTable. If no such
+ discontinuities have occurred since the last re-initialization
+ of the local management subsystem, then this object contains a
+ zero value. "
+ REFERENCE
+ "The inclusion of this object is recommended by RFC2578."
+ ::= { sctpAssocEntry 17 }
+
+-- Expanded tables: Including Multi-home feature
+
+-- Local Address TABLE
+-- *******************
+
+sctpAssocLocalAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpAssocLocalAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Expanded table of sctpAssocTable based on the AssocId index.
+ This table shows data related to each local IP address which
+ is used by this association."
+ ::= { sctpObjects 4 }
+
+sctpAssocLocalAddrEntry OBJECT-TYPE
+ SYNTAX SctpAssocLocalAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Local information about the available addresses. There will
+ be an entry for every local IP address defined for this
+
+ association.
+ Implementors need to be aware that if the size of
+ sctpAssocLocalAddr exceeds 114 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocId, -- shared index
+ sctpAssocLocalAddrType,
+ sctpAssocLocalAddr }
+ ::= { sctpAssocLocalAddrTable 1 }
+
+SctpAssocLocalAddrEntry ::= SEQUENCE {
+ sctpAssocLocalAddrType InetAddressType,
+ sctpAssocLocalAddr InetAddress,
+ sctpAssocLocalAddrStartTime TimeStamp
+ }
+
+sctpAssocLocalAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Internet type of local IP address used for this association."
+ ::= { sctpAssocLocalAddrEntry 1 }
+
+sctpAssocLocalAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of a local IP address available for this
+ association. The type of this address is determined by the
+ value of sctpAssocLocalAddrType."
+ ::= { sctpAssocLocalAddrEntry 2 }
+
+sctpAssocLocalAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was
+ created."
+ ::= { sctpAssocLocalAddrEntry 3 }
+
+-- Remote Addresses TABLE
+-- **********************
+
+sctpAssocRemAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpAssocRemAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Expanded table of sctpAssocTable based on the AssocId index.
+ This table shows data related to each remote peer IP address
+ which is used by this association."
+ ::= { sctpObjects 5 }
+
+sctpAssocRemAddrEntry OBJECT-TYPE
+ SYNTAX SctpAssocRemAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about the most important variables for every
+ remote IP address. There will be an entry for every remote IP
+ address defined for this association.
+
+ Implementors need to be aware that if the size of
+ sctpAssocRemAddr exceeds 114 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocId, -- shared index
+ sctpAssocRemAddrType,
+ sctpAssocRemAddr }
+ ::= { sctpAssocRemAddrTable 1 }
+
+SctpAssocRemAddrEntry ::= SEQUENCE {
+ sctpAssocRemAddrType InetAddressType,
+ sctpAssocRemAddr InetAddress,
+ sctpAssocRemAddrActive TruthValue,
+ sctpAssocRemAddrHBActive TruthValue,
+ sctpAssocRemAddrRTO Unsigned32,
+ sctpAssocRemAddrMaxPathRtx Unsigned32,
+ sctpAssocRemAddrRtx Counter32, -- Statistic
+ sctpAssocRemAddrStartTime TimeStamp
+ }
+
+sctpAssocRemAddrType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Internet type of a remote IP address available for this
+ association."
+ ::= { sctpAssocRemAddrEntry 1 }
+
+sctpAssocRemAddr OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The value of a remote IP address available for this
+ association. The type of this address is determined by the
+ value of sctpAssocLocalAddrType."
+ ::= { sctpAssocRemAddrEntry 2 }
+
+sctpAssocRemAddrActive OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object gives information about the reachability of this
+ specific remote IP address.
+
+ When the object is set to 'true' (1), the remote IP address is
+ understood as Active. Active means that the threshold of no
+ answers received from this IP address has not been reached.
+
+ When the object is set to 'false' (2), the remote IP address
+ is understood as Inactive. Inactive means that either no
+ heartbeat or any other message was received from this address,
+ reaching the threshold defined by the protocol."
+ REFERENCE
+ "The remote transport states are defined as Active and
+ Inactive in the SCTP, RFC2960."
+ ::= { sctpAssocRemAddrEntry 3 }
+
+sctpAssocRemAddrHBActive OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object indicates whether the optional Heartbeat check
+ associated to one destination transport address is activated
+ or not (value equal to true or false, respectively). "
+ ::= { sctpAssocRemAddrEntry 4 }
+
+sctpAssocRemAddrRTO OBJECT-TYPE -- T3-rtx- Timer
+ SYNTAX Unsigned32
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current Retransmission Timeout. T3-rtx timer as defined
+ in the protocol SCTP."
+ REFERENCE
+ "Section 6.3 in RFC2960 deals with the Retransmission Timer
+ Management."
+ ::= { sctpAssocRemAddrEntry 5 }
+
+sctpAssocRemAddrMaxPathRtx OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Maximum number of DATA chunks retransmissions allowed to a
+ remote IP address before it is considered inactive, as defined
+ in RFC2960."
+ REFERENCE
+ "Section 8.2, 8.3 and 14 in RFC2960."
+ DEFVAL {5} -- number of attempts
+ ::= { sctpAssocRemAddrEntry 6 }
+
+-- Remote Address Statistic
+
+sctpAssocRemAddrRtx OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of DATA chunks retransmissions to this specific IP
+ address. When T3-rtx expires, the DATA chunk that triggered
+ the T3 timer will be re-sent according to the retransmissions
+ rules. Every DATA chunk that is included in a SCTP packet and
+ was transmitted to this specific IP address before, will be
+ included in this counter.
+
+ Discontinuities in the value of this counter can occur at re-
+ initialization of the management system, and at other times as
+ indicated by the value of sctpAssocDiscontinuityTime."
+ ::= { sctpAssocRemAddrEntry 7 }
+
+sctpAssocRemAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was
+ created."
+ ::= { sctpAssocRemAddrEntry 8 }
+
+-- ASSOCIATION INVERSE TABLE
+-- *************************
+
+-- BY LOCAL PORT
+
+sctpLookupLocalPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupLocalPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations which are
+
+ using the specified local port can be retrieved."
+ ::= { sctpObjects 6 }
+
+sctpLookupLocalPortEntry OBJECT-TYPE
+ SYNTAX SctpLookupLocalPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by local port and association ID.
+ Specifying a local port, we would get a list of the
+ associations whose local port is the one specified."
+ INDEX { sctpAssocLocalPort,
+ sctpAssocId }
+ ::= { sctpLookupLocalPortTable 1 }
+
+SctpLookupLocalPortEntry::= SEQUENCE {
+ sctpLookupLocalPortStartTime TimeStamp
+ }
+
+sctpLookupLocalPortStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupLocalPortEntry 1 }
+
+-- BY REMOTE PORT
+
+sctpLookupRemPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations which are
+ using the specified remote port can be got"
+ ::= { sctpObjects 7 }
+
+sctpLookupRemPortEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemPortEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by remote port and association ID.
+ Specifying a remote port we would get a list of the
+ associations whose local port is the one specified "
+ INDEX { sctpAssocRemPort,
+ sctpAssocId }
+ ::= { sctpLookupRemPortTable 1 }
+
+SctpLookupRemPortEntry::= SEQUENCE {
+ sctpLookupRemPortStartTime TimeStamp
+ }
+
+sctpLookupRemPortStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemPortEntry 1 }
+
+-- BY REMOTE HOST NAME
+
+sctpLookupRemHostNameTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemHostNameEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations with that
+ particular host can be retrieved."
+ ::= { sctpObjects 8 }
+
+sctpLookupRemHostNameEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemHostNameEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by remote host name and association ID.
+ Specifying a host name we would get a list of the associations
+ specifying that host name as the remote one.
+
+ Implementors need to be aware that if the size of
+ sctpAssocRemHostName exceeds 115 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocRemHostName,
+ sctpAssocId }
+ ::= { sctpLookupRemHostNameTable 1 }
+
+SctpLookupRemHostNameEntry::= SEQUENCE {
+ sctpLookupRemHostNameStartTime TimeStamp
+ }
+
+sctpLookupRemHostNameStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemHostNameEntry 1 }
+
+-- BY REMOTE PRIMARY IP ADDRESS
+
+sctpLookupRemPrimIPAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemPrimIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations that have
+ the specified IP address as primary within the remote set of
+ active addresses can be retrieved."
+ ::= { sctpObjects 9 }
+
+sctpLookupRemPrimIPAddrEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemPrimIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by primary address and association ID.
+ Specifying a primary address, we would get a list of the
+ associations that have the specified remote IP address marked
+ as primary.
+ Implementors need to be aware that if the size of
+ sctpAssocRemPrimAddr exceeds 114 octets then OIDs of column
+ instances in this table will have more than 128 sub-
+ identifiers and cannot be accessed using SNMPv1, SNMPv2c, or
+ SNMPv3."
+ INDEX { sctpAssocRemPrimAddrType,
+ sctpAssocRemPrimAddr,
+ sctpAssocId }
+ ::= { sctpLookupRemPrimIPAddrTable 1 }
+
+SctpLookupRemPrimIPAddrEntry::= SEQUENCE {
+ sctpLookupRemPrimIPAddrStartTime TimeStamp
+ }
+
+sctpLookupRemPrimIPAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of SysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemPrimIPAddrEntry 1 }
+
+-- BY REMOTE IP ADDRESS
+
+sctpLookupRemIPAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SctpLookupRemIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "With the use of this table, a list of associations that have
+ the specified IP address as one of the remote ones can be
+ retrieved. "
+ ::= { sctpObjects 10 }
+
+sctpLookupRemIPAddrEntry OBJECT-TYPE
+ SYNTAX SctpLookupRemIPAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is indexed by a remote IP address and association
+ ID. Specifying an IP address we would get a list of the
+ associations that have the specified IP address included
+ within the set of remote IP addresses."
+ INDEX { sctpAssocRemAddrType,
+ sctpAssocRemAddr,
+ sctpAssocId }
+ ::= { sctpLookupRemIPAddrTable 1 }
+
+SctpLookupRemIPAddrEntry::= SEQUENCE {
+
+ sctpLookupRemIPAddrStartTime TimeStamp
+ }
+
+sctpLookupRemIPAddrStartTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of SysUpTime at the time that this row was created.
+
+ As the table will be created after the sctpAssocTable
+ creation, this value could be equal to the sctpAssocStartTime
+ object from the main table."
+ ::= { sctpLookupRemIPAddrEntry 1 }
+
+-- 4.1 Conformance Information
+
+sctpMibConformance OBJECT IDENTIFIER ::= { sctpMIB 2 }
+sctpMibCompliances OBJECT IDENTIFIER ::= { sctpMibConformance 1 }
+sctpMibGroups OBJECT IDENTIFIER ::= { sctpMibConformance 2 }
+
+-- 4.1.1 Units of conformance
+
+--
+-- MODULE GROUPS
+--
+
+sctpLayerParamsGroup OBJECT-GROUP
+ OBJECTS { sctpRtoAlgorithm,
+ sctpRtoMin,
+ sctpRtoMax,
+ sctpRtoInitial,
+ sctpMaxAssocs,
+ sctpValCookieLife,
+ sctpMaxInitRetr
+ }
+ STATUS current
+ DESCRIPTION
+ "Common parameters for the SCTP layer, i.e., for all the
+ associations. They can usually be referred to as configuration
+ parameters."
+ ::= { sctpMibGroups 1 }
+
+sctpStatsGroup OBJECT-GROUP
+ OBJECTS { sctpCurrEstab,
+ sctpActiveEstabs,
+ sctpPassiveEstabs,
+ sctpAborteds,
+ sctpShutdowns,
+ sctpOutOfBlues,
+ sctpChecksumErrors,
+ sctpOutCtrlChunks,
+ sctpOutOrderChunks,
+ sctpOutUnorderChunks,
+ sctpInCtrlChunks,
+ sctpInOrderChunks,
+ sctpInUnorderChunks,
+ sctpFragUsrMsgs,
+ sctpReasmUsrMsgs,
+ sctpOutSCTPPacks,
+ sctpInSCTPPacks,
+ sctpDiscontinuityTime,
+ sctpAssocT1expireds,
+ sctpAssocT2expireds,
+ sctpAssocRtxChunks,
+ sctpAssocRemAddrRtx
+ }
+ STATUS current
+ DESCRIPTION
+ "Statistics group. It includes the objects to collect state
+ changes in the SCTP protocol local layer and flow control
+ statistics."
+ ::= { sctpMibGroups 2 }
+
+sctpPerAssocParamsGroup OBJECT-GROUP
+ OBJECTS { sctpAssocRemHostName,
+ sctpAssocLocalPort,
+ sctpAssocRemPort,
+ sctpAssocRemPrimAddrType,
+ sctpAssocRemPrimAddr,
+ sctpAssocHeartBeatInterval,
+ sctpAssocState,
+ sctpAssocInStreams,
+ sctpAssocOutStreams,
+ sctpAssocMaxRetr,
+ sctpAssocPrimProcess,
+ sctpAssocStartTime,
+ sctpAssocDiscontinuityTime,
+ sctpAssocLocalAddrStartTime,
+ sctpAssocRemAddrActive,
+ sctpAssocRemAddrHBActive,
+ sctpAssocRemAddrRTO,
+ sctpAssocRemAddrMaxPathRtx,
+ sctpAssocRemAddrStartTime
+ }
+ STATUS current
+ DESCRIPTION
+ "The SCTP group of objects to manage per-association
+ parameters. These variables include all the SCTP basic
+ features."
+ ::= { sctpMibGroups 3 }
+
+sctpPerAssocStatsGroup OBJECT-GROUP
+ OBJECTS
+ { sctpAssocT1expireds,
+ sctpAssocT2expireds,
+ sctpAssocRtxChunks,
+ sctpAssocRemAddrRtx
+ }
+ STATUS current
+ DESCRIPTION
+ "Per Association Statistics group. It includes the objects to
+ collect flow control statistics per association."
+ ::= { sctpMibGroups 4 }
+
+sctpInverseGroup OBJECT-GROUP
+ OBJECTS { sctpLookupLocalPortStartTime,
+ sctpLookupRemPortStartTime,
+ sctpLookupRemHostNameStartTime,
+ sctpLookupRemPrimIPAddrStartTime,
+ sctpLookupRemIPAddrStartTime
+ }
+ STATUS current
+ DESCRIPTION
+ "Objects used in the inverse lookup tables."
+ ::= { sctpMibGroups 5 }
+
+-- 4.1.2 Compliance Statements
+
+--
+-- MODULE COMPLIANCES
+--
+
+sctpMibCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ this SCTP MIB Module.
+
+ There are a number of INDEX objects that cannot be represented
+ in the form of OBJECT clauses in SMIv2, but for which we have
+ the following compliance requirements, expressed in OBJECT
+ clause form in this description clause:
+
+-- OBJECT sctpAssocLocalAddrType
+-- SYNTAX InetAddressType {ipv4(1), ipv6(2)}
+-- DESCRIPTION
+-- It is only required to have IPv4 and IPv6 addresses without
+-- zone indices.
+-- The address with zone indices is required if an
+-- implementation can connect multiple zones.
+--
+-- OBJECT sctpAssocLocalAddr
+-- SYNTAX InetAddress (SIZE(4|16))
+-- DESCRIPTION
+-- An implementation is only required to support globally
+-- unique IPv4 and IPv6 addresses.
+--
+-- OBJECT sctpAssocRemAddrType
+-- SYNTAX InetAddressType {ipv4(1), ipv6(2)}
+-- DESCRIPTION
+-- It is only required to have IPv4 and IPv6 addresses without
+-- zone indices.
+-- The address with zone indices is required if an
+-- implementation can connect multiple zones.
+--
+-- OBJECT sctpAssocRemAddr
+-- SYNTAX InetAddress (SIZE(4|16))
+-- DESCRIPTION
+-- An implementation is only required to support globally
+-- unique IPv4 and IPv6 addresses.
+--
+ " -- closes DESCRIPTION clause of MODULE-COMPLIANCE
+
+ MODULE -- this module
+
+ MANDATORY-GROUPS { sctpLayerParamsGroup,
+ sctpPerAssocParamsGroup,
+ sctpStatsGroup,
+ sctpPerAssocStatsGroup
+ }
+
+ OBJECT sctpAssocRemPrimAddrType
+ SYNTAX InetAddressType { ipv4(1),
+ ipv6(2)
+ }
+ DESCRIPTION
+ "It is only required to have IPv4 and IPv6 addresses
+ without zone indices.
+
+ The address with zone indices is required if an
+ implementation can connect multiple zones."
+
+ OBJECT sctpAssocRemPrimAddr
+ SYNTAX InetAddress (SIZE(4|16))
+ DESCRIPTION
+ "An implementation is only required to support globally
+ unique IPv4 and globally unique IPv6 addresses."
+
+ OBJECT sctpAssocState
+ WRITE-SYNTAX INTEGER { deleteTCB(9) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Only the deleteTCB(9) value MAY be set by a management
+ station at most. A read-only option is also considered to
+ be compliant with this MIB module description."
+
+ GROUP sctpInverseGroup
+ DESCRIPTION
+ "Objects used in inverse lookup tables. This should be
+ implemented, at the discretion of the implementers, for
+ easier lookups in the association tables"
+ ::= { sctpMibCompliances 1 }
+
+END
diff --git a/mibs/SMUX-MIB.txt b/mibs/SMUX-MIB.txt
new file mode 100644
index 00000000..1fe34552
--- /dev/null
+++ b/mibs/SMUX-MIB.txt
@@ -0,0 +1,160 @@
+SMUX-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ enterprises
+ FROM RFC1155-SMI
+ DisplayString
+ FROM SNMPv2-TC
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+unix OBJECT IDENTIFIER ::= { enterprises 4 }
+
+smux OBJECT IDENTIFIER ::= { unix 4 }
+
+smuxPeerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmuxPeerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX peer table."
+ ::= { smux 1 }
+
+smuxPeerEntry OBJECT-TYPE
+ SYNTAX SmuxPeerEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry in the SMUX peer table."
+ INDEX { smuxPindex }
+ ::= { smuxPeerTable 1}
+
+SmuxPeerEntry ::=
+ SEQUENCE {
+ smuxPindex
+ INTEGER,
+ smuxPidentity
+ OBJECT IDENTIFIER,
+ smuxPdescription
+ DisplayString,
+ smuxPstatus
+ INTEGER
+ }
+
+smuxPindex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "An index which uniquely identifies a SMUX peer."
+ ::= { smuxPeerEntry 1 }
+
+smuxPidentity OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The authoritative designation for a SMUX peer."
+ ::= { smuxPeerEntry 2 }
+
+smuxPdescription OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "A human-readable description of a SMUX peer."
+ ::= { smuxPeerEntry 3 }
+
+smuxPstatus OBJECT-TYPE
+ SYNTAX INTEGER { valid(1), invalid(2), connecting(3) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of SMUX peer.
+
+ Setting this object to the value invalid(2) has
+ the effect of invaliding the corresponding entry
+ in the smuxPeerTable. It is an implementation-
+ specific matter as to whether the agent removes an
+ invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive
+ tabular information from agents that correspond to
+ entries not currently in use. Proper
+ interpretation of such entries requires
+ examination of the relative smuxPstatus object."
+ ::= { smuxPeerEntry 4 }
+
+smuxTreeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SmuxTreeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX tree table."
+ ::= { smux 2 }
+
+smuxTreeEntry OBJECT-TYPE
+ SYNTAX SmuxTreeEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "An entry in the SMUX tree table."
+ INDEX { smuxTsubtree, smuxTpriority }
+ ::= { smuxTreeTable 1}
+
+SmuxTreeEntry ::=
+ SEQUENCE {
+ smuxTsubtree
+ OBJECT IDENTIFIER,
+ smuxTpriority
+ INTEGER,
+ smuxTindex
+ INTEGER,
+ smuxTstatus
+ INTEGER
+ }
+
+smuxTsubtree OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The MIB subtree being exported by a SMUX peer."
+ ::= { smuxTreeEntry 1 }
+
+smuxTpriority OBJECT-TYPE
+ SYNTAX INTEGER (0..'07fffffff'h)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX peer's priority when exporting the MIB
+ subtree."
+ ::= { smuxTreeEntry 2 }
+
+smuxTindex OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The SMUX peer's identity."
+ ::= { smuxTreeEntry 3 }
+
+smuxTstatus OBJECT-TYPE
+ SYNTAX INTEGER { valid(1), invalid(2) }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The type of SMUX tree.
+
+ Setting this object to the value invalid(2) has
+ the effect of invaliding the corresponding entry
+ in the smuxTreeTable. It is an implementation-
+ specific matter as to whether the agent removes an
+ invalidated entry from the table. Accordingly,
+ management stations must be prepared to receive
+ tabular information from agents that correspond to
+ entries not currently in use. Proper
+ interpretation of such entries requires
+ examination of the relative smuxTstatus object."
+ ::= { smuxTreeEntry 4 }
+
+END
diff --git a/mibs/SNMP-COMMUNITY-MIB.txt b/mibs/SNMP-COMMUNITY-MIB.txt
new file mode 100644
index 00000000..bc3d4d27
--- /dev/null
+++ b/mibs/SNMP-COMMUNITY-MIB.txt
@@ -0,0 +1,429 @@
+SNMP-COMMUNITY-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ IpAddress,
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ Integer32,
+ snmpModules
+ FROM SNMPv2-SMI
+ RowStatus,
+ StorageType
+ FROM SNMPv2-TC
+ SnmpAdminString,
+ SnmpEngineID
+ FROM SNMP-FRAMEWORK-MIB
+ SnmpTagValue,
+ snmpTargetAddrEntry
+ FROM SNMP-TARGET-MIB
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpCommunityMIB MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 Mar 2000, midnight
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In msg body: subscribe snmpv3
+
+ Chair: Russ Mundy
+ TIS Labs at Network Associates
+ Postal: 3060 Washington Rd
+ Glenwood MD 21738
+ USA
+ Email: mundy@tislabs.com
+ Phone: +1-301-854-6889
+
+ Co-editor: Rob Frye
+ CoSine Communications
+ Postal: 1200 Bridge Parkway
+ Redwood City, CA 94065
+ USA
+ E-mail: rfrye@cosinecom.com
+ Phone: +1 703 725 1130
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, TN 37918
+ E-mail: dlevi@nortelnetworks.com
+ Phone: +1 423 686 0432
+
+ Co-editor: Shawn A. Routhier
+ Integrated Systems Inc.
+ Postal: 333 North Ave 4th Floor
+ Wakefield, MA 01880
+ E-mail: sar@epilogue.com
+ Phone: +1 781 245 0804
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ Postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ Email: bwijnen@lucent.com
+ Phone: +31-348-407-775
+ "
+ DESCRIPTION
+ "This MIB module defines objects to help support coexistence
+ between SNMPv1, SNMPv2c, and SNMPv3."
+ REVISION "200003060000Z" -- 6 Mar 2000
+ DESCRIPTION "This version published as RFC 2576."
+ REVISION "199905130000Z" -- 13 May 1999
+ DESCRIPTION "The Initial Revision"
+ ::= { snmpModules 18 }
+
+-- Administrative assignments ****************************************
+
+snmpCommunityMIBObjects OBJECT IDENTIFIER ::= { snmpCommunityMIB 1 }
+snmpCommunityMIBConformance OBJECT IDENTIFIER ::= { snmpCommunityMIB 2 }
+
+--
+-- The snmpCommunityTable contains a database of community strings.
+-- This table provides mappings between community strings, and the
+
+-- parameters required for View-based Access Control.
+--
+
+snmpCommunityTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpCommunityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of community strings configured in the SNMP
+ engine's Local Configuration Datastore (LCD)."
+ ::= { snmpCommunityMIBObjects 1 }
+
+snmpCommunityEntry OBJECT-TYPE
+ SYNTAX SnmpCommunityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular community string."
+ INDEX { IMPLIED snmpCommunityIndex }
+ ::= { snmpCommunityTable 1 }
+
+SnmpCommunityEntry ::= SEQUENCE {
+ snmpCommunityIndex SnmpAdminString,
+ snmpCommunityName OCTET STRING,
+ snmpCommunitySecurityName SnmpAdminString,
+ snmpCommunityContextEngineID SnmpEngineID,
+ snmpCommunityContextName SnmpAdminString,
+ snmpCommunityTransportTag SnmpTagValue,
+ snmpCommunityStorageType StorageType,
+ snmpCommunityStatus RowStatus
+}
+
+snmpCommunityIndex OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The unique index value of a row in this table."
+ ::= { snmpCommunityEntry 1 }
+
+snmpCommunityName OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The community string for which a row in this table
+ represents a configuration."
+ ::= { snmpCommunityEntry 2 }
+
+snmpCommunitySecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "A human readable string representing the corresponding
+ value of snmpCommunityName in a Security Model
+ independent format."
+ ::= { snmpCommunityEntry 3 }
+
+snmpCommunityContextEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The contextEngineID indicating the location of the
+ context in which management information is accessed
+ when using the community string specified by the
+ corresponding instance of snmpCommunityName.
+
+ The default value is the snmpEngineID of the entity in
+ which this object is instantiated."
+ ::= { snmpCommunityEntry 4 }
+
+snmpCommunityContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The context in which management information is accessed
+ when using the community string specified by the corresponding
+ instance of snmpCommunityName."
+ DEFVAL { ''H } -- the empty string
+ ::= { snmpCommunityEntry 5 }
+
+snmpCommunityTransportTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object specifies a set of transport endpoints
+ from which a command responder application will accept
+ management requests. If a management request containing
+ this community is received on a transport endpoint other
+ than the transport endpoints identified by this object,
+ the request is deemed unauthentic.
+
+ The transports identified by this object are specified
+
+ in the snmpTargetAddrTable. Entries in that table
+ whose snmpTargetAddrTagList contains this tag value
+ are identified.
+
+ If the value of this object has zero-length, transport
+ endpoints are not checked when authenticating messages
+ containing this community string."
+ DEFVAL { ''H } -- the empty string
+ ::= { snmpCommunityEntry 6 }
+
+snmpCommunityStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row in the
+ snmpCommunityTable. Conceptual rows having the value
+ 'permanent' need not allow write-access to any
+ columnar object in the row."
+ ::= { snmpCommunityEntry 7 }
+
+snmpCommunityStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row in the snmpCommunityTable.
+
+ An entry in this table is not qualified for activation
+ until instances of all corresponding columns have been
+ initialized, either through default values, or through
+ Set operations. The snmpCommunityName and
+ snmpCommunitySecurityName objects must be explicitly set.
+
+ There is no restriction on setting columns in this table
+ when the value of snmpCommunityStatus is active(1)."
+ ::= { snmpCommunityEntry 8 }
+
+--
+-- The snmpTargetAddrExtTable
+--
+
+snmpTargetAddrExtTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTargetAddrExtEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of mask and mms values associated with the
+
+ snmpTargetAddrTable.
+
+ The snmpTargetAddrExtTable augments the
+ snmpTargetAddrTable with a transport address mask value
+ and a maximum message size value. The transport address
+ mask allows entries in the snmpTargetAddrTable to define
+ a set of addresses instead of just a single address.
+ The maximum message size value allows the maximum
+ message size of another SNMP entity to be configured for
+ use in SNMPv1 (and SNMPv2c) transactions, where the
+ message format does not specify a maximum message size."
+ ::= { snmpCommunityMIBObjects 2 }
+
+snmpTargetAddrExtEntry OBJECT-TYPE
+ SYNTAX SnmpTargetAddrExtEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular mask and mms value."
+ AUGMENTS { snmpTargetAddrEntry }
+ ::= { snmpTargetAddrExtTable 1 }
+
+SnmpTargetAddrExtEntry ::= SEQUENCE {
+ snmpTargetAddrTMask OCTET STRING,
+ snmpTargetAddrMMS Integer32
+}
+
+snmpTargetAddrTMask OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..255))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The mask value associated with an entry in the
+ snmpTargetAddrTable. The value of this object must
+ have the same length as the corresponding instance of
+ snmpTargetAddrTAddress, or must have length 0. An
+ attempt to set it to any other value will result in
+ an inconsistentValue error.
+
+ The value of this object allows an entry in the
+ snmpTargetAddrTable to specify multiple addresses.
+ The mask value is used to select which bits of
+ a transport address must match bits of the corresponding
+ instance of snmpTargetAddrTAddress, in order for the
+ transport address to match a particular entry in the
+ snmpTargetAddrTable. Bits which are 1 in the mask
+ value indicate bits in the transport address which
+ must match bits in the snmpTargetAddrTAddress value.
+
+ Bits which are 0 in the mask indicate bits in the
+ transport address which need not match. If the
+ length of the mask is 0, the mask should be treated
+ as if all its bits were 1 and its length were equal
+ to the length of the corresponding value of
+ snmpTargetAddrTable.
+
+ This object may not be modified while the value of the
+ corresponding instance of snmpTargetAddrRowStatus is
+ active(1). An attempt to set this object in this case
+ will result in an inconsistentValue error."
+ DEFVAL { ''H }
+ ::= { snmpTargetAddrExtEntry 1 }
+
+snmpTargetAddrMMS OBJECT-TYPE
+ SYNTAX Integer32 (0|484..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The maximum message size value associated with an entry
+ in the snmpTargetAddrTable."
+ DEFVAL { 484 }
+ ::= { snmpTargetAddrExtEntry 2 }
+
+--
+-- The snmpTrapAddress and snmpTrapCommunity objects are included
+-- in notifications that are forwarded by a proxy, which were
+-- originally received as SNMPv1 Trap messages.
+--
+
+snmpTrapAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The value of the agent-addr field of a Trap PDU which
+ is forwarded by a proxy forwarder application using
+ an SNMP version other than SNMPv1. The value of this
+ object SHOULD contain the value of the agent-addr field
+ from the original Trap PDU as generated by an SNMPv1
+ agent."
+ ::= { snmpCommunityMIBObjects 3 }
+
+snmpTrapCommunity OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The value of the community string field of an SNMPv1
+ message containing a Trap PDU which is forwarded by a
+ a proxy forwarder application using an SNMP version
+ other than SNMPv1. The value of this object SHOULD
+ contain the value of the community string field from
+ the original SNMPv1 message containing a Trap PDU as
+ generated by an SNMPv1 agent."
+ ::= { snmpCommunityMIBObjects 4 }
+
+-- Conformance Information *******************************************
+
+snmpCommunityMIBCompliances OBJECT IDENTIFIER
+ ::= { snmpCommunityMIBConformance 1 }
+snmpCommunityMIBGroups OBJECT IDENTIFIER
+ ::= { snmpCommunityMIBConformance 2 }
+
+-- Compliance statements
+
+snmpCommunityMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP engines which
+ implement the SNMP-COMMUNITY-MIB."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpCommunityGroup }
+
+ OBJECT snmpCommunityName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunitySecurityName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityContextEngineID
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityContextName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityTransportTag
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT snmpCommunityStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+ ::= { snmpCommunityMIBCompliances 1 }
+
+snmpProxyTrapForwardCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP engines which
+ contain a proxy forwarding application which is
+ capable of forwarding SNMPv1 traps using SNMPv2c
+ or SNMPv3."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpProxyTrapForwardGroup }
+ ::= { snmpCommunityMIBCompliances 2 }
+
+snmpCommunityGroup OBJECT-GROUP
+ OBJECTS {
+ snmpCommunityName,
+ snmpCommunitySecurityName,
+ snmpCommunityContextEngineID,
+ snmpCommunityContextName,
+ snmpCommunityTransportTag,
+ snmpCommunityStorageType,
+ snmpCommunityStatus,
+ snmpTargetAddrTMask,
+ snmpTargetAddrMMS
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing for configuration
+ of community strings for SNMPv1 (and SNMPv2c) usage."
+ ::= { snmpCommunityMIBGroups 1 }
+
+snmpProxyTrapForwardGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTrapAddress,
+ snmpTrapCommunity
+ }
+ STATUS current
+ DESCRIPTION
+ "Objects which are used by proxy forwarding applications
+ when translating traps between SNMP versions. These are
+ used to preserve SNMPv1-specific information when
+
+ translating to SNMPv2c or SNMPv3."
+ ::= { snmpCommunityMIBGroups 3 }
+
+END
diff --git a/mibs/SNMP-FRAMEWORK-MIB.txt b/mibs/SNMP-FRAMEWORK-MIB.txt
new file mode 100644
index 00000000..aa273c28
--- /dev/null
+++ b/mibs/SNMP-FRAMEWORK-MIB.txt
@@ -0,0 +1,526 @@
+SNMP-FRAMEWORK-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ OBJECT-IDENTITY,
+ snmpModules FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
+
+snmpFrameworkMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ phone: +1 301-947-7107
+
+ Co-Chair &
+ Co-editor: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603-337-2614
+
+ Co-editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, California 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408-546-1006
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+
+ EMail: bwijnen@lucent.com
+ phone: +31 348-680-485
+ "
+ DESCRIPTION "The SNMP Management Architecture MIB
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3411;
+ see the RFC itself for full legal notices.
+ "
+
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Changes in this revision:
+ - Updated various administrative information.
+ - Corrected some typos.
+ - Corrected typo in description of SnmpEngineID
+ that led to range overlap for 127.
+ - Changed '255a' to '255t' in definition of
+ SnmpAdminString to align with current SMI.
+ - Reworded 'reserved' for value zero in
+ DESCRIPTION of SnmpSecurityModel.
+ - The algorithm for allocating security models
+ should give 256 per enterprise block, rather
+ than 255.
+ - The example engine ID of 'abcd' is not
+ legal. Replaced with '800002b804616263'H based
+ on example enterprise 696, string 'abc'.
+ - Added clarification that engineID should
+ persist across re-initializations.
+ This revision published as RFC 3411.
+ "
+ REVISION "199901190000Z" -- 19 January 1999
+ DESCRIPTION "Updated editors' addresses, fixed typos.
+ Published as RFC 2571.
+ "
+ REVISION "199711200000Z" -- 20 November 1997
+ DESCRIPTION "The initial version, published in RFC 2271.
+ "
+ ::= { snmpModules 10 }
+
+ -- Textual Conventions used in the SNMP Management Architecture ***
+
+SnmpEngineID ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
+ Objects of this type are for identification, not for
+ addressing, even though it is possible that an
+ address may have been used in the generation of
+ a specific value.
+
+ The value for this object may not be all zeros or
+ all 'ff'H or the empty (zero length) string.
+
+ The initial value for this object may be configured
+ via an operator console entry or via an algorithmic
+ function. In the latter case, the following
+ example algorithm is recommended.
+
+ In cases where there are multiple engines on the
+ same system, the use of this algorithm is NOT
+ appropriate, as it would result in all of those
+ engines ending up with the same ID value.
+
+ 1) The very first bit is used to indicate how the
+ rest of the data is composed.
+
+ 0 - as defined by enterprise using former methods
+ that existed before SNMPv3. See item 2 below.
+
+ 1 - as defined by this architecture, see item 3
+ below.
+
+ Note that this allows existing uses of the
+ engineID (also known as AgentID [RFC1910]) to
+ co-exist with any new uses.
+
+ 2) The snmpEngineID has a length of 12 octets.
+
+ The first four octets are set to the binary
+ equivalent of the agent's SNMP management
+ private enterprise number as assigned by the
+ Internet Assigned Numbers Authority (IANA).
+ For example, if Acme Networks has been assigned
+ { enterprises 696 }, the first four octets would
+ be assigned '000002b8'H.
+
+ The remaining eight octets are determined via
+ one or more enterprise-specific methods. Such
+ methods must be designed so as to maximize the
+ possibility that the value of this object will
+ be unique in the agent's administrative domain.
+ For example, it may be the IP address of the SNMP
+ entity, or the MAC address of one of the
+ interfaces, with each address suitably padded
+ with random octets. If multiple methods are
+ defined, then it is recommended that the first
+ octet indicate the method being used and the
+ remaining octets be a function of the method.
+
+ 3) The length of the octet string varies.
+
+ The first four octets are set to the binary
+ equivalent of the agent's SNMP management
+ private enterprise number as assigned by the
+ Internet Assigned Numbers Authority (IANA).
+ For example, if Acme Networks has been assigned
+ { enterprises 696 }, the first four octets would
+ be assigned '000002b8'H.
+
+ The very first bit is set to 1. For example, the
+ above value for Acme Networks now changes to be
+ '800002b8'H.
+
+ The fifth octet indicates how the rest (6th and
+ following octets) are formatted. The values for
+ the fifth octet are:
+
+ 0 - reserved, unused.
+
+ 1 - IPv4 address (4 octets)
+ lowest non-special IP address
+
+ 2 - IPv6 address (16 octets)
+ lowest non-special IP address
+
+ 3 - MAC address (6 octets)
+ lowest IEEE MAC address, canonical
+ order
+
+ 4 - Text, administratively assigned
+ Maximum remaining length 27
+
+ 5 - Octets, administratively assigned
+ Maximum remaining length 27
+
+ 6-127 - reserved, unused
+
+ 128-255 - as defined by the enterprise
+ Maximum remaining length 27
+ "
+ SYNTAX OCTET STRING (SIZE(5..32))
+
+SnmpSecurityModel ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "An identifier that uniquely identifies a
+ Security Model of the Security Subsystem within
+ this SNMP Management Architecture.
+
+ The values for securityModel are allocated as
+ follows:
+
+ - The zero value does not identify any particular
+ security model.
+
+ - Values between 1 and 255, inclusive, are reserved
+ for standards-track Security Models and are
+ managed by the Internet Assigned Numbers Authority
+ (IANA).
+ - Values greater than 255 are allocated to
+ enterprise-specific Security Models. An
+ enterprise-specific securityModel value is defined
+ to be:
+
+ enterpriseID * 256 + security model within
+ enterprise
+
+ For example, the fourth Security Model defined by
+ the enterprise whose enterpriseID is 1 would be
+ 259.
+
+ This scheme for allocation of securityModel
+ values allows for a maximum of 255 standards-
+ based Security Models, and for a maximum of
+ 256 Security Models per enterprise.
+
+ It is believed that the assignment of new
+ securityModel values will be rare in practice
+ because the larger the number of simultaneously
+ utilized Security Models, the larger the
+ chance that interoperability will suffer.
+ Consequently, it is believed that such a range
+ will be sufficient. In the unlikely event that
+ the standards committee finds this number to be
+ insufficient over time, an enterprise number
+ can be allocated to obtain an additional 256
+ possible values.
+
+ Note that the most significant bit must be zero;
+ hence, there are 23 bits allocated for various
+ organizations to design and define non-standard
+
+ securityModels. This limits the ability to
+ define new proprietary implementations of Security
+ Models to the first 8,388,608 enterprises.
+
+ It is worthwhile to note that, in its encoded
+ form, the securityModel value will normally
+ require only a single byte since, in practice,
+ the leftmost bits will be zero for most messages
+ and sign extension is suppressed by the encoding
+ rules.
+
+ As of this writing, there are several values
+ of securityModel defined for use with SNMP or
+ reserved for use with supporting MIB objects.
+ They are as follows:
+
+ 0 reserved for 'any'
+ 1 reserved for SNMPv1
+ 2 reserved for SNMPv2c
+ 3 User-Based Security Model (USM)
+ "
+ SYNTAX INTEGER(0 .. 2147483647)
+
+SnmpMessageProcessingModel ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "An identifier that uniquely identifies a Message
+ Processing Model of the Message Processing
+ Subsystem within this SNMP Management Architecture.
+
+ The values for messageProcessingModel are
+ allocated as follows:
+
+ - Values between 0 and 255, inclusive, are
+ reserved for standards-track Message Processing
+ Models and are managed by the Internet Assigned
+ Numbers Authority (IANA).
+
+ - Values greater than 255 are allocated to
+ enterprise-specific Message Processing Models.
+ An enterprise messageProcessingModel value is
+ defined to be:
+
+ enterpriseID * 256 +
+ messageProcessingModel within enterprise
+
+ For example, the fourth Message Processing Model
+ defined by the enterprise whose enterpriseID
+
+ is 1 would be 259.
+
+ This scheme for allocating messageProcessingModel
+ values allows for a maximum of 255 standards-
+ based Message Processing Models, and for a
+ maximum of 256 Message Processing Models per
+ enterprise.
+
+ It is believed that the assignment of new
+ messageProcessingModel values will be rare
+ in practice because the larger the number of
+ simultaneously utilized Message Processing Models,
+ the larger the chance that interoperability
+ will suffer. It is believed that such a range
+ will be sufficient. In the unlikely event that
+ the standards committee finds this number to be
+ insufficient over time, an enterprise number
+ can be allocated to obtain an additional 256
+ possible values.
+
+ Note that the most significant bit must be zero;
+ hence, there are 23 bits allocated for various
+ organizations to design and define non-standard
+ messageProcessingModels. This limits the ability
+ to define new proprietary implementations of
+ Message Processing Models to the first 8,388,608
+ enterprises.
+
+ It is worthwhile to note that, in its encoded
+ form, the messageProcessingModel value will
+ normally require only a single byte since, in
+ practice, the leftmost bits will be zero for
+ most messages and sign extension is suppressed
+ by the encoding rules.
+
+ As of this writing, there are several values of
+ messageProcessingModel defined for use with SNMP.
+ They are as follows:
+
+ 0 reserved for SNMPv1
+ 1 reserved for SNMPv2c
+ 2 reserved for SNMPv2u and SNMPv2*
+ 3 reserved for SNMPv3
+ "
+ SYNTAX INTEGER(0 .. 2147483647)
+
+SnmpSecurityLevel ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION "A Level of Security at which SNMP messages can be
+ sent or with which operations are being processed;
+ in particular, one of:
+
+ noAuthNoPriv - without authentication and
+ without privacy,
+ authNoPriv - with authentication but
+ without privacy,
+ authPriv - with authentication and
+ with privacy.
+
+ These three values are ordered such that
+ noAuthNoPriv is less than authNoPriv and
+ authNoPriv is less than authPriv.
+ "
+ SYNTAX INTEGER { noAuthNoPriv(1),
+ authNoPriv(2),
+ authPriv(3)
+ }
+
+SnmpAdminString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255t"
+ STATUS current
+ DESCRIPTION "An octet string containing administrative
+ information, preferably in human-readable form.
+
+ To facilitate internationalization, this
+ information is represented using the ISO/IEC
+ IS 10646-1 character set, encoded as an octet
+ string using the UTF-8 transformation format
+ described in [RFC2279].
+
+ Since additional code points are added by
+ amendments to the 10646 standard from time
+ to time, implementations must be prepared to
+ encounter any code point from 0x00000000 to
+ 0x7fffffff. Byte sequences that do not
+ correspond to the valid UTF-8 encoding of a
+ code point or are outside this range are
+ prohibited.
+
+ The use of control codes should be avoided.
+
+ When it is necessary to represent a newline,
+ the control code sequence CR LF should be used.
+
+ The use of leading or trailing white space should
+ be avoided.
+
+ For code points not directly supported by user
+ interface hardware or software, an alternative
+ means of entry and display, such as hexadecimal,
+ may be provided.
+
+ For information encoded in 7-bit US-ASCII,
+ the UTF-8 encoding is identical to the
+ US-ASCII encoding.
+
+ UTF-8 may require multiple bytes to represent a
+ single character / code point; thus the length
+ of this object in octets may be different from
+ the number of characters encoded. Similarly,
+ size constraints refer to the number of encoded
+ octets, not the number of characters represented
+ by an encoding.
+
+ Note that when this TC is used for an object that
+ is used or envisioned to be used as an index, then
+ a SIZE restriction MUST be specified so that the
+ number of sub-identifiers for any object instance
+ does not exceed the limit of 128, as defined by
+ [RFC3416].
+
+ Note that the size of an SnmpAdminString object is
+ measured in octets, not characters.
+ "
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+-- Administrative assignments ***************************************
+
+snmpFrameworkAdmin
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 1 }
+snmpFrameworkMIBObjects
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 2 }
+snmpFrameworkMIBConformance
+ OBJECT IDENTIFIER ::= { snmpFrameworkMIB 3 }
+
+-- the snmpEngine Group ********************************************
+
+snmpEngine OBJECT IDENTIFIER ::= { snmpFrameworkMIBObjects 1 }
+
+snmpEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
+
+ This information SHOULD be stored in non-volatile
+ storage so that it remains constant across
+ re-initializations of the SNMP engine.
+ "
+ ::= { snmpEngine 1 }
+
+snmpEngineBoots OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of times that the SNMP engine has
+ (re-)initialized itself since snmpEngineID
+ was last configured.
+ "
+ ::= { snmpEngine 2 }
+
+snmpEngineTime OBJECT-TYPE
+ SYNTAX INTEGER (0..2147483647)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The number of seconds since the value of
+ the snmpEngineBoots object last changed.
+ When incrementing this object's value would
+ cause it to exceed its maximum,
+ snmpEngineBoots is incremented as if a
+ re-initialization had occurred, and this
+ object's value consequently reverts to zero.
+ "
+ ::= { snmpEngine 3 }
+
+snmpEngineMaxMessageSize OBJECT-TYPE
+ SYNTAX INTEGER (484..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The maximum length in octets of an SNMP message
+ which this SNMP engine can send or receive and
+ process, determined as the minimum of the maximum
+ message size values supported among all of the
+ transports available to and supported by the engine.
+ "
+ ::= { snmpEngine 4 }
+
+-- Registration Points for Authentication and Privacy Protocols **
+
+snmpAuthProtocols OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Registration point for standards-track
+ authentication protocols used in SNMP Management
+ Frameworks.
+ "
+ ::= { snmpFrameworkAdmin 1 }
+
+snmpPrivProtocols OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "Registration point for standards-track privacy
+ protocols used in SNMP Management Frameworks.
+ "
+ ::= { snmpFrameworkAdmin 2 }
+
+-- Conformance information ******************************************
+
+snmpFrameworkMIBCompliances
+ OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 1}
+snmpFrameworkMIBGroups
+ OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 2}
+
+-- compliance statements
+
+snmpFrameworkMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines which
+ implement the SNMP Management Framework MIB.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpEngineGroup }
+ ::= { snmpFrameworkMIBCompliances 1 }
+
+-- units of conformance
+
+snmpEngineGroup OBJECT-GROUP
+ OBJECTS {
+ snmpEngineID,
+ snmpEngineBoots,
+ snmpEngineTime,
+ snmpEngineMaxMessageSize
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects for identifying and
+ determining the configuration and current timeliness
+
+ values of an SNMP engine.
+ "
+ ::= { snmpFrameworkMIBGroups 1 }
+
+END
diff --git a/mibs/SNMP-MPD-MIB.txt b/mibs/SNMP-MPD-MIB.txt
new file mode 100644
index 00000000..d4c605b1
--- /dev/null
+++ b/mibs/SNMP-MPD-MIB.txt
@@ -0,0 +1,145 @@
+SNMP-MPD-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ snmpModules, Counter32 FROM SNMPv2-SMI;
+
+snmpMPDMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+
+ EMail: mundy@tislabs.com
+ phone: +1 301-947-7107
+
+ Co-Chair &
+ Co-editor: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester NH 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603-337-2614
+
+ Co-editor: Jeffrey Case
+ SNMP Research, Inc.
+ postal: 3001 Kimberlin Heights Road
+ Knoxville, TN 37920-9716
+ USA
+ EMail: case@snmp.com
+ phone: +1 423-573-1434
+
+ Co-editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408-546-1006
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ EMail: bwijnen@lucent.com
+ phone: +31 348-680-485
+ "
+ DESCRIPTION "The MIB for Message Processing and Dispatching
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3412;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Updated addresses, published as RFC 3412."
+ REVISION "199905041636Z" -- 4 May 1999
+ DESCRIPTION "Updated addresses, published as RFC 2572."
+
+ REVISION "199709300000Z" -- 30 September 1997
+ DESCRIPTION "Original version, published as RFC 2272."
+ ::= { snmpModules 11 }
+
+-- Administrative assignments ***************************************
+
+snmpMPDAdmin OBJECT IDENTIFIER ::= { snmpMPDMIB 1 }
+snmpMPDMIBObjects OBJECT IDENTIFIER ::= { snmpMPDMIB 2 }
+snmpMPDMIBConformance OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }
+
+-- Statistics for SNMP Messages *************************************
+
+snmpMPDStats OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }
+
+snmpUnknownSecurityModels OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they referenced a
+ securityModel that was not known to or supported by
+ the SNMP engine.
+ "
+ ::= { snmpMPDStats 1 }
+
+snmpInvalidMsgs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because there were invalid
+ or inconsistent components in the SNMP message.
+ "
+ ::= { snmpMPDStats 2 }
+
+snmpUnknownPDUHandlers OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because the PDU contained
+ in the packet could not be passed to an application
+ responsible for handling the pduType, e.g. no SNMP
+ application had registered for the proper
+ combination of the contextEngineID and the pduType.
+ "
+ ::= { snmpMPDStats 3 }
+
+-- Conformance information ******************************************
+
+snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1}
+snmpMPDMIBGroups OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2}
+
+-- Compliance statements
+
+snmpMPDCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP entities which
+ implement the SNMP-MPD-MIB.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpMPDGroup }
+ ::= { snmpMPDMIBCompliances 1 }
+
+snmpMPDGroup OBJECT-GROUP
+ OBJECTS {
+ snmpUnknownSecurityModels,
+ snmpInvalidMsgs,
+ snmpUnknownPDUHandlers
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing for remote
+ monitoring of the SNMP Message Processing and
+ Dispatching process.
+ "
+ ::= { snmpMPDMIBGroups 1 }
+
+END
diff --git a/mibs/SNMP-NOTIFICATION-MIB.txt b/mibs/SNMP-NOTIFICATION-MIB.txt
new file mode 100644
index 00000000..0ef06b64
--- /dev/null
+++ b/mibs/SNMP-NOTIFICATION-MIB.txt
@@ -0,0 +1,589 @@
+SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ snmpModules
+ FROM SNMPv2-SMI
+
+ RowStatus,
+ StorageType
+ FROM SNMPv2-TC
+
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+
+ SnmpTagValue,
+ snmpTargetParamsName
+ FROM SNMP-TARGET-MIB
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpNotificationMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ Postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ Phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, Tennessee 37918
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Co-editor: Paul Meyer
+ Secure Computing Corporation
+ Postal: 2675 Long Lake Road
+ Roseville, Minnesota 55113
+ EMail: paul_meyer@securecomputing.com
+ Phone: +1 651 628 1592
+
+ Co-editor: Bob Stewart
+ Retired"
+ DESCRIPTION
+ "This MIB module defines MIB objects which provide
+ mechanisms to remotely configure the parameters
+ used by an SNMP entity for the generation of
+ notifications.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3413;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Clarifications, published as
+ RFC 3413."
+ REVISION "199808040000Z" -- 4 August 1998
+ DESCRIPTION "Clarifications, published as
+ RFC 2573."
+ REVISION "199707140000Z" -- 14 July 1997
+ DESCRIPTION "The initial revision, published as RFC2273."
+ ::= { snmpModules 13 }
+
+snmpNotifyObjects OBJECT IDENTIFIER ::=
+ { snmpNotificationMIB 1 }
+snmpNotifyConformance OBJECT IDENTIFIER ::=
+ { snmpNotificationMIB 3 }
+
+--
+--
+-- The snmpNotifyObjects group
+--
+--
+
+snmpNotifyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpNotifyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is used to select management targets which should
+ receive notifications, as well as the type of notification
+ which should be sent to each selected management target."
+ ::= { snmpNotifyObjects 1 }
+
+snmpNotifyEntry OBJECT-TYPE
+ SYNTAX SnmpNotifyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table selects a set of management targets
+ which should receive notifications, as well as the type of
+
+ notification which should be sent to each selected
+ management target.
+
+ Entries in the snmpNotifyTable are created and
+ deleted using the snmpNotifyRowStatus object."
+ INDEX { IMPLIED snmpNotifyName }
+ ::= { snmpNotifyTable 1 }
+
+SnmpNotifyEntry ::= SEQUENCE {
+ snmpNotifyName SnmpAdminString,
+ snmpNotifyTag SnmpTagValue,
+ snmpNotifyType INTEGER,
+ snmpNotifyStorageType StorageType,
+ snmpNotifyRowStatus RowStatus
+}
+
+snmpNotifyName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpNotifyEntry."
+ ::= { snmpNotifyEntry 1 }
+
+snmpNotifyTag OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object contains a single tag value which is used
+ to select entries in the snmpTargetAddrTable. Any entry
+ in the snmpTargetAddrTable which contains a tag value
+ which is equal to the value of an instance of this
+ object is selected. If this object contains a value
+ of zero length, no entries are selected."
+ DEFVAL { "" }
+ ::= { snmpNotifyEntry 2 }
+
+snmpNotifyType OBJECT-TYPE
+ SYNTAX INTEGER {
+ trap(1),
+ inform(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object determines the type of notification to
+
+ be generated for entries in the snmpTargetAddrTable
+ selected by the corresponding instance of
+ snmpNotifyTag. This value is only used when
+ generating notifications, and is ignored when
+ using the snmpTargetAddrTable for other purposes.
+
+ If the value of this object is trap(1), then any
+ messages generated for selected rows will contain
+ Unconfirmed-Class PDUs.
+
+ If the value of this object is inform(2), then any
+ messages generated for selected rows will contain
+ Confirmed-Class PDUs.
+
+ Note that if an SNMP entity only supports
+ generation of Unconfirmed-Class PDUs (and not
+ Confirmed-Class PDUs), then this object may be
+ read-only."
+ DEFVAL { trap }
+ ::= { snmpNotifyEntry 3 }
+
+snmpNotifyStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpNotifyEntry 4 }
+
+snmpNotifyRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5)."
+ ::= { snmpNotifyEntry 5 }
+
+snmpNotifyFilterProfileTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpNotifyFilterProfileEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table is used to associate a notification filter
+ profile with a particular set of target parameters."
+ ::= { snmpNotifyObjects 2 }
+
+snmpNotifyFilterProfileEntry OBJECT-TYPE
+ SYNTAX SnmpNotifyFilterProfileEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in this table indicates the name of the filter
+ profile to be used when generating notifications using
+ the corresponding entry in the snmpTargetParamsTable.
+
+ Entries in the snmpNotifyFilterProfileTable are created
+ and deleted using the snmpNotifyFilterProfileRowStatus
+ object."
+ INDEX { IMPLIED snmpTargetParamsName }
+ ::= { snmpNotifyFilterProfileTable 1 }
+
+SnmpNotifyFilterProfileEntry ::= SEQUENCE {
+ snmpNotifyFilterProfileName SnmpAdminString,
+ snmpNotifyFilterProfileStorType StorageType,
+ snmpNotifyFilterProfileRowStatus RowStatus
+}
+
+snmpNotifyFilterProfileName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The name of the filter profile to be used when generating
+ notifications using the corresponding entry in the
+ snmpTargetAddrTable."
+ ::= { snmpNotifyFilterProfileEntry 1 }
+
+snmpNotifyFilterProfileStorType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpNotifyFilterProfileEntry 2 }
+
+snmpNotifyFilterProfileRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the
+ snmpNotifyFilterProfileRowStatus column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until the corresponding instance of
+ snmpNotifyFilterProfileName has been set."
+ ::= { snmpNotifyFilterProfileEntry 3 }
+
+snmpNotifyFilterTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpNotifyFilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of filter profiles. Filter profiles are used
+ to determine whether particular management targets should
+ receive particular notifications.
+
+ When a notification is generated, it must be compared
+ with the filters associated with each management target
+ which is configured to receive notifications, in order to
+ determine whether it may be sent to each such management
+ target.
+
+ A more complete discussion of notification filtering
+ can be found in section 6. of [SNMP-APPL]."
+ ::= { snmpNotifyObjects 3 }
+
+snmpNotifyFilterEntry OBJECT-TYPE
+ SYNTAX SnmpNotifyFilterEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An element of a filter profile.
+
+ Entries in the snmpNotifyFilterTable are created and
+ deleted using the snmpNotifyFilterRowStatus object."
+ INDEX { snmpNotifyFilterProfileName,
+ IMPLIED snmpNotifyFilterSubtree }
+ ::= { snmpNotifyFilterTable 1 }
+
+SnmpNotifyFilterEntry ::= SEQUENCE {
+ snmpNotifyFilterSubtree OBJECT IDENTIFIER,
+ snmpNotifyFilterMask OCTET STRING,
+ snmpNotifyFilterType INTEGER,
+ snmpNotifyFilterStorageType StorageType,
+ snmpNotifyFilterRowStatus RowStatus
+}
+
+snmpNotifyFilterSubtree OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The MIB subtree which, when combined with the corresponding
+ instance of snmpNotifyFilterMask, defines a family of
+ subtrees which are included in or excluded from the
+ filter profile."
+ ::= { snmpNotifyFilterEntry 1 }
+
+snmpNotifyFilterMask OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..16))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The bit mask which, in combination with the corresponding
+ instance of snmpNotifyFilterSubtree, defines a family of
+ subtrees which are included in or excluded from the
+ filter profile.
+
+ Each bit of this bit mask corresponds to a
+ sub-identifier of snmpNotifyFilterSubtree, with the
+ most significant bit of the i-th octet of this octet
+ string value (extended if necessary, see below)
+ corresponding to the (8*i - 7)-th sub-identifier, and
+ the least significant bit of the i-th octet of this
+ octet string corresponding to the (8*i)-th
+ sub-identifier, where i is in the range 1 through 16.
+
+ Each bit of this bit mask specifies whether or not
+ the corresponding sub-identifiers must match when
+ determining if an OBJECT IDENTIFIER matches this
+ family of filter subtrees; a '1' indicates that an
+ exact match must occur; a '0' indicates 'wild card',
+ i.e., any sub-identifier value matches.
+
+ Thus, the OBJECT IDENTIFIER X of an object instance
+ is contained in a family of filter subtrees if, for
+ each sub-identifier of the value of
+ snmpNotifyFilterSubtree, either:
+
+ the i-th bit of snmpNotifyFilterMask is 0, or
+
+ the i-th sub-identifier of X is equal to the i-th
+ sub-identifier of the value of
+ snmpNotifyFilterSubtree.
+
+ If the value of this bit mask is M bits long and
+ there are more than M sub-identifiers in the
+ corresponding instance of snmpNotifyFilterSubtree,
+ then the bit mask is extended with 1's to be the
+ required length.
+
+ Note that when the value of this object is the
+ zero-length string, this extension rule results in
+ a mask of all-1's being used (i.e., no 'wild card'),
+ and the family of filter subtrees is the one
+ subtree uniquely identified by the corresponding
+ instance of snmpNotifyFilterSubtree."
+ DEFVAL { ''H }
+ ::= { snmpNotifyFilterEntry 2 }
+
+snmpNotifyFilterType OBJECT-TYPE
+ SYNTAX INTEGER {
+ included(1),
+ excluded(2)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object indicates whether the family of filter subtrees
+ defined by this entry are included in or excluded from a
+ filter. A more detailed discussion of the use of this
+ object can be found in section 6. of [SNMP-APPL]."
+ DEFVAL { included }
+ ::= { snmpNotifyFilterEntry 3 }
+
+snmpNotifyFilterStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpNotifyFilterEntry 4 }
+
+snmpNotifyFilterRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5)."
+ ::= { snmpNotifyFilterEntry 5 }
+
+--
+--
+-- Conformance information
+--
+--
+
+snmpNotifyCompliances OBJECT IDENTIFIER ::=
+ { snmpNotifyConformance 1 }
+snmpNotifyGroups OBJECT IDENTIFIER ::=
+ { snmpNotifyConformance 2 }
+
+--
+--
+-- Compliance statements
+--
+--
+
+snmpNotifyBasicCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for minimal SNMP entities which
+ implement only SNMP Unconfirmed-Class notifications and
+ read-create operations on only the snmpTargetAddrTable."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup }
+
+ OBJECT snmpTargetParamsMPModel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsSecurityModel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsSecurityName
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsSecurityLevel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpTargetParamsStorageType
+ SYNTAX INTEGER {
+ readOnly(5)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required.
+ Support of the values other(1), volatile(2),
+ nonVolatile(3), and permanent(4) is not required."
+
+ OBJECT snmpTargetParamsRowStatus
+ SYNTAX INTEGER {
+ active(1)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access to the
+ snmpTargetParamsTable is not required.
+ Support of the values notInService(2), notReady(3),
+ createAndGo(4), createAndWait(5), and destroy(6) is
+ not required."
+
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpNotifyGroup }
+
+ OBJECT snmpNotifyTag
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required."
+
+ OBJECT snmpNotifyType
+ SYNTAX INTEGER {
+ trap(1)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required.
+ Support of the value notify(2) is not required."
+
+ OBJECT snmpNotifyStorageType
+ SYNTAX INTEGER {
+ readOnly(5)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access is not required.
+ Support of the values other(1), volatile(2),
+ nonVolatile(3), and permanent(4) is not required."
+
+ OBJECT snmpNotifyRowStatus
+ SYNTAX INTEGER {
+ active(1)
+ }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/delete/modify access to the
+ snmpNotifyTable is not required.
+ Support of the values notInService(2), notReady(3),
+ createAndGo(4), createAndWait(5), and destroy(6) is
+ not required."
+ ::= { snmpNotifyCompliances 1 }
+
+snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which implement
+ SNMP Unconfirmed-Class notifications with filtering, and
+ read-create operations on all related tables."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup }
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpNotifyGroup,
+ snmpNotifyFilterGroup }
+ ::= { snmpNotifyCompliances 2 }
+
+snmpNotifyFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which either
+ implement only SNMP Confirmed-Class notifications, or both
+ SNMP Unconfirmed-Class and Confirmed-Class notifications,
+ plus filtering and read-create operations on all related
+ tables."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup,
+ snmpTargetResponseGroup }
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpNotifyGroup,
+ snmpNotifyFilterGroup }
+ ::= { snmpNotifyCompliances 3 }
+
+snmpNotifyGroup OBJECT-GROUP
+ OBJECTS {
+ snmpNotifyTag,
+ snmpNotifyType,
+ snmpNotifyStorageType,
+ snmpNotifyRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects for selecting which management
+ targets are used for generating notifications, and the
+ type of notification to be generated for each selected
+ management target."
+ ::= { snmpNotifyGroups 1 }
+
+snmpNotifyFilterGroup OBJECT-GROUP
+ OBJECTS {
+ snmpNotifyFilterProfileName,
+ snmpNotifyFilterProfileStorType,
+ snmpNotifyFilterProfileRowStatus,
+ snmpNotifyFilterMask,
+ snmpNotifyFilterType,
+ snmpNotifyFilterStorageType,
+ snmpNotifyFilterRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing remote configuration
+ of notification filters."
+ ::= { snmpNotifyGroups 2 }
+
+END
diff --git a/mibs/SNMP-PROXY-MIB.txt b/mibs/SNMP-PROXY-MIB.txt
new file mode 100644
index 00000000..4a72e860
--- /dev/null
+++ b/mibs/SNMP-PROXY-MIB.txt
@@ -0,0 +1,294 @@
+SNMP-PROXY-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ snmpModules
+ FROM SNMPv2-SMI
+
+ RowStatus,
+ StorageType
+ FROM SNMPv2-TC
+
+ SnmpEngineID,
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+
+ SnmpTagValue
+ FROM SNMP-TARGET-MIB
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpProxyMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ Postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ Phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, Tennessee 37918
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Co-editor: Paul Meyer
+ Secure Computing Corporation
+ Postal: 2675 Long Lake Road
+ Roseville, Minnesota 55113
+ EMail: paul_meyer@securecomputing.com
+ Phone: +1 651 628 1592
+
+ Co-editor: Bob Stewart
+ Retired"
+ DESCRIPTION
+ "This MIB module defines MIB objects which provide
+ mechanisms to remotely configure the parameters
+ used by a proxy forwarding application.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3413;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Clarifications, published as
+ RFC 3413."
+ REVISION "199808040000Z" -- 4 August 1998
+ DESCRIPTION "Clarifications, published as
+ RFC 2573."
+ REVISION "199707140000Z" -- 14 July 1997
+ DESCRIPTION "The initial revision, published as RFC2273."
+ ::= { snmpModules 14 }
+
+snmpProxyObjects OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
+snmpProxyConformance OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }
+
+--
+
+--
+-- The snmpProxyObjects group
+--
+--
+
+snmpProxyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpProxyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of translation parameters used by proxy forwarder
+ applications for forwarding SNMP messages."
+ ::= { snmpProxyObjects 2 }
+
+snmpProxyEntry OBJECT-TYPE
+ SYNTAX SnmpProxyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of translation parameters used by a proxy forwarder
+ application for forwarding SNMP messages.
+
+ Entries in the snmpProxyTable are created and deleted
+ using the snmpProxyRowStatus object."
+ INDEX { IMPLIED snmpProxyName }
+ ::= { snmpProxyTable 1 }
+
+SnmpProxyEntry ::= SEQUENCE {
+ snmpProxyName SnmpAdminString,
+ snmpProxyType INTEGER,
+ snmpProxyContextEngineID SnmpEngineID,
+ snmpProxyContextName SnmpAdminString,
+ snmpProxyTargetParamsIn SnmpAdminString,
+ snmpProxySingleTargetOut SnmpAdminString,
+ snmpProxyMultipleTargetOut SnmpTagValue,
+ snmpProxyStorageType StorageType,
+ snmpProxyRowStatus RowStatus
+}
+
+snmpProxyName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpProxyEntry."
+ ::= { snmpProxyEntry 1 }
+
+snmpProxyType OBJECT-TYPE
+ SYNTAX INTEGER {
+ read(1),
+ write(2),
+ trap(3),
+ inform(4)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The type of message that may be forwarded using
+ the translation parameters defined by this entry."
+ ::= { snmpProxyEntry 2 }
+
+snmpProxyContextEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The contextEngineID contained in messages that
+ may be forwarded using the translation parameters
+ defined by this entry."
+ ::= { snmpProxyEntry 3 }
+
+snmpProxyContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The contextName contained in messages that may be
+ forwarded using the translation parameters defined
+ by this entry.
+
+ This object is optional, and if not supported, the
+ contextName contained in a message is ignored when
+ selecting an entry in the snmpProxyTable."
+ ::= { snmpProxyEntry 4 }
+
+snmpProxyTargetParamsIn OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object selects an entry in the snmpTargetParamsTable.
+ The selected entry is used to determine which row of the
+ snmpProxyTable to use for forwarding received messages."
+ ::= { snmpProxyEntry 5 }
+
+snmpProxySingleTargetOut OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object selects a management target defined in the
+ snmpTargetAddrTable (in the SNMP-TARGET-MIB). The
+ selected target is defined by an entry in the
+ snmpTargetAddrTable whose index value (snmpTargetAddrName)
+ is equal to this object.
+
+ This object is only used when selection of a single
+ target is required (i.e. when forwarding an incoming
+ read or write request)."
+ ::= { snmpProxyEntry 6 }
+
+snmpProxyMultipleTargetOut OBJECT-TYPE
+ SYNTAX SnmpTagValue
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object selects a set of management targets defined
+ in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).
+
+ This object is only used when selection of multiple
+ targets is required (i.e. when forwarding an incoming
+ notification)."
+ ::= { snmpProxyEntry 7 }
+
+snmpProxyStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type of this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpProxyEntry 8 }
+
+snmpProxyRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ The following objects may not be modified while the
+ value of this object is active(1):
+ - snmpProxyType
+ - snmpProxyContextEngineID
+ - snmpProxyContextName
+ - snmpProxyTargetParamsIn
+ - snmpProxySingleTargetOut
+ - snmpProxyMultipleTargetOut"
+ ::= { snmpProxyEntry 9 }
+
+--
+--
+-- Conformance information
+--
+--
+
+snmpProxyCompliances OBJECT IDENTIFIER ::=
+ { snmpProxyConformance 1 }
+snmpProxyGroups OBJECT IDENTIFIER ::=
+ { snmpProxyConformance 2 }
+
+--
+--
+-- Compliance statements
+--
+--
+
+snmpProxyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which include
+ a proxy forwarding application."
+ MODULE SNMP-TARGET-MIB
+ MANDATORY-GROUPS { snmpTargetBasicGroup,
+ snmpTargetResponseGroup }
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpProxyGroup }
+ ::= { snmpProxyCompliances 1 }
+
+snmpProxyGroup OBJECT-GROUP
+ OBJECTS {
+ snmpProxyType,
+ snmpProxyContextEngineID,
+ snmpProxyContextName,
+ snmpProxyTargetParamsIn,
+ snmpProxySingleTargetOut,
+ snmpProxyMultipleTargetOut,
+ snmpProxyStorageType,
+ snmpProxyRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing remote configuration of
+ management target translation parameters for use by
+ proxy forwarder applications."
+ ::= { snmpProxyGroups 3 }
+
+END
diff --git a/mibs/SNMP-TARGET-MIB.txt b/mibs/SNMP-TARGET-MIB.txt
new file mode 100644
index 00000000..654afdd6
--- /dev/null
+++ b/mibs/SNMP-TARGET-MIB.txt
@@ -0,0 +1,660 @@
+SNMP-TARGET-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ snmpModules,
+ Counter32,
+ Integer32
+ FROM SNMPv2-SMI
+
+ TEXTUAL-CONVENTION,
+ TDomain,
+ TAddress,
+ TimeInterval,
+ RowStatus,
+ StorageType,
+ TestAndIncr
+ FROM SNMPv2-TC
+
+ SnmpSecurityModel,
+ SnmpMessageProcessingModel,
+ SnmpSecurityLevel,
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF;
+
+snmpTargetMIB MODULE-IDENTITY
+ LAST-UPDATED "200210140000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ Postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ Phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: David B. Levi
+ Nortel Networks
+ Postal: 3505 Kesterwood Drive
+ Knoxville, Tennessee 37918
+ EMail: dlevi@nortelnetworks.com
+ Phone: +1 865 686 0432
+
+ Co-editor: Paul Meyer
+ Secure Computing Corporation
+ Postal: 2675 Long Lake Road
+
+ Roseville, Minnesota 55113
+ EMail: paul_meyer@securecomputing.com
+ Phone: +1 651 628 1592
+
+ Co-editor: Bob Stewart
+ Retired"
+ DESCRIPTION
+ "This MIB module defines MIB objects which provide
+ mechanisms to remotely configure the parameters used
+ by an SNMP entity for the generation of SNMP messages.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3413;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210140000Z" -- 14 October 2002
+ DESCRIPTION "Fixed DISPLAY-HINTS for UTF-8 strings, fixed hex
+ value of LF characters, clarified meaning of zero
+ length tag values, improved tag list examples.
+ Published as RFC 3413."
+ REVISION "199808040000Z" -- 4 August 1998
+ DESCRIPTION "Clarifications, published as
+ RFC 2573."
+ REVISION "199707140000Z" -- 14 July 1997
+ DESCRIPTION "The initial revision, published as RFC2273."
+ ::= { snmpModules 12 }
+
+snmpTargetObjects OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
+snmpTargetConformance OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }
+
+SnmpTagValue ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255t"
+ STATUS current
+ DESCRIPTION
+ "An octet string containing a tag value.
+ Tag values are preferably in human-readable form.
+
+ To facilitate internationalization, this information
+ is represented using the ISO/IEC IS 10646-1 character
+ set, encoded as an octet string using the UTF-8
+ character encoding scheme described in RFC 2279.
+
+ Since additional code points are added by amendments
+ to the 10646 standard from time to time,
+ implementations must be prepared to encounter any code
+ point from 0x00000000 to 0x7fffffff.
+
+ The use of control codes should be avoided, and certain
+
+ control codes are not allowed as described below.
+
+ For code points not directly supported by user
+ interface hardware or software, an alternative means
+ of entry and display, such as hexadecimal, may be
+ provided.
+
+ For information encoded in 7-bit US-ASCII, the UTF-8
+ representation is identical to the US-ASCII encoding.
+
+ Note that when this TC is used for an object that
+ is used or envisioned to be used as an index, then a
+ SIZE restriction must be specified so that the number
+ of sub-identifiers for any object instance does not
+ exceed the limit of 128, as defined by [RFC1905].
+
+ An object of this type contains a single tag value
+ which is used to select a set of entries in a table.
+
+ A tag value is an arbitrary string of octets, but
+ may not contain a delimiter character. Delimiter
+ characters are defined to be one of the following:
+
+ - An ASCII space character (0x20).
+
+ - An ASCII TAB character (0x09).
+
+ - An ASCII carriage return (CR) character (0x0D).
+
+ - An ASCII line feed (LF) character (0x0A).
+
+ Delimiter characters are used to separate tag values
+ in a tag list. An object of this type may only
+ contain a single tag value, and so delimiter
+ characters are not allowed in a value of this type.
+
+ Note that a tag value of 0 length means that no tag is
+ defined. In other words, a tag value of 0 length would
+ never match anything in a tag list, and would never
+ select any table entries.
+
+ Some examples of valid tag values are:
+
+ - 'acme'
+
+ - 'router'
+
+ - 'host'
+
+ The use of a tag value to select table entries is
+ application and MIB specific."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+SnmpTagList ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255t"
+ STATUS current
+ DESCRIPTION
+ "An octet string containing a list of tag values.
+ Tag values are preferably in human-readable form.
+
+ To facilitate internationalization, this information
+ is represented using the ISO/IEC IS 10646-1 character
+ set, encoded as an octet string using the UTF-8
+ character encoding scheme described in RFC 2279.
+
+ Since additional code points are added by amendments
+ to the 10646 standard from time to time,
+ implementations must be prepared to encounter any code
+ point from 0x00000000 to 0x7fffffff.
+
+ The use of control codes should be avoided, except as
+ described below.
+
+ For code points not directly supported by user
+ interface hardware or software, an alternative means
+ of entry and display, such as hexadecimal, may be
+ provided.
+
+ For information encoded in 7-bit US-ASCII, the UTF-8
+ representation is identical to the US-ASCII encoding.
+
+ An object of this type contains a list of tag values
+ which are used to select a set of entries in a table.
+
+ A tag value is an arbitrary string of octets, but
+ may not contain a delimiter character. Delimiter
+ characters are defined to be one of the following:
+
+ - An ASCII space character (0x20).
+
+ - An ASCII TAB character (0x09).
+
+ - An ASCII carriage return (CR) character (0x0D).
+
+ - An ASCII line feed (LF) character (0x0A).
+
+ Delimiter characters are used to separate tag values
+
+ in a tag list. Only a single delimiter character may
+ occur between two tag values. A tag value may not
+ have a zero length. These constraints imply certain
+ restrictions on the contents of this object:
+
+ - There cannot be a leading or trailing delimiter
+ character.
+
+ - There cannot be multiple adjacent delimiter
+ characters.
+
+ Some examples of valid tag lists are:
+
+ - '' -- an empty list
+
+ - 'acme' -- list of one tag
+
+ - 'host router bridge' -- list of several tags
+
+ Note that although a tag value may not have a length of
+ zero, an empty string is still valid. This indicates
+ an empty list (i.e. there are no tag values in the list).
+
+ The use of the tag list to select table entries is
+ application and MIB specific. Typically, an application
+ will provide one or more tag values, and any entry
+ which contains some combination of these tag values
+ will be selected."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+--
+--
+-- The snmpTargetObjects group
+--
+--
+
+snmpTargetSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This object is used to facilitate modification of table
+ entries in the SNMP-TARGET-MIB module by multiple
+ managers. In particular, it is useful when modifying
+ the value of the snmpTargetAddrTagList object.
+
+ The procedure for modifying the snmpTargetAddrTagList
+ object is as follows:
+
+ 1. Retrieve the value of snmpTargetSpinLock and
+ of snmpTargetAddrTagList.
+
+ 2. Generate a new value for snmpTargetAddrTagList.
+
+ 3. Set the value of snmpTargetSpinLock to the
+ retrieved value, and the value of
+ snmpTargetAddrTagList to the new value. If
+ the set fails for the snmpTargetSpinLock
+ object, go back to step 1."
+ ::= { snmpTargetObjects 1 }
+
+snmpTargetAddrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTargetAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of transport addresses to be used in the generation
+ of SNMP messages."
+ ::= { snmpTargetObjects 2 }
+
+snmpTargetAddrEntry OBJECT-TYPE
+ SYNTAX SnmpTargetAddrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A transport address to be used in the generation
+ of SNMP operations.
+
+ Entries in the snmpTargetAddrTable are created and
+ deleted using the snmpTargetAddrRowStatus object."
+ INDEX { IMPLIED snmpTargetAddrName }
+ ::= { snmpTargetAddrTable 1 }
+
+SnmpTargetAddrEntry ::= SEQUENCE {
+ snmpTargetAddrName SnmpAdminString,
+ snmpTargetAddrTDomain TDomain,
+ snmpTargetAddrTAddress TAddress,
+ snmpTargetAddrTimeout TimeInterval,
+ snmpTargetAddrRetryCount Integer32,
+ snmpTargetAddrTagList SnmpTagList,
+ snmpTargetAddrParams SnmpAdminString,
+ snmpTargetAddrStorageType StorageType,
+ snmpTargetAddrRowStatus RowStatus
+}
+
+snmpTargetAddrName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpTargetAddrEntry."
+ ::= { snmpTargetAddrEntry 1 }
+
+snmpTargetAddrTDomain OBJECT-TYPE
+ SYNTAX TDomain
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object indicates the transport type of the address
+ contained in the snmpTargetAddrTAddress object."
+ ::= { snmpTargetAddrEntry 2 }
+
+snmpTargetAddrTAddress OBJECT-TYPE
+ SYNTAX TAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object contains a transport address. The format of
+ this address depends on the value of the
+ snmpTargetAddrTDomain object."
+ ::= { snmpTargetAddrEntry 3 }
+
+snmpTargetAddrTimeout OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object should reflect the expected maximum round
+ trip time for communicating with the transport address
+ defined by this row. When a message is sent to this
+ address, and a response (if one is expected) is not
+ received within this time period, an implementation
+ may assume that the response will not be delivered.
+
+ Note that the time interval that an application waits
+ for a response may actually be derived from the value
+ of this object. The method for deriving the actual time
+ interval is implementation dependent. One such method
+ is to derive the expected round trip time based on a
+ particular retransmission algorithm and on the number
+ of timeouts which have occurred. The type of message may
+ also be considered when deriving expected round trip
+ times for retransmissions. For example, if a message is
+ being sent with a securityLevel that indicates both
+
+ authentication and privacy, the derived value may be
+ increased to compensate for extra processing time spent
+ during authentication and encryption processing."
+ DEFVAL { 1500 }
+ ::= { snmpTargetAddrEntry 4 }
+
+snmpTargetAddrRetryCount OBJECT-TYPE
+ SYNTAX Integer32 (0..255)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object specifies a default number of retries to be
+ attempted when a response is not received for a generated
+ message. An application may provide its own retry count,
+ in which case the value of this object is ignored."
+ DEFVAL { 3 }
+ ::= { snmpTargetAddrEntry 5 }
+
+snmpTargetAddrTagList OBJECT-TYPE
+ SYNTAX SnmpTagList
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "This object contains a list of tag values which are
+ used to select target addresses for a particular
+ operation."
+ DEFVAL { "" }
+ ::= { snmpTargetAddrEntry 6 }
+
+snmpTargetAddrParams OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The value of this object identifies an entry in the
+ snmpTargetParamsTable. The identified entry
+ contains SNMP parameters to be used when generating
+ messages to be sent to this transport address."
+ ::= { snmpTargetAddrEntry 7 }
+
+snmpTargetAddrStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpTargetAddrEntry 8 }
+
+snmpTargetAddrRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the snmpTargetAddrRowStatus
+ column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until the corresponding instances of
+ snmpTargetAddrTDomain, snmpTargetAddrTAddress, and
+ snmpTargetAddrParams have all been set.
+
+ The following objects may not be modified while the
+ value of this object is active(1):
+ - snmpTargetAddrTDomain
+ - snmpTargetAddrTAddress
+ An attempt to set these objects while the value of
+ snmpTargetAddrRowStatus is active(1) will result in
+ an inconsistentValue error."
+ ::= { snmpTargetAddrEntry 9 }
+
+snmpTargetParamsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SnmpTargetParamsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of SNMP target information to be used
+ in the generation of SNMP messages."
+ ::= { snmpTargetObjects 3 }
+
+snmpTargetParamsEntry OBJECT-TYPE
+ SYNTAX SnmpTargetParamsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A set of SNMP target information.
+
+ Entries in the snmpTargetParamsTable are created and
+ deleted using the snmpTargetParamsRowStatus object."
+ INDEX { IMPLIED snmpTargetParamsName }
+ ::= { snmpTargetParamsTable 1 }
+
+SnmpTargetParamsEntry ::= SEQUENCE {
+ snmpTargetParamsName SnmpAdminString,
+ snmpTargetParamsMPModel SnmpMessageProcessingModel,
+ snmpTargetParamsSecurityModel SnmpSecurityModel,
+ snmpTargetParamsSecurityName SnmpAdminString,
+ snmpTargetParamsSecurityLevel SnmpSecurityLevel,
+ snmpTargetParamsStorageType StorageType,
+ snmpTargetParamsRowStatus RowStatus
+}
+
+snmpTargetParamsName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The locally arbitrary, but unique identifier associated
+ with this snmpTargetParamsEntry."
+ ::= { snmpTargetParamsEntry 1 }
+
+snmpTargetParamsMPModel OBJECT-TYPE
+ SYNTAX SnmpMessageProcessingModel
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Message Processing Model to be used when generating
+ SNMP messages using this entry."
+ ::= { snmpTargetParamsEntry 2 }
+
+snmpTargetParamsSecurityModel OBJECT-TYPE
+ SYNTAX SnmpSecurityModel (1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Security Model to be used when generating SNMP
+ messages using this entry. An implementation may
+ choose to return an inconsistentValue error if an
+ attempt is made to set this variable to a value
+ for a security model which the implementation does
+ not support."
+ ::= { snmpTargetParamsEntry 3 }
+
+snmpTargetParamsSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The securityName which identifies the Principal on
+ whose behalf SNMP messages will be generated using
+ this entry."
+ ::= { snmpTargetParamsEntry 4 }
+
+snmpTargetParamsSecurityLevel OBJECT-TYPE
+ SYNTAX SnmpSecurityLevel
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The Level of Security to be used when generating
+ SNMP messages using this entry."
+ ::= { snmpTargetParamsEntry 5 }
+
+snmpTargetParamsStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row."
+ DEFVAL { nonVolatile }
+ ::= { snmpTargetParamsEntry 6 }
+
+snmpTargetParamsRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this conceptual row.
+
+ To create a row in this table, a manager must
+ set this object to either createAndGo(4) or
+ createAndWait(5).
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the snmpTargetParamsRowStatus
+ column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until the corresponding
+ snmpTargetParamsMPModel,
+ snmpTargetParamsSecurityModel,
+ snmpTargetParamsSecurityName,
+ and snmpTargetParamsSecurityLevel have all been set.
+
+ The following objects may not be modified while the
+ value of this object is active(1):
+ - snmpTargetParamsMPModel
+ - snmpTargetParamsSecurityModel
+ - snmpTargetParamsSecurityName
+ - snmpTargetParamsSecurityLevel
+ An attempt to set these objects while the value of
+ snmpTargetParamsRowStatus is active(1) will result in
+ an inconsistentValue error."
+ ::= { snmpTargetParamsEntry 7 }
+
+snmpUnavailableContexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMP
+ engine which were dropped because the context
+ contained in the message was unavailable."
+ ::= { snmpTargetObjects 4 }
+
+snmpUnknownContexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of packets received by the SNMP
+ engine which were dropped because the context
+ contained in the message was unknown."
+ ::= { snmpTargetObjects 5 }
+
+--
+--
+-- Conformance information
+--
+--
+
+snmpTargetCompliances OBJECT IDENTIFIER ::=
+ { snmpTargetConformance 1 }
+snmpTargetGroups OBJECT IDENTIFIER ::=
+ { snmpTargetConformance 2 }
+
+--
+--
+-- Compliance statements
+
+--
+--
+
+snmpTargetCommandResponderCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which include
+ a command responder application."
+ MODULE -- This Module
+ MANDATORY-GROUPS { snmpTargetCommandResponderGroup }
+ ::= { snmpTargetCompliances 1 }
+
+snmpTargetBasicGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTargetSpinLock,
+ snmpTargetAddrTDomain,
+ snmpTargetAddrTAddress,
+ snmpTargetAddrTagList,
+ snmpTargetAddrParams,
+ snmpTargetAddrStorageType,
+ snmpTargetAddrRowStatus,
+ snmpTargetParamsMPModel,
+ snmpTargetParamsSecurityModel,
+ snmpTargetParamsSecurityName,
+ snmpTargetParamsSecurityLevel,
+ snmpTargetParamsStorageType,
+ snmpTargetParamsRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic remote
+ configuration of management targets."
+ ::= { snmpTargetGroups 1 }
+
+snmpTargetResponseGroup OBJECT-GROUP
+ OBJECTS {
+ snmpTargetAddrTimeout,
+ snmpTargetAddrRetryCount
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing remote configuration
+ of management targets for applications which generate
+ SNMP messages for which a response message would be
+ expected."
+ ::= { snmpTargetGroups 2 }
+
+snmpTargetCommandResponderGroup OBJECT-GROUP
+
+ OBJECTS {
+ snmpUnavailableContexts,
+ snmpUnknownContexts
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects required for command responder
+ applications, used for counting error conditions."
+ ::= { snmpTargetGroups 3 }
+
+END
diff --git a/mibs/SNMP-USER-BASED-SM-MIB.txt b/mibs/SNMP-USER-BASED-SM-MIB.txt
new file mode 100644
index 00000000..3b714030
--- /dev/null
+++ b/mibs/SNMP-USER-BASED-SM-MIB.txt
@@ -0,0 +1,912 @@
+SNMP-USER-BASED-SM-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ OBJECT-IDENTITY,
+ snmpModules, Counter32 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION, TestAndIncr,
+ RowStatus, RowPointer,
+ StorageType, AutonomousType FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ SnmpAdminString, SnmpEngineID,
+ snmpAuthProtocols, snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB;
+
+snmpUsmMIB MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z" -- 16 Oct 2002, midnight
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In msg body: subscribe snmpv3
+
+ Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ email: mundy@tislabs.com
+
+ phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor Uri Blumenthal
+ Lucent Technologies
+ postal: 67 Whippany Rd.
+ Whippany, NJ 07981
+ USA
+ email: uri@lucent.com
+ phone: +1-973-386-2163
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ email: bwijnen@lucent.com
+ phone: +31-348-480-685
+ "
+ DESCRIPTION "The management information definitions for the
+ SNMP User-based Security Model.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3414;
+ see the RFC itself for full legal notices.
+ "
+-- Revision history
+
+ REVISION "200210160000Z" -- 16 Oct 2002, midnight
+ DESCRIPTION "Changes in this revision:
+ - Updated references and contact info.
+ - Clarification to usmUserCloneFrom DESCRIPTION
+ clause
+ - Fixed 'command responder' into 'command generator'
+ in last para of DESCRIPTION clause of
+ usmUserTable.
+ This revision published as RFC3414.
+ "
+ REVISION "199901200000Z" -- 20 Jan 1999, midnight
+ DESCRIPTION "Clarifications, published as RFC2574"
+
+ REVISION "199711200000Z" -- 20 Nov 1997, midnight
+ DESCRIPTION "Initial version, published as RFC2274"
+ ::= { snmpModules 15 }
+
+-- Administrative assignments ****************************************
+
+usmMIBObjects OBJECT IDENTIFIER ::= { snmpUsmMIB 1 }
+usmMIBConformance OBJECT IDENTIFIER ::= { snmpUsmMIB 2 }
+
+-- Identification of Authentication and Privacy Protocols ************
+
+usmNoAuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "No Authentication Protocol."
+ ::= { snmpAuthProtocols 1 }
+
+usmHMACMD5AuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The HMAC-MD5-96 Digest Authentication Protocol."
+ REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti HMAC:
+ Keyed-Hashing for Message Authentication,
+ RFC2104, Feb 1997.
+ - Rivest, R., Message Digest Algorithm MD5, RFC1321.
+ "
+ ::= { snmpAuthProtocols 2 }
+
+usmHMACSHAAuthProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The HMAC-SHA-96 Digest Authentication Protocol."
+ REFERENCE "- H. Krawczyk, M. Bellare, R. Canetti, HMAC:
+ Keyed-Hashing for Message Authentication,
+ RFC2104, Feb 1997.
+ - Secure Hash Algorithm. NIST FIPS 180-1.
+ "
+ ::= { snmpAuthProtocols 3 }
+
+usmNoPrivProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "No Privacy Protocol."
+ ::= { snmpPrivProtocols 1 }
+
+usmDESPrivProtocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The CBC-DES Symmetric Encryption Protocol."
+ REFERENCE "- Data Encryption Standard, National Institute of
+ Standards and Technology. Federal Information
+ Processing Standard (FIPS) Publication 46-1.
+
+ Supersedes FIPS Publication 46,
+ (January, 1977; reaffirmed January, 1988).
+
+ - Data Encryption Algorithm, American National
+ Standards Institute. ANSI X3.92-1981,
+ (December, 1980).
+
+ - DES Modes of Operation, National Institute of
+ Standards and Technology. Federal Information
+ Processing Standard (FIPS) Publication 81,
+ (December, 1980).
+
+ - Data Encryption Algorithm - Modes of Operation,
+ American National Standards Institute.
+ ANSI X3.106-1983, (May 1983).
+ "
+ ::= { snmpPrivProtocols 2 }
+
+-- Textual Conventions ***********************************************
+
+KeyChange ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Every definition of an object with this syntax must identify
+ a protocol P, a secret key K, and a hash algorithm H
+ that produces output of L octets.
+
+ The object's value is a manager-generated, partially-random
+ value which, when modified, causes the value of the secret
+ key K, to be modified via a one-way function.
+
+ The value of an instance of this object is the concatenation
+ of two components: first a 'random' component and then a
+ 'delta' component.
+
+ The lengths of the random and delta components
+ are given by the corresponding value of the protocol P;
+ if P requires K to be a fixed length, the length of both the
+ random and delta components is that fixed length; if P
+ allows the length of K to be variable up to a particular
+ maximum length, the length of the random component is that
+ maximum length and the length of the delta component is any
+ length less than or equal to that maximum length.
+ For example, usmHMACMD5AuthProtocol requires K to be a fixed
+ length of 16 octets and L - of 16 octets.
+ usmHMACSHAAuthProtocol requires K to be a fixed length of
+ 20 octets and L - of 20 octets. Other protocols may define
+ other sizes, as deemed appropriate.
+
+ When a requester wants to change the old key K to a new
+ key keyNew on a remote entity, the 'random' component is
+ obtained from either a true random generator, or from a
+ pseudorandom generator, and the 'delta' component is
+ computed as follows:
+
+ - a temporary variable is initialized to the existing value
+ of K;
+ - if the length of the keyNew is greater than L octets,
+ then:
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ the hash algorithm H to produce a digest value, and
+ the temporary variable is set to this digest value;
+ - the value of the temporary variable is XOR-ed with
+ the first (next) L-octets (16 octets in case of MD5)
+ of the keyNew to produce the first (next) L-octets
+ (16 octets in case of MD5) of the 'delta' component.
+ - the above two steps are repeated until the unused
+ portion of the keyNew component is L octets or less,
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ hash algorithm H to produce a digest value;
+ - this digest value, truncated if necessary to be the same
+ length as the unused portion of the keyNew, is XOR-ed
+ with the unused portion of the keyNew to produce the
+ (final portion of the) 'delta' component.
+
+ For example, using MD5 as the hash algorithm H:
+
+ iterations = (lenOfDelta - 1)/16; /* integer division */
+ temp = keyOld;
+ for (i = 0; i < iterations; i++) {
+ temp = MD5 (temp || random);
+ delta[i*16 .. (i*16)+15] =
+ temp XOR keyNew[i*16 .. (i*16)+15];
+ }
+ temp = MD5 (temp || random);
+ delta[i*16 .. lenOfDelta-1] =
+ temp XOR keyNew[i*16 .. lenOfDelta-1];
+
+ The 'random' and 'delta' components are then concatenated as
+ described above, and the resulting octet string is sent to
+ the recipient as the new value of an instance of this object.
+
+ At the receiver side, when an instance of this object is set
+ to a new value, then a new value of K is computed as follows:
+
+ - a temporary variable is initialized to the existing value
+ of K;
+ - if the length of the delta component is greater than L
+ octets, then:
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ hash algorithm H to produce a digest value, and the
+ temporary variable is set to this digest value;
+ - the value of the temporary variable is XOR-ed with
+ the first (next) L-octets (16 octets in case of MD5)
+ of the delta component to produce the first (next)
+ L-octets (16 octets in case of MD5) of the new value
+ of K.
+ - the above two steps are repeated until the unused
+ portion of the delta component is L octets or less,
+ - the random component is appended to the value of the
+ temporary variable, and the result is input to the
+ hash algorithm H to produce a digest value;
+ - this digest value, truncated if necessary to be the same
+ length as the unused portion of the delta component, is
+ XOR-ed with the unused portion of the delta component to
+ produce the (final portion of the) new value of K.
+
+ For example, using MD5 as the hash algorithm H:
+
+ iterations = (lenOfDelta - 1)/16; /* integer division */
+ temp = keyOld;
+ for (i = 0; i < iterations; i++) {
+ temp = MD5 (temp || random);
+ keyNew[i*16 .. (i*16)+15] =
+ temp XOR delta[i*16 .. (i*16)+15];
+ }
+ temp = MD5 (temp || random);
+ keyNew[i*16 .. lenOfDelta-1] =
+ temp XOR delta[i*16 .. lenOfDelta-1];
+
+ The value of an object with this syntax, whenever it is
+ retrieved by the management protocol, is always the zero
+ length string.
+
+ Note that the keyOld and keyNew are the localized keys.
+
+ Note that it is probably wise that when an SNMP entity sends
+ a SetRequest to change a key, that it keeps a copy of the old
+ key until it has confirmed that the key change actually
+ succeeded.
+ "
+ SYNTAX OCTET STRING
+
+-- Statistics for the User-based Security Model **********************
+
+usmStats OBJECT IDENTIFIER ::= { usmMIBObjects 1 }
+
+usmStatsUnsupportedSecLevels OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they requested a
+ securityLevel that was unknown to the SNMP engine
+ or otherwise unavailable.
+ "
+ ::= { usmStats 1 }
+
+usmStatsNotInTimeWindows OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they appeared
+ outside of the authoritative SNMP engine's window.
+ "
+ ::= { usmStats 2 }
+
+usmStatsUnknownUserNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they referenced a
+ user that was not known to the SNMP engine.
+ "
+ ::= { usmStats 3 }
+
+usmStatsUnknownEngineIDs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they referenced an
+ snmpEngineID that was not known to the SNMP engine.
+ "
+ ::= { usmStats 4 }
+
+usmStatsWrongDigests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they didn't
+ contain the expected digest value.
+ "
+ ::= { usmStats 5 }
+
+usmStatsDecryptionErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "The total number of packets received by the SNMP
+ engine which were dropped because they could not be
+ decrypted.
+ "
+ ::= { usmStats 6 }
+
+-- The usmUser Group ************************************************
+
+usmUser OBJECT IDENTIFIER ::= { usmMIBObjects 2 }
+
+usmUserSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "An advisory lock used to allow several cooperating
+ Command Generator Applications to coordinate their
+ use of facilities to alter secrets in the
+ usmUserTable.
+ "
+ ::= { usmUser 1 }
+
+-- The table of valid users for the User-based Security Model ********
+
+usmUserTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsmUserEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The table of users configured in the SNMP engine's
+ Local Configuration Datastore (LCD).
+
+ To create a new user (i.e., to instantiate a new
+ conceptual row in this table), it is recommended to
+ follow this procedure:
+
+ 1) GET(usmUserSpinLock.0) and save in sValue.
+
+ 2) SET(usmUserSpinLock.0=sValue,
+ usmUserCloneFrom=templateUser,
+ usmUserStatus=createAndWait)
+ You should use a template user to clone from
+ which has the proper auth/priv protocol defined.
+
+ If the new user is to use privacy:
+
+ 3) generate the keyChange value based on the secret
+ privKey of the clone-from user and the secret key
+ to be used for the new user. Let us call this
+ pkcValue.
+ 4) GET(usmUserSpinLock.0) and save in sValue.
+ 5) SET(usmUserSpinLock.0=sValue,
+ usmUserPrivKeyChange=pkcValue
+ usmUserPublic=randomValue1)
+ 6) GET(usmUserPulic) and check it has randomValue1.
+ If not, repeat steps 4-6.
+
+ If the new user will never use privacy:
+
+ 7) SET(usmUserPrivProtocol=usmNoPrivProtocol)
+
+ If the new user is to use authentication:
+
+ 8) generate the keyChange value based on the secret
+ authKey of the clone-from user and the secret key
+ to be used for the new user. Let us call this
+ akcValue.
+ 9) GET(usmUserSpinLock.0) and save in sValue.
+ 10) SET(usmUserSpinLock.0=sValue,
+ usmUserAuthKeyChange=akcValue
+ usmUserPublic=randomValue2)
+ 11) GET(usmUserPulic) and check it has randomValue2.
+ If not, repeat steps 9-11.
+
+ If the new user will never use authentication:
+
+ 12) SET(usmUserAuthProtocol=usmNoAuthProtocol)
+
+ Finally, activate the new user:
+
+ 13) SET(usmUserStatus=active)
+
+ The new user should now be available and ready to be
+ used for SNMPv3 communication. Note however that access
+ to MIB data must be provided via configuration of the
+ SNMP-VIEW-BASED-ACM-MIB.
+
+ The use of usmUserSpinlock is to avoid conflicts with
+ another SNMP command generator application which may
+ also be acting on the usmUserTable.
+ "
+ ::= { usmUser 2 }
+
+usmUserEntry OBJECT-TYPE
+ SYNTAX UsmUserEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A user configured in the SNMP engine's Local
+ Configuration Datastore (LCD) for the User-based
+ Security Model.
+ "
+ INDEX { usmUserEngineID,
+ usmUserName
+ }
+ ::= { usmUserTable 1 }
+
+UsmUserEntry ::= SEQUENCE
+ {
+ usmUserEngineID SnmpEngineID,
+ usmUserName SnmpAdminString,
+ usmUserSecurityName SnmpAdminString,
+ usmUserCloneFrom RowPointer,
+ usmUserAuthProtocol AutonomousType,
+ usmUserAuthKeyChange KeyChange,
+ usmUserOwnAuthKeyChange KeyChange,
+ usmUserPrivProtocol AutonomousType,
+ usmUserPrivKeyChange KeyChange,
+ usmUserOwnPrivKeyChange KeyChange,
+ usmUserPublic OCTET STRING,
+ usmUserStorageType StorageType,
+ usmUserStatus RowStatus
+ }
+
+usmUserEngineID OBJECT-TYPE
+ SYNTAX SnmpEngineID
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An SNMP engine's administratively-unique identifier.
+
+ In a simple agent, this value is always that agent's
+ own snmpEngineID value.
+
+ The value can also take the value of the snmpEngineID
+ of a remote SNMP engine with which this user can
+ communicate.
+ "
+ ::= { usmUserEntry 1 }
+
+usmUserName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "A human readable string representing the name of
+ the user.
+
+ This is the (User-based Security) Model dependent
+ security ID.
+ "
+ ::= { usmUserEntry 2 }
+
+usmUserSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A human readable string representing the user in
+ Security Model independent format.
+
+ The default transformation of the User-based Security
+ Model dependent security ID to the securityName and
+ vice versa is the identity function so that the
+ securityName is the same as the userName.
+ "
+ ::= { usmUserEntry 3 }
+
+usmUserCloneFrom OBJECT-TYPE
+ SYNTAX RowPointer
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "A pointer to another conceptual row in this
+ usmUserTable. The user in this other conceptual
+ row is called the clone-from user.
+
+ When a new user is created (i.e., a new conceptual
+ row is instantiated in this table), the privacy and
+ authentication parameters of the new user must be
+ cloned from its clone-from user. These parameters are:
+ - authentication protocol (usmUserAuthProtocol)
+ - privacy protocol (usmUserPrivProtocol)
+ They will be copied regardless of what the current
+ value is.
+
+ Cloning also causes the initial values of the secret
+ authentication key (authKey) and the secret encryption
+
+ key (privKey) of the new user to be set to the same
+ values as the corresponding secrets of the clone-from
+ user to allow the KeyChange process to occur as
+ required during user creation.
+
+ The first time an instance of this object is set by
+ a management operation (either at or after its
+ instantiation), the cloning process is invoked.
+ Subsequent writes are successful but invoke no
+ action to be taken by the receiver.
+ The cloning process fails with an 'inconsistentName'
+ error if the conceptual row representing the
+ clone-from user does not exist or is not in an active
+ state when the cloning process is invoked.
+
+ When this object is read, the ZeroDotZero OID
+ is returned.
+ "
+ ::= { usmUserEntry 4 }
+
+usmUserAuthProtocol OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An indication of whether messages sent on behalf of
+ this user to/from the SNMP engine identified by
+ usmUserEngineID, can be authenticated, and if so,
+ the type of authentication protocol which is used.
+
+ An instance of this object is created concurrently
+ with the creation of any other object instance for
+ the same user (i.e., as part of the processing of
+ the set operation which creates the first object
+ instance in the same conceptual row).
+
+ If an initial set operation (i.e. at row creation time)
+ tries to set a value for an unknown or unsupported
+ protocol, then a 'wrongValue' error must be returned.
+
+ The value will be overwritten/set when a set operation
+ is performed on the corresponding instance of
+ usmUserCloneFrom.
+
+ Once instantiated, the value of such an instance of
+ this object can only be changed via a set operation to
+ the value of the usmNoAuthProtocol.
+
+ If a set operation tries to change the value of an
+
+ existing instance of this object to any value other
+ than usmNoAuthProtocol, then an 'inconsistentValue'
+ error must be returned.
+
+ If a set operation tries to set the value to the
+ usmNoAuthProtocol while the usmUserPrivProtocol value
+ in the same row is not equal to usmNoPrivProtocol,
+ then an 'inconsistentValue' error must be returned.
+ That means that an SNMP command generator application
+ must first ensure that the usmUserPrivProtocol is set
+ to the usmNoPrivProtocol value before it can set
+ the usmUserAuthProtocol value to usmNoAuthProtocol.
+ "
+ DEFVAL { usmNoAuthProtocol }
+ ::= { usmUserEntry 5 }
+
+usmUserAuthKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for HMACMD5
+ -- typically (SIZE (0 | 40)) for HMACSHA
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An object, which when modified, causes the secret
+ authentication key used for messages sent on behalf
+ of this user to/from the SNMP engine identified by
+ usmUserEngineID, to be modified via a one-way
+ function.
+
+ The associated protocol is the usmUserAuthProtocol.
+ The associated secret key is the user's secret
+ authentication key (authKey). The associated hash
+ algorithm is the algorithm used by the user's
+ usmUserAuthProtocol.
+
+ When creating a new user, it is an 'inconsistentName'
+ error for a set operation to refer to this object
+ unless it is previously or concurrently initialized
+ through a set operation on the corresponding instance
+ of usmUserCloneFrom.
+
+ When the value of the corresponding usmUserAuthProtocol
+ is usmNoAuthProtocol, then a set is successful, but
+ effectively is a no-op.
+
+ When this object is read, the zero-length (empty)
+ string is returned.
+
+ The recommended way to do a key change is as follows:
+
+ 1) GET(usmUserSpinLock.0) and save in sValue.
+ 2) generate the keyChange value based on the old
+ (existing) secret key and the new secret key,
+ let us call this kcValue.
+
+ If you do the key change on behalf of another user:
+
+ 3) SET(usmUserSpinLock.0=sValue,
+ usmUserAuthKeyChange=kcValue
+ usmUserPublic=randomValue)
+
+ If you do the key change for yourself:
+
+ 4) SET(usmUserSpinLock.0=sValue,
+ usmUserOwnAuthKeyChange=kcValue
+ usmUserPublic=randomValue)
+
+ If you get a response with error-status of noError,
+ then the SET succeeded and the new key is active.
+ If you do not get a response, then you can issue a
+ GET(usmUserPublic) and check if the value is equal
+ to the randomValue you did send in the SET. If so, then
+ the key change succeeded and the new key is active
+ (probably the response got lost). If not, then the SET
+ request probably never reached the target and so you
+ can start over with the procedure above.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 6 }
+
+usmUserOwnAuthKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for HMACMD5
+ -- typically (SIZE (0 | 40)) for HMACSHA
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "Behaves exactly as usmUserAuthKeyChange, with one
+ notable difference: in order for the set operation
+ to succeed, the usmUserName of the operation
+ requester must match the usmUserName that
+ indexes the row which is targeted by this
+ operation.
+ In addition, the USM security model must be
+ used for this operation.
+
+ The idea here is that access to this column can be
+ public, since it will only allow a user to change
+ his own secret authentication key (authKey).
+ Note that this can only be done once the row is active.
+
+ When a set is received and the usmUserName of the
+ requester is not the same as the umsUserName that
+ indexes the row which is targeted by this operation,
+ then a 'noAccess' error must be returned.
+
+ When a set is received and the security model in use
+ is not USM, then a 'noAccess' error must be returned.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 7 }
+
+usmUserPrivProtocol OBJECT-TYPE
+ SYNTAX AutonomousType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An indication of whether messages sent on behalf of
+ this user to/from the SNMP engine identified by
+ usmUserEngineID, can be protected from disclosure,
+ and if so, the type of privacy protocol which is used.
+
+ An instance of this object is created concurrently
+ with the creation of any other object instance for
+ the same user (i.e., as part of the processing of
+ the set operation which creates the first object
+ instance in the same conceptual row).
+
+ If an initial set operation (i.e. at row creation time)
+ tries to set a value for an unknown or unsupported
+ protocol, then a 'wrongValue' error must be returned.
+
+ The value will be overwritten/set when a set operation
+ is performed on the corresponding instance of
+ usmUserCloneFrom.
+
+ Once instantiated, the value of such an instance of
+ this object can only be changed via a set operation to
+ the value of the usmNoPrivProtocol.
+
+ If a set operation tries to change the value of an
+ existing instance of this object to any value other
+ than usmNoPrivProtocol, then an 'inconsistentValue'
+ error must be returned.
+
+ Note that if any privacy protocol is used, then you
+ must also use an authentication protocol. In other
+ words, if usmUserPrivProtocol is set to anything else
+ than usmNoPrivProtocol, then the corresponding instance
+ of usmUserAuthProtocol cannot have a value of
+
+ usmNoAuthProtocol. If it does, then an
+ 'inconsistentValue' error must be returned.
+ "
+ DEFVAL { usmNoPrivProtocol }
+ ::= { usmUserEntry 8 }
+
+usmUserPrivKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for DES
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "An object, which when modified, causes the secret
+ encryption key used for messages sent on behalf
+ of this user to/from the SNMP engine identified by
+ usmUserEngineID, to be modified via a one-way
+ function.
+
+ The associated protocol is the usmUserPrivProtocol.
+ The associated secret key is the user's secret
+ privacy key (privKey). The associated hash
+ algorithm is the algorithm used by the user's
+ usmUserAuthProtocol.
+
+ When creating a new user, it is an 'inconsistentName'
+ error for a set operation to refer to this object
+ unless it is previously or concurrently initialized
+ through a set operation on the corresponding instance
+ of usmUserCloneFrom.
+
+ When the value of the corresponding usmUserPrivProtocol
+ is usmNoPrivProtocol, then a set is successful, but
+ effectively is a no-op.
+
+ When this object is read, the zero-length (empty)
+ string is returned.
+ See the description clause of usmUserAuthKeyChange for
+ a recommended procedure to do a key change.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 9 }
+
+usmUserOwnPrivKeyChange OBJECT-TYPE
+ SYNTAX KeyChange -- typically (SIZE (0 | 32)) for DES
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "Behaves exactly as usmUserPrivKeyChange, with one
+ notable difference: in order for the Set operation
+ to succeed, the usmUserName of the operation
+ requester must match the usmUserName that indexes
+
+ the row which is targeted by this operation.
+ In addition, the USM security model must be
+ used for this operation.
+
+ The idea here is that access to this column can be
+ public, since it will only allow a user to change
+ his own secret privacy key (privKey).
+ Note that this can only be done once the row is active.
+
+ When a set is received and the usmUserName of the
+ requester is not the same as the umsUserName that
+ indexes the row which is targeted by this operation,
+ then a 'noAccess' error must be returned.
+
+ When a set is received and the security model in use
+ is not USM, then a 'noAccess' error must be returned.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 10 }
+
+usmUserPublic OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "A publicly-readable value which can be written as part
+ of the procedure for changing a user's secret
+ authentication and/or privacy key, and later read to
+ determine whether the change of the secret was
+ effected.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { usmUserEntry 11 }
+
+usmUserStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+
+ Conceptual rows having the value 'permanent' must
+ allow write-access at a minimum to:
+
+ - usmUserAuthKeyChange, usmUserOwnAuthKeyChange
+ and usmUserPublic for a user who employs
+ authentication, and
+ - usmUserPrivKeyChange, usmUserOwnPrivKeyChange
+ and usmUserPublic for a user who employs
+ privacy.
+
+ Note that any user who employs authentication or
+ privacy must allow its secret(s) to be updated and
+ thus cannot be 'readOnly'.
+
+ If an initial set operation tries to set the value to
+ 'readOnly' for a user who employs authentication or
+ privacy, then an 'inconsistentValue' error must be
+ returned. Note that if the value has been previously
+ set (implicit or explicit) to any value, then the rules
+ as defined in the StorageType Textual Convention apply.
+
+ It is an implementation issue to decide if a SET for
+ a readOnly or permanent row is accepted at all. In some
+ contexts this may make sense, in others it may not. If
+ a SET for a readOnly or permanent row is not accepted
+ at all, then a 'wrongValue' error must be returned.
+ "
+ DEFVAL { nonVolatile }
+ ::= { usmUserEntry 12 }
+
+usmUserStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+ corresponding instance of the usmUserStatus column
+ is 'notReady'.
+
+ In particular, a newly created row for a user who
+ employs authentication, cannot be made active until the
+ corresponding usmUserCloneFrom and usmUserAuthKeyChange
+ have been set.
+
+ Further, a newly created row for a user who also
+ employs privacy, cannot be made active until the
+ usmUserPrivKeyChange has been set.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified,
+ except for usmUserOwnAuthKeyChange and
+ usmUserOwnPrivKeyChange. For these 2 objects, the
+
+ value of usmUserStatus MUST be active.
+ "
+ ::= { usmUserEntry 13 }
+
+-- Conformance Information *******************************************
+
+usmMIBCompliances OBJECT IDENTIFIER ::= { usmMIBConformance 1 }
+usmMIBGroups OBJECT IDENTIFIER ::= { usmMIBConformance 2 }
+
+-- Compliance statements
+
+usmMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines which
+ implement the SNMP-USER-BASED-SM-MIB.
+ "
+
+ MODULE -- this module
+ MANDATORY-GROUPS { usmMIBBasicGroup }
+
+ OBJECT usmUserAuthProtocol
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT usmUserPrivProtocol
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+ ::= { usmMIBCompliances 1 }
+
+-- Units of compliance
+usmMIBBasicGroup OBJECT-GROUP
+ OBJECTS {
+ usmStatsUnsupportedSecLevels,
+ usmStatsNotInTimeWindows,
+ usmStatsUnknownUserNames,
+ usmStatsUnknownEngineIDs,
+ usmStatsWrongDigests,
+ usmStatsDecryptionErrors,
+ usmUserSpinLock,
+ usmUserSecurityName,
+ usmUserCloneFrom,
+ usmUserAuthProtocol,
+ usmUserAuthKeyChange,
+ usmUserOwnAuthKeyChange,
+ usmUserPrivProtocol,
+ usmUserPrivKeyChange,
+ usmUserOwnPrivKeyChange,
+ usmUserPublic,
+ usmUserStorageType,
+ usmUserStatus
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing for configuration
+ of an SNMP engine which implements the SNMP
+ User-based Security Model.
+ "
+ ::= { usmMIBGroups 1 }
+
+END
diff --git a/mibs/SNMP-USM-AES-MIB.txt b/mibs/SNMP-USM-AES-MIB.txt
new file mode 100644
index 00000000..4c173021
--- /dev/null
+++ b/mibs/SNMP-USM-AES-MIB.txt
@@ -0,0 +1,62 @@
+SNMP-USM-AES-MIB DEFINITIONS ::= BEGIN
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY,
+ snmpModules FROM SNMPv2-SMI -- [RFC2578]
+ snmpPrivProtocols FROM SNMP-FRAMEWORK-MIB; -- [RFC3411]
+
+snmpUsmAesMIB MODULE-IDENTITY
+ LAST-UPDATED "200406140000Z"
+ ORGANIZATION "IETF"
+ CONTACT-INFO "Uri Blumenthal
+ Lucent Technologies / Bell Labs
+ 67 Whippany Rd.
+ 14D-318
+ Whippany, NJ 07981, USA
+ 973-386-2163
+ uri@bell-labs.com
+
+ Fabio Maino
+ Andiamo Systems, Inc.
+ 375 East Tasman Drive
+ San Jose, CA 95134, USA
+ 408-853-7530
+ fmaino@andiamo.com
+
+ Keith McCloghrie
+ Cisco Systems, Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134-1706, USA
+
+ 408-526-5260
+ kzm@cisco.com"
+ DESCRIPTION "Definitions of Object Identities needed for
+ the use of AES by SNMP's User-based Security
+ Model.
+
+ Copyright (C) The Internet Society (2004).
+
+ This version of this MIB module is part of RFC 3826;
+ see the RFC itself for full legal notices.
+ Supplementary information may be available on
+ http://www.ietf.org/copyrights/ianamib.html."
+
+ REVISION "200406140000Z"
+ DESCRIPTION "Initial version, published as RFC3826"
+ ::= { snmpModules 20 }
+
+usmAesCfb128Protocol OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION "The CFB128-AES-128 Privacy Protocol."
+ REFERENCE "- Specification for the ADVANCED ENCRYPTION
+ STANDARD. Federal Information Processing
+ Standard (FIPS) Publication 197.
+ (November 2001).
+
+ - Dworkin, M., NIST Recommendation for Block
+ Cipher Modes of Operation, Methods and
+ Techniques. NIST Special Publication 800-38A
+ (December 2001).
+ "
+ ::= { snmpPrivProtocols 4 }
+
+END
diff --git a/mibs/SNMP-USM-DH-OBJECTS-MIB.txt b/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
new file mode 100644
index 00000000..7377425c
--- /dev/null
+++ b/mibs/SNMP-USM-DH-OBJECTS-MIB.txt
@@ -0,0 +1,532 @@
+SNMP-USM-DH-OBJECTS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE,
+ -- OBJECT-IDENTITY,
+ experimental, Integer32
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ usmUserEntry
+ FROM SNMP-USER-BASED-SM-MIB
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB;
+
+snmpUsmDHObjectsMIB MODULE-IDENTITY
+ LAST-UPDATED "200003060000Z" -- 6 March 2000, Midnight
+ ORGANIZATION "Excite@Home"
+ CONTACT-INFO "Author: Mike StJohns
+ Postal: Excite@Home
+ 450 Broadway
+ Redwood City, CA 94063
+ Email: stjohns@corp.home.net
+ Phone: +1-650-556-5368"
+ DESCRIPTION
+ "The management information definitions for providing forward
+ secrecy for key changes for the usmUserTable, and for providing a
+ method for 'kickstarting' access to the agent via a Diffie-Helman
+ key agreement."
+
+ REVISION "200003060000Z"
+ DESCRIPTION
+ "Initial version published as RFC 2786."
+ ::= { experimental 101 } -- IANA DHKEY-CHANGE 101
+
+-- Administrative assignments
+
+usmDHKeyObjects OBJECT IDENTIFIER ::= { snmpUsmDHObjectsMIB 1 }
+usmDHKeyConformance OBJECT IDENTIFIER ::= { snmpUsmDHObjectsMIB 2 }
+
+-- Textual conventions
+
+DHKeyChange ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Upon initialization, or upon creation of a row containing an
+ object of this type, and after any successful SET of this value, a
+ GET of this value returns 'y' where y = g^xa MOD p, and where g is
+ the base from usmDHParameters, p is the prime from
+ usmDHParameters, and xa is a new random integer selected by the
+ agent in the interval 2^(l-1) <= xa < 2^l < p-1. 'l' is the
+ optional privateValueLength from usmDHParameters in bits. If 'l'
+ is omitted, then xa (and xr below) is selected in the interval 0
+ <= xa < p-1. y is expressed as an OCTET STRING 'PV' of length 'k'
+ which satisfies
+
+ k
+ y = SUM 2^(8(k-i)) PV'i
+ i=1
+
+ where PV1,...,PVk are the octets of PV from first to last, and
+ where PV1 <> 0.
+
+ A successful SET consists of the value 'y' expressed as an OCTET
+ STRING as above concatenated with the value 'z'(expressed as an
+ OCTET STRING in the same manner as y) where z = g^xr MOD p, where
+ g, p and l are as above, and where xr is a new random integer
+ selected by the manager in the interval 2^(l-1) <= xr < 2^l <
+ p-1. A SET to an object of this type will fail with the error
+ wrongValue if the current 'y' does not match the 'y' portion of
+ the value of the varbind for the object. (E.g. GET yout, SET
+ concat(yin, z), yout <> yin).
+
+ Note that the private values xa and xr are never transmitted from
+ manager to device or vice versa, only the values y and z.
+ Obviously, these values must be retained until a successful SET on
+ the associated object.
+
+ The shared secret 'sk' is calculated at the agent as sk = z^xa MOD
+ p, and at the manager as sk = y^xr MOD p.
+
+ Each object definition of this type MUST describe how to map from
+ the shared secret 'sk' to the operational key value used by the
+ protocols and operations related to the object. In general, if n
+ bits of key are required, the author suggests using the n
+ right-most bits of the shared secret as the operational key value."
+ REFERENCE
+ "-- Diffie-Hellman Key-Agreement Standard, PKCS #3;
+ RSA Laboratories, November 1993"
+ SYNTAX OCTET STRING
+
+-- Diffie Hellman public values
+
+usmDHPublicObjects OBJECT IDENTIFIER ::= { usmDHKeyObjects 1 }
+
+usmDHParameters OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The public Diffie-Hellman parameters for doing a Diffie-Hellman
+ key agreement for this device. This is encoded as an ASN.1
+ DHParameter per PKCS #3, section 9. E.g.
+
+ DHParameter ::= SEQUENCE {
+ prime INTEGER, -- p
+ base INTEGER, -- g
+ privateValueLength INTEGER OPTIONAL }
+
+ Implementors are encouraged to use either the values from
+ Oakley Group 1 or the values of from Oakley Group 2 as specified
+ in RFC-2409, The Internet Key Exchange, Section 6.1, 6.2 as the
+ default for this object. Other values may be used, but the
+ security properties of those values MUST be well understood and
+ MUST meet the requirements of PKCS #3 for the selection of
+ Diffie-Hellman primes.
+
+ In addition, any time usmDHParameters changes, all values of
+ type DHKeyChange will change and new random numbers MUST be
+ generated by the agent for each DHKeyChange object."
+ REFERENCE
+ "-- Diffie-Hellman Key-Agreement Standard, PKCS #3,
+ RSA Laboratories, November 1993
+ -- The Internet Key Exchange, RFC 2409, November 1998,
+ Sec 6.1, 6.2"
+ ::= { usmDHPublicObjects 1 }
+
+usmDHUserKeyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsmDHUserKeyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table augments and extends the usmUserTable and provides
+ 4 objects which exactly mirror the objects in that table with the
+ textual convention of 'KeyChange'. This extension allows key
+ changes to be done in a manner where the knowledge of the current
+ secret plus knowledge of the key change data exchanges (e.g. via
+ wiretapping) will not reveal the new key."
+ ::= { usmDHPublicObjects 2 }
+
+usmDHUserKeyEntry OBJECT-TYPE
+ SYNTAX UsmDHUserKeyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A row of DHKeyChange objects which augment or replace the
+ functionality of the KeyChange objects in the base table row."
+ AUGMENTS { usmUserEntry }
+ ::= {usmDHUserKeyTable 1 }
+
+UsmDHUserKeyEntry ::= SEQUENCE {
+ usmDHUserAuthKeyChange DHKeyChange,
+ usmDHUserOwnAuthKeyChange DHKeyChange,
+ usmDHUserPrivKeyChange DHKeyChange,
+ usmDHUserOwnPrivKeyChange DHKeyChange
+ }
+
+usmDHUserAuthKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change any given user's Authentication Key
+ using a Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserAuthProtocol, are installed as the operational
+ authentication key for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 1 }
+
+usmDHUserOwnAuthKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change the agents own Authentication Key
+ using a Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserAuthProtocol, are installed as the operational
+ authentication key for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 2 }
+
+usmDHUserPrivKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change any given user's Privacy Key using
+ a Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserPrivProtocol, are installed as the operational privacy key
+ for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 3 }
+
+usmDHUserOwnPrivKeyChange OBJECT-TYPE
+ SYNTAX DHKeyChange
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The object used to change the agent's own Privacy Key using a
+ Diffie-Hellman key exchange.
+
+ The right-most n bits of the shared secret 'sk', where 'n' is the
+ number of bits required for the protocol defined by
+ usmUserPrivProtocol, are installed as the operational privacy key
+ for this row after a successful SET."
+ ::= { usmDHUserKeyEntry 4 }
+
+usmDHKickstartGroup OBJECT IDENTIFIER ::= { usmDHKeyObjects 2 }
+
+usmDHKickstartTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UsmDHKickstartEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table of mappings between zero or more Diffie-Helman key
+ agreement values and entries in the usmUserTable. Entries in this
+ table are created by providing the associated device with a
+ Diffie-Helman public value and a usmUserName/usmUserSecurityName
+ pair during initialization. How these values are provided is
+ outside the scope of this MIB, but could be provided manually, or
+ through a configuration file. Valid public value/name pairs
+ result in the creation of a row in this table as well as the
+ creation of an associated row (with keys derived as indicated) in
+ the usmUserTable. The actual access the related usmSecurityName
+ has is dependent on the entries in the VACM tables. In general,
+ an implementor will specify one or more standard security names
+ and will provide entries in the VACM tables granting various
+ levels of access to those names. The actual content of the VACM
+
+ table is beyond the scope of this MIB.
+
+ Note: This table is expected to be readable without authentication
+ using the usmUserSecurityName 'dhKickstart'. See the conformance
+ statements for details."
+ ::= { usmDHKickstartGroup 1 }
+
+usmDHKickstartEntry OBJECT-TYPE
+ SYNTAX UsmDHKickstartEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry in the usmDHKickstartTable. The agent SHOULD either
+ delete this entry or mark it as inactive upon a successful SET of
+ any of the KeyChange-typed objects in the usmUserEntry or upon a
+ successful SET of any of the DHKeyChange-typed objects in the
+ usmDhKeyChangeEntry where the related usmSecurityName (e.g. row of
+ usmUserTable or row of ushDhKeyChangeTable) equals this entry's
+ usmDhKickstartSecurityName. In otherwords, once you've changed
+ one or more of the keys for a row in usmUserTable with a
+ particular security name, the row in this table with that same
+ security name is no longer useful or meaningful."
+ INDEX { usmDHKickstartIndex }
+ ::= {usmDHKickstartTable 1 }
+
+UsmDHKickstartEntry ::= SEQUENCE {
+ usmDHKickstartIndex Integer32,
+ usmDHKickstartMyPublic OCTET STRING,
+ usmDHKickstartMgrPublic OCTET STRING,
+ usmDHKickstartSecurityName SnmpAdminString
+ }
+
+usmDHKickstartIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index value for this row."
+ ::= { usmDHKickstartEntry 1 }
+
+usmDHKickstartMyPublic OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The agent's Diffie-Hellman public value for this row. At
+
+ initialization, the agent generates a random number and derives
+ its public value from that number. This public value is published
+ here. This public value 'y' equals g^r MOD p where g is the from
+ the set of Diffie-Hellman parameters, p is the prime from those
+ parameters, and r is a random integer selected by the agent in the
+ interval 2^(l-1) <= r < p-1 < 2^l. If l is unspecified, then r is
+ a random integer selected in the interval 0 <= r < p-1
+
+ The public value is expressed as an OCTET STRING 'PV' of length
+ 'k' which satisfies
+
+ k
+ y = SUM 2^(8(k-i)) PV'i
+ i = 1
+
+ where PV1,...,PVk are the octets of PV from first to last, and
+ where PV1 != 0.
+
+ The following DH parameters (Oakley group #2, RFC 2409, sec 6.1,
+ 6.2) are used for this object:
+
+ g = 2
+ p = FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
+ 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
+ EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
+ E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
+ EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381
+ FFFFFFFF FFFFFFFF
+ l=1024
+ "
+ REFERENCE
+ "-- Diffie-Hellman Key-Agreement Standard, PKCS#3v1.4;
+ RSA Laboratories, November 1993
+ -- The Internet Key Exchange, RFC2409;
+ Harkins, D., Carrel, D.; November 1998"
+ ::= { usmDHKickstartEntry 2 }
+
+usmDHKickstartMgrPublic OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The manager's Diffie-Hellman public value for this row. Note
+ that this value is not set via the SNMP agent, but may be set via
+ some out of band method, such as the device's configuration file.
+
+ The manager calculates this value in the same manner and using the
+ same parameter set as the agent does. E.g. it selects a random
+ number 'r', calculates y = g^r mod p and provides 'y' as the
+ public number expressed as an OCTET STRING. See
+ usmDHKickstartMyPublic for details.
+
+ When this object is set with a valid value during initialization,
+ a row is created in the usmUserTable with the following values:
+
+ usmUserEngineID localEngineID
+ usmUserName [value of usmDHKickstartSecurityName]
+ usmUserSecurityName [value of usmDHKickstartSecurityName]
+ usmUserCloneFrom ZeroDotZero
+ usmUserAuthProtocol usmHMACMD5AuthProtocol
+ usmUserAuthKeyChange -- derived from set value
+ usmUserOwnAuthKeyChange -- derived from set value
+ usmUserPrivProtocol usmDESPrivProtocol
+ usmUserPrivKeyChange -- derived from set value
+ usmUserOwnPrivKeyChange -- derived from set value
+ usmUserPublic ''
+ usmUserStorageType permanent
+ usmUserStatus active
+
+ A shared secret 'sk' is calculated at the agent as sk =
+ mgrPublic^r mod p where r is the agents random number and p is the
+ DH prime from the common parameters. The underlying privacy key
+ for this row is derived from sk by applying the key derivation
+ function PBKDF2 defined in PKCS#5v2.0 with a salt of 0xd1310ba6,
+ and iterationCount of 500, a keyLength of 16 (for
+ usmDESPrivProtocol), and a prf (pseudo random function) of
+ 'id-hmacWithSHA1'. The underlying authentication key for this row
+ is derived from sk by applying the key derivation function PBKDF2
+ with a salt of 0x98dfb5ac , an interation count of 500, a
+ keyLength of 16 (for usmHMAC5AuthProtocol), and a prf of
+ 'id-hmacWithSHA1'. Note: The salts are the first two words in the
+ ks0 [key schedule 0] of the BLOWFISH cipher from 'Applied
+ Cryptography' by Bruce Schnier - they could be any relatively
+ random string of bits.
+
+ The manager can use its knowledge of its own random number and the
+ agent's public value to kickstart its access to the agent in a
+ secure manner. Note that the security of this approach is
+ directly related to the strength of the authorization security of
+ the out of band provisioning of the managers public value
+ (e.g. the configuration file), but is not dependent at all on the
+ strength of the confidentiality of the out of band provisioning
+ data."
+ REFERENCE
+ "-- Password-Based Cryptography Standard, PKCS#5v2.0;
+ RSA Laboratories, March 1999
+ -- Applied Cryptography, 2nd Ed.; B. Schneier,
+ Counterpane Systems; John Wiley & Sons, 1996"
+ ::= { usmDHKickstartEntry 3 }
+
+usmDHKickstartSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The usmUserName and usmUserSecurityName in the usmUserTable
+ associated with this row. This is provided in the same manner and
+ at the same time as the usmDHKickstartMgrPublic value -
+ e.g. possibly manually, or via the device's configuration file."
+ ::= { usmDHKickstartEntry 4 }
+
+-- Conformance Information
+
+usmDHKeyMIBCompliances OBJECT IDENTIFIER ::= { usmDHKeyConformance 1 }
+usmDHKeyMIBGroups OBJECT IDENTIFIER ::= { usmDHKeyConformance 2 }
+
+-- Compliance statements
+
+usmDHKeyMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for this module."
+ MODULE
+ GROUP usmDHKeyMIBBasicGroup
+ DESCRIPTION
+ "This group MAY be implemented by any agent which
+ implements the usmUserTable and which wishes to provide the
+ ability to change user and agent authentication and privacy
+ keys via Diffie-Hellman key exchanges."
+
+ GROUP usmDHKeyParamGroup
+ DESCRIPTION
+ "This group MUST be implemented by any agent which
+ implements a MIB containing the DHKeyChange Textual
+ Convention defined in this module."
+
+ GROUP usmDHKeyKickstartGroup
+ DESCRIPTION
+ "This group MAY be implemented by any agent which
+ implements the usmUserTable and which wishes the ability to
+ populate the USM table based on out-of-band provided DH
+ ignition values.
+
+ Any agent implementing this group is expected to provide
+ preinstalled entries in the vacm tables as follows:
+
+ In the usmUserTable: This entry allows access to the
+ system and dhKickstart groups
+
+ usmUserEngineID localEngineID
+ usmUserName 'dhKickstart'
+ usmUserSecurityName 'dhKickstart'
+ usmUserCloneFrom ZeroDotZero
+ usmUserAuthProtocol none
+ usmUserAuthKeyChange ''
+ usmUserOwnAuthKeyChange ''
+ usmUserPrivProtocol none
+ usmUserPrivKeyChange ''
+ usmUserOwnPrivKeyChange ''
+ usmUserPublic ''
+ usmUserStorageType permanent
+ usmUserStatus active
+
+ In the vacmSecurityToGroupTable: This maps the initial
+ user into the accessible objects.
+
+ vacmSecurityModel 3 (USM)
+ vacmSecurityName 'dhKickstart'
+ vacmGroupName 'dhKickstart'
+ vacmSecurityToGroupStorageType permanent
+ vacmSecurityToGroupStatus active
+
+ In the vacmAccessTable: Group name to view name translation.
+
+ vacmGroupName 'dhKickstart'
+ vacmAccessContextPrefix ''
+ vacmAccessSecurityModel 3 (USM)
+ vacmAccessSecurityLevel noAuthNoPriv
+ vacmAccessContextMatch exact
+ vacmAccessReadViewName 'dhKickRestricted'
+ vacmAccessWriteViewName ''
+ vacmAccessNotifyViewName 'dhKickRestricted'
+ vacmAccessStorageType permanent
+ vacmAccessStatus active
+
+ In the vacmViewTreeFamilyTable: Two entries to allow the
+ initial entry to access the system and kickstart groups.
+
+ vacmViewTreeFamilyViewName 'dhKickRestricted'
+ vacmViewTreeFamilySubtree 1.3.6.1.2.1.1 (system)
+ vacmViewTreeFamilyMask ''
+
+ vacmViewTreeFamilyType 1
+ vacmViewTreeFamilyStorageType permanent
+ vacmViewTreeFamilyStatus active
+
+ vacmViewTreeFamilyViewName 'dhKickRestricted'
+ vacmViewTreeFamilySubtree (usmDHKickstartTable OID)
+ vacmViewTreeFamilyMask ''
+ vacmViewTreeFamilyType 1
+ vacmViewTreeFamilyStorageType permanent
+ vacmViewTreeFamilyStatus active
+ "
+
+ OBJECT usmDHParameters
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "It is compliant to implement this object as read-only for
+ any device."
+ ::= { usmDHKeyMIBCompliances 1 }
+
+-- Units of Compliance
+
+usmDHKeyMIBBasicGroup OBJECT-GROUP
+ OBJECTS {
+ usmDHUserAuthKeyChange,
+ usmDHUserOwnAuthKeyChange,
+ usmDHUserPrivKeyChange,
+ usmDHUserOwnPrivKeyChange
+ }
+ STATUS current
+ DESCRIPTION
+ ""
+ ::= { usmDHKeyMIBGroups 1 }
+
+usmDHKeyParamGroup OBJECT-GROUP
+ OBJECTS {
+ usmDHParameters
+ }
+ STATUS current
+ DESCRIPTION
+ "The mandatory object for all MIBs which use the DHKeyChange
+ textual convention."
+ ::= { usmDHKeyMIBGroups 2 }
+
+usmDHKeyKickstartGroup OBJECT-GROUP
+ OBJECTS {
+ usmDHKickstartMyPublic,
+ usmDHKickstartMgrPublic,
+ usmDHKickstartSecurityName
+ }
+ STATUS current
+ DESCRIPTION
+ "The objects used for kickstarting one or more SNMPv3 USM
+ associations via a configuration file or other out of band,
+ non-confidential access."
+ ::= { usmDHKeyMIBGroups 3 }
+
+END
diff --git a/mibs/SNMP-VIEW-BASED-ACM-MIB.txt b/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
new file mode 100644
index 00000000..7244ad0a
--- /dev/null
+++ b/mibs/SNMP-VIEW-BASED-ACM-MIB.txt
@@ -0,0 +1,830 @@
+SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ MODULE-IDENTITY, OBJECT-TYPE,
+ snmpModules FROM SNMPv2-SMI
+ TestAndIncr,
+ RowStatus, StorageType FROM SNMPv2-TC
+ SnmpAdminString,
+ SnmpSecurityLevel,
+ SnmpSecurityModel FROM SNMP-FRAMEWORK-MIB;
+
+snmpVacmMIB MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z" -- 16 Oct 2002, midnight
+ ORGANIZATION "SNMPv3 Working Group"
+ CONTACT-INFO "WG-email: snmpv3@lists.tislabs.com
+ Subscribe: majordomo@lists.tislabs.com
+ In message body: subscribe snmpv3
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ email: mundy@tislabs.com
+ phone: +1 301-947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ Postal: 35 Industrial Way
+ P. O. Box 5004
+ Rochester, New Hampshire 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ Phone: +1 603-337-2614
+
+ Co-editor: Bert Wijnen
+ Lucent Technologies
+ postal: Schagen 33
+ 3461 GL Linschoten
+ Netherlands
+ email: bwijnen@lucent.com
+ phone: +31-348-480-685
+
+ Co-editor: Randy Presuhn
+ BMC Software, Inc.
+
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ email: randy_presuhn@bmc.com
+ phone: +1 408-546-1006
+
+ Co-editor: Keith McCloghrie
+ Cisco Systems, Inc.
+ postal: 170 West Tasman Drive
+ San Jose, CA 95134-1706
+ USA
+ email: kzm@cisco.com
+ phone: +1-408-526-5260
+ "
+ DESCRIPTION "The management information definitions for the
+ View-based Access Control Model for SNMP.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3415;
+ see the RFC itself for full legal notices.
+ "
+-- Revision history
+
+ REVISION "200210160000Z" -- 16 Oct 2002, midnight
+ DESCRIPTION "Clarifications, published as RFC3415"
+
+ REVISION "199901200000Z" -- 20 Jan 1999, midnight
+ DESCRIPTION "Clarifications, published as RFC2575"
+
+ REVISION "199711200000Z" -- 20 Nov 1997, midnight
+ DESCRIPTION "Initial version, published as RFC2275"
+ ::= { snmpModules 16 }
+
+-- Administrative assignments ****************************************
+
+vacmMIBObjects OBJECT IDENTIFIER ::= { snmpVacmMIB 1 }
+vacmMIBConformance OBJECT IDENTIFIER ::= { snmpVacmMIB 2 }
+
+-- Information about Local Contexts **********************************
+
+vacmContextTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmContextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The table of locally available contexts.
+
+ This table provides information to SNMP Command
+
+ Generator applications so that they can properly
+ configure the vacmAccessTable to control access to
+ all contexts at the SNMP entity.
+
+ This table may change dynamically if the SNMP entity
+ allows that contexts are added/deleted dynamically
+ (for instance when its configuration changes). Such
+ changes would happen only if the management
+ instrumentation at that SNMP entity recognizes more
+ (or fewer) contexts.
+
+ The presence of entries in this table and of entries
+ in the vacmAccessTable are independent. That is, a
+ context identified by an entry in this table is not
+ necessarily referenced by any entries in the
+ vacmAccessTable; and the context(s) referenced by an
+ entry in the vacmAccessTable does not necessarily
+ currently exist and thus need not be identified by an
+ entry in this table.
+
+ This table must be made accessible via the default
+ context so that Command Responder applications have
+ a standard way of retrieving the information.
+
+ This table is read-only. It cannot be configured via
+ SNMP.
+ "
+ ::= { vacmMIBObjects 1 }
+
+vacmContextEntry OBJECT-TYPE
+ SYNTAX VacmContextEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Information about a particular context."
+ INDEX {
+ vacmContextName
+ }
+ ::= { vacmContextTable 1 }
+
+VacmContextEntry ::= SEQUENCE
+ {
+ vacmContextName SnmpAdminString
+ }
+
+vacmContextName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION "A human readable name identifying a particular
+ context at a particular SNMP entity.
+
+ The empty contextName (zero length) represents the
+ default context.
+ "
+ ::= { vacmContextEntry 1 }
+
+-- Information about Groups ******************************************
+
+vacmSecurityToGroupTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmSecurityToGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "This table maps a combination of securityModel and
+ securityName into a groupName which is used to define
+ an access control policy for a group of principals.
+ "
+ ::= { vacmMIBObjects 2 }
+
+vacmSecurityToGroupEntry OBJECT-TYPE
+ SYNTAX VacmSecurityToGroupEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An entry in this table maps the combination of a
+ securityModel and securityName into a groupName.
+ "
+ INDEX {
+ vacmSecurityModel,
+ vacmSecurityName
+ }
+ ::= { vacmSecurityToGroupTable 1 }
+
+VacmSecurityToGroupEntry ::= SEQUENCE
+ {
+ vacmSecurityModel SnmpSecurityModel,
+ vacmSecurityName SnmpAdminString,
+ vacmGroupName SnmpAdminString,
+ vacmSecurityToGroupStorageType StorageType,
+ vacmSecurityToGroupStatus RowStatus
+ }
+
+vacmSecurityModel OBJECT-TYPE
+ SYNTAX SnmpSecurityModel(1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The Security Model, by which the vacmSecurityName
+ referenced by this entry is provided.
+
+ Note, this object may not take the 'any' (0) value.
+ "
+ ::= { vacmSecurityToGroupEntry 1 }
+
+vacmSecurityName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The securityName for the principal, represented in a
+ Security Model independent format, which is mapped by
+ this entry to a groupName.
+ "
+ ::= { vacmSecurityToGroupEntry 2 }
+
+vacmGroupName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The name of the group to which this entry (e.g., the
+ combination of securityModel and securityName)
+ belongs.
+
+ This groupName is used as index into the
+ vacmAccessTable to select an access control policy.
+ However, a value in this table does not imply that an
+ instance with the value exists in table vacmAccesTable.
+ "
+ ::= { vacmSecurityToGroupEntry 3 }
+
+vacmSecurityToGroupStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row.
+ "
+ DEFVAL { nonVolatile }
+ ::= { vacmSecurityToGroupEntry 4 }
+
+vacmSecurityToGroupStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ Until instances of all corresponding columns are
+ appropriately configured, the value of the
+
+ corresponding instance of the vacmSecurityToGroupStatus
+ column is 'notReady'.
+
+ In particular, a newly created row cannot be made
+ active until a value has been set for vacmGroupName.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified.
+ "
+ ::= { vacmSecurityToGroupEntry 5 }
+
+-- Information about Access Rights ***********************************
+
+vacmAccessTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmAccessEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The table of access rights for groups.
+
+ Each entry is indexed by a groupName, a contextPrefix,
+ a securityModel and a securityLevel. To determine
+ whether access is allowed, one entry from this table
+ needs to be selected and the proper viewName from that
+ entry must be used for access control checking.
+
+ To select the proper entry, follow these steps:
+
+ 1) the set of possible matches is formed by the
+ intersection of the following sets of entries:
+
+ the set of entries with identical vacmGroupName
+ the union of these two sets:
+ - the set with identical vacmAccessContextPrefix
+ - the set of entries with vacmAccessContextMatch
+ value of 'prefix' and matching
+ vacmAccessContextPrefix
+ intersected with the union of these two sets:
+ - the set of entries with identical
+ vacmSecurityModel
+ - the set of entries with vacmSecurityModel
+ value of 'any'
+ intersected with the set of entries with
+ vacmAccessSecurityLevel value less than or equal
+ to the requested securityLevel
+
+ 2) if this set has only one member, we're done
+ otherwise, it comes down to deciding how to weight
+ the preferences between ContextPrefixes,
+ SecurityModels, and SecurityLevels as follows:
+ a) if the subset of entries with securityModel
+ matching the securityModel in the message is
+ not empty, then discard the rest.
+ b) if the subset of entries with
+ vacmAccessContextPrefix matching the contextName
+ in the message is not empty,
+ then discard the rest
+ c) discard all entries with ContextPrefixes shorter
+ than the longest one remaining in the set
+ d) select the entry with the highest securityLevel
+
+ Please note that for securityLevel noAuthNoPriv, all
+ groups are really equivalent since the assumption that
+ the securityName has been authenticated does not hold.
+ "
+ ::= { vacmMIBObjects 4 }
+
+vacmAccessEntry OBJECT-TYPE
+ SYNTAX VacmAccessEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "An access right configured in the Local Configuration
+ Datastore (LCD) authorizing access to an SNMP context.
+
+ Entries in this table can use an instance value for
+ object vacmGroupName even if no entry in table
+ vacmAccessSecurityToGroupTable has a corresponding
+ value for object vacmGroupName.
+ "
+ INDEX { vacmGroupName,
+ vacmAccessContextPrefix,
+ vacmAccessSecurityModel,
+ vacmAccessSecurityLevel
+ }
+ ::= { vacmAccessTable 1 }
+
+VacmAccessEntry ::= SEQUENCE
+ {
+ vacmAccessContextPrefix SnmpAdminString,
+ vacmAccessSecurityModel SnmpSecurityModel,
+ vacmAccessSecurityLevel SnmpSecurityLevel,
+ vacmAccessContextMatch INTEGER,
+ vacmAccessReadViewName SnmpAdminString,
+ vacmAccessWriteViewName SnmpAdminString,
+ vacmAccessNotifyViewName SnmpAdminString,
+ vacmAccessStorageType StorageType,
+ vacmAccessStatus RowStatus
+ }
+
+vacmAccessContextPrefix OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "In order to gain the access rights allowed by this
+ conceptual row, a contextName must match exactly
+ (if the value of vacmAccessContextMatch is 'exact')
+ or partially (if the value of vacmAccessContextMatch
+ is 'prefix') to the value of the instance of this
+ object.
+ "
+ ::= { vacmAccessEntry 1 }
+
+vacmAccessSecurityModel OBJECT-TYPE
+ SYNTAX SnmpSecurityModel
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "In order to gain the access rights allowed by this
+ conceptual row, this securityModel must be in use.
+ "
+ ::= { vacmAccessEntry 2 }
+
+vacmAccessSecurityLevel OBJECT-TYPE
+ SYNTAX SnmpSecurityLevel
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The minimum level of security required in order to
+ gain the access rights allowed by this conceptual
+ row. A securityLevel of noAuthNoPriv is less than
+ authNoPriv which in turn is less than authPriv.
+
+ If multiple entries are equally indexed except for
+ this vacmAccessSecurityLevel index, then the entry
+ which has the highest value for
+ vacmAccessSecurityLevel is selected.
+ "
+ ::= { vacmAccessEntry 3 }
+
+vacmAccessContextMatch OBJECT-TYPE
+ SYNTAX INTEGER
+ { exact (1), -- exact match of prefix and contextName
+ prefix (2) -- Only match to the prefix
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "If the value of this object is exact(1), then all
+ rows where the contextName exactly matches
+ vacmAccessContextPrefix are selected.
+
+ If the value of this object is prefix(2), then all
+ rows where the contextName whose starting octets
+ exactly match vacmAccessContextPrefix are selected.
+ This allows for a simple form of wildcarding.
+ "
+ DEFVAL { exact }
+ ::= { vacmAccessEntry 4 }
+
+vacmAccessReadViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The value of an instance of this object identifies
+ the MIB view of the SNMP context to which this
+ conceptual row authorizes read access.
+
+ The identified MIB view is that one for which the
+ vacmViewTreeFamilyViewName has the same value as the
+ instance of this object; if the value is the empty
+ string or if there is no active MIB view having this
+ value of vacmViewTreeFamilyViewName, then no access
+ is granted.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { vacmAccessEntry 5 }
+
+vacmAccessWriteViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The value of an instance of this object identifies
+ the MIB view of the SNMP context to which this
+ conceptual row authorizes write access.
+
+ The identified MIB view is that one for which the
+ vacmViewTreeFamilyViewName has the same value as the
+ instance of this object; if the value is the empty
+ string or if there is no active MIB view having this
+ value of vacmViewTreeFamilyViewName, then no access
+ is granted.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { vacmAccessEntry 6 }
+
+vacmAccessNotifyViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The value of an instance of this object identifies
+ the MIB view of the SNMP context to which this
+ conceptual row authorizes access for notifications.
+
+ The identified MIB view is that one for which the
+ vacmViewTreeFamilyViewName has the same value as the
+ instance of this object; if the value is the empty
+ string or if there is no active MIB view having this
+ value of vacmViewTreeFamilyViewName, then no access
+ is granted.
+ "
+ DEFVAL { ''H } -- the empty string
+ ::= { vacmAccessEntry 7 }
+
+vacmAccessStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row.
+ "
+ DEFVAL { nonVolatile }
+ ::= { vacmAccessEntry 8 }
+
+vacmAccessStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified.
+ "
+ ::= { vacmAccessEntry 9 }
+
+-- Information about MIB views ***************************************
+
+-- Support for instance-level granularity is optional.
+--
+-- In some implementations, instance-level access control
+-- granularity may come at a high performance cost. Managers
+-- should avoid requesting such configurations unnecessarily.
+
+vacmMIBViews OBJECT IDENTIFIER ::= { vacmMIBObjects 5 }
+
+vacmViewSpinLock OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION "An advisory lock used to allow cooperating SNMP
+ Command Generator applications to coordinate their
+ use of the Set operation in creating or modifying
+ views.
+
+ When creating a new view or altering an existing
+ view, it is important to understand the potential
+ interactions with other uses of the view. The
+ vacmViewSpinLock should be retrieved. The name of
+ the view to be created should be determined to be
+ unique by the SNMP Command Generator application by
+ consulting the vacmViewTreeFamilyTable. Finally,
+ the named view may be created (Set), including the
+ advisory lock.
+ If another SNMP Command Generator application has
+ altered the views in the meantime, then the spin
+ lock's value will have changed, and so this creation
+ will fail because it will specify the wrong value for
+ the spin lock.
+
+ Since this is an advisory lock, the use of this lock
+ is not enforced.
+ "
+ ::= { vacmMIBViews 1 }
+
+vacmViewTreeFamilyTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VacmViewTreeFamilyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Locally held information about families of subtrees
+ within MIB views.
+
+ Each MIB view is defined by two sets of view subtrees:
+ - the included view subtrees, and
+ - the excluded view subtrees.
+ Every such view subtree, both the included and the
+
+ excluded ones, is defined in this table.
+
+ To determine if a particular object instance is in
+ a particular MIB view, compare the object instance's
+ OBJECT IDENTIFIER with each of the MIB view's active
+ entries in this table. If none match, then the
+ object instance is not in the MIB view. If one or
+ more match, then the object instance is included in,
+ or excluded from, the MIB view according to the
+ value of vacmViewTreeFamilyType in the entry whose
+ value of vacmViewTreeFamilySubtree has the most
+ sub-identifiers. If multiple entries match and have
+ the same number of sub-identifiers (when wildcarding
+ is specified with the value of vacmViewTreeFamilyMask),
+ then the lexicographically greatest instance of
+ vacmViewTreeFamilyType determines the inclusion or
+ exclusion.
+
+ An object instance's OBJECT IDENTIFIER X matches an
+ active entry in this table when the number of
+ sub-identifiers in X is at least as many as in the
+ value of vacmViewTreeFamilySubtree for the entry,
+ and each sub-identifier in the value of
+ vacmViewTreeFamilySubtree matches its corresponding
+ sub-identifier in X. Two sub-identifiers match
+ either if the corresponding bit of the value of
+ vacmViewTreeFamilyMask for the entry is zero (the
+ 'wild card' value), or if they are equal.
+
+ A 'family' of subtrees is the set of subtrees defined
+ by a particular combination of values of
+ vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask.
+
+ In the case where no 'wild card' is defined in the
+ vacmViewTreeFamilyMask, the family of subtrees reduces
+ to a single subtree.
+
+ When creating or changing MIB views, an SNMP Command
+ Generator application should utilize the
+ vacmViewSpinLock to try to avoid collisions. See
+ DESCRIPTION clause of vacmViewSpinLock.
+
+ When creating MIB views, it is strongly advised that
+ first the 'excluded' vacmViewTreeFamilyEntries are
+ created and then the 'included' entries.
+
+ When deleting MIB views, it is strongly advised that
+ first the 'included' vacmViewTreeFamilyEntries are
+
+ deleted and then the 'excluded' entries.
+
+ If a create for an entry for instance-level access
+ control is received and the implementation does not
+ support instance-level granularity, then an
+ inconsistentName error must be returned.
+ "
+ ::= { vacmMIBViews 2 }
+
+vacmViewTreeFamilyEntry OBJECT-TYPE
+ SYNTAX VacmViewTreeFamilyEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "Information on a particular family of view subtrees
+ included in or excluded from a particular SNMP
+ context's MIB view.
+
+ Implementations must not restrict the number of
+ families of view subtrees for a given MIB view,
+ except as dictated by resource constraints on the
+ overall number of entries in the
+ vacmViewTreeFamilyTable.
+
+ If no conceptual rows exist in this table for a given
+ MIB view (viewName), that view may be thought of as
+ consisting of the empty set of view subtrees.
+ "
+ INDEX { vacmViewTreeFamilyViewName,
+ vacmViewTreeFamilySubtree
+ }
+ ::= { vacmViewTreeFamilyTable 1 }
+
+VacmViewTreeFamilyEntry ::= SEQUENCE
+ {
+ vacmViewTreeFamilyViewName SnmpAdminString,
+ vacmViewTreeFamilySubtree OBJECT IDENTIFIER,
+ vacmViewTreeFamilyMask OCTET STRING,
+ vacmViewTreeFamilyType INTEGER,
+ vacmViewTreeFamilyStorageType StorageType,
+ vacmViewTreeFamilyStatus RowStatus
+ }
+
+vacmViewTreeFamilyViewName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(1..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The human readable name for a family of view subtrees.
+ "
+ ::= { vacmViewTreeFamilyEntry 1 }
+
+vacmViewTreeFamilySubtree OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION "The MIB subtree which when combined with the
+ corresponding instance of vacmViewTreeFamilyMask
+ defines a family of view subtrees.
+ "
+ ::= { vacmViewTreeFamilyEntry 2 }
+
+vacmViewTreeFamilyMask OBJECT-TYPE
+ SYNTAX OCTET STRING (SIZE (0..16))
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The bit mask which, in combination with the
+ corresponding instance of vacmViewTreeFamilySubtree,
+ defines a family of view subtrees.
+
+ Each bit of this bit mask corresponds to a
+ sub-identifier of vacmViewTreeFamilySubtree, with the
+ most significant bit of the i-th octet of this octet
+ string value (extended if necessary, see below)
+ corresponding to the (8*i - 7)-th sub-identifier, and
+ the least significant bit of the i-th octet of this
+ octet string corresponding to the (8*i)-th
+ sub-identifier, where i is in the range 1 through 16.
+
+ Each bit of this bit mask specifies whether or not
+ the corresponding sub-identifiers must match when
+ determining if an OBJECT IDENTIFIER is in this
+ family of view subtrees; a '1' indicates that an
+ exact match must occur; a '0' indicates 'wild card',
+ i.e., any sub-identifier value matches.
+
+ Thus, the OBJECT IDENTIFIER X of an object instance
+ is contained in a family of view subtrees if, for
+ each sub-identifier of the value of
+ vacmViewTreeFamilySubtree, either:
+
+ the i-th bit of vacmViewTreeFamilyMask is 0, or
+
+ the i-th sub-identifier of X is equal to the i-th
+ sub-identifier of the value of
+ vacmViewTreeFamilySubtree.
+
+ If the value of this bit mask is M bits long and
+
+ there are more than M sub-identifiers in the
+ corresponding instance of vacmViewTreeFamilySubtree,
+ then the bit mask is extended with 1's to be the
+ required length.
+
+ Note that when the value of this object is the
+ zero-length string, this extension rule results in
+ a mask of all-1's being used (i.e., no 'wild card'),
+ and the family of view subtrees is the one view
+ subtree uniquely identified by the corresponding
+ instance of vacmViewTreeFamilySubtree.
+
+ Note that masks of length greater than zero length
+ do not need to be supported. In this case this
+ object is made read-only.
+ "
+ DEFVAL { ''H }
+ ::= { vacmViewTreeFamilyEntry 3 }
+
+vacmViewTreeFamilyType OBJECT-TYPE
+ SYNTAX INTEGER { included(1), excluded(2) }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "Indicates whether the corresponding instances of
+ vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
+ define a family of view subtrees which is included in
+ or excluded from the MIB view.
+ "
+ DEFVAL { included }
+ ::= { vacmViewTreeFamilyEntry 4 }
+
+vacmViewTreeFamilyStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The storage type for this conceptual row.
+
+ Conceptual rows having the value 'permanent' need not
+ allow write-access to any columnar objects in the row.
+ "
+ DEFVAL { nonVolatile }
+ ::= { vacmViewTreeFamilyEntry 5 }
+
+vacmViewTreeFamilyStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION "The status of this conceptual row.
+
+ The RowStatus TC [RFC2579] requires that this
+ DESCRIPTION clause states under which circumstances
+ other objects in this row can be modified:
+
+ The value of this object has no effect on whether
+ other objects in this conceptual row can be modified.
+ "
+ ::= { vacmViewTreeFamilyEntry 6 }
+
+-- Conformance information *******************************************
+
+vacmMIBCompliances OBJECT IDENTIFIER ::= { vacmMIBConformance 1 }
+vacmMIBGroups OBJECT IDENTIFIER ::= { vacmMIBConformance 2 }
+
+-- Compliance statements *********************************************
+
+vacmMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION "The compliance statement for SNMP engines which
+ implement the SNMP View-based Access Control Model
+ configuration MIB.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { vacmBasicGroup }
+
+ OBJECT vacmAccessContextMatch
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessReadViewName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessWriteViewName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessNotifyViewName
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmAccessStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Create/delete/modify access to the
+
+ vacmAccessTable is not required.
+ "
+
+ OBJECT vacmViewTreeFamilyMask
+ WRITE-SYNTAX OCTET STRING (SIZE (0))
+ MIN-ACCESS read-only
+ DESCRIPTION "Support for configuration via SNMP of subtree
+ families using wild-cards is not required.
+ "
+
+ OBJECT vacmViewTreeFamilyType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmViewTreeFamilyStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION "Write access is not required."
+
+ OBJECT vacmViewTreeFamilyStatus
+ MIN-ACCESS read-only
+ DESCRIPTION "Create/delete/modify access to the
+ vacmViewTreeFamilyTable is not required.
+ "
+ ::= { vacmMIBCompliances 1 }
+
+-- Units of conformance **********************************************
+
+vacmBasicGroup OBJECT-GROUP
+ OBJECTS {
+ vacmContextName,
+ vacmGroupName,
+ vacmSecurityToGroupStorageType,
+ vacmSecurityToGroupStatus,
+ vacmAccessContextMatch,
+ vacmAccessReadViewName,
+ vacmAccessWriteViewName,
+ vacmAccessNotifyViewName,
+ vacmAccessStorageType,
+ vacmAccessStatus,
+ vacmViewSpinLock,
+ vacmViewTreeFamilyMask,
+ vacmViewTreeFamilyType,
+ vacmViewTreeFamilyStorageType,
+ vacmViewTreeFamilyStatus
+ }
+ STATUS current
+ DESCRIPTION "A collection of objects providing for remote
+ configuration of an SNMP engine which implements
+
+ the SNMP View-based Access Control Model.
+ "
+ ::= { vacmMIBGroups 1 }
+
+END
diff --git a/mibs/SNMPv2-CONF.txt b/mibs/SNMPv2-CONF.txt
new file mode 100644
index 00000000..24a1eed9
--- /dev/null
+++ b/mibs/SNMPv2-CONF.txt
@@ -0,0 +1,322 @@
+SNMPv2-CONF DEFINITIONS ::= BEGIN
+
+IMPORTS ObjectName, NotificationName, ObjectSyntax
+ FROM SNMPv2-SMI;
+
+-- definitions for conformance groups
+
+OBJECT-GROUP MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ ObjectsPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ ObjectsPart ::=
+ "OBJECTS" "{" Objects "}"
+ Objects ::=
+ Object
+ | Objects "," Object
+ Object ::=
+
+ value(ObjectName)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+-- more definitions for conformance groups
+
+NOTIFICATION-GROUP MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ NotificationsPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ NotificationsPart ::=
+ "NOTIFICATIONS" "{" Notifications "}"
+ Notifications ::=
+ Notification
+ | Notifications "," Notification
+ Notification ::=
+ value(NotificationName)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+-- definitions for compliance statements
+
+MODULE-COMPLIANCE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+ ModulePart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ ModulePart ::=
+ Modules
+ Modules ::=
+ Module
+ | Modules Module
+ Module ::=
+ -- name of module --
+ "MODULE" ModuleName
+ MandatoryPart
+ CompliancePart
+
+ ModuleName ::=
+ -- identifier must start with uppercase letter
+ identifier ModuleIdentifier
+ -- must not be empty unless contained
+ -- in MIB Module
+ | empty
+ ModuleIdentifier ::=
+ value(OBJECT IDENTIFIER)
+ | empty
+
+ MandatoryPart ::=
+ "MANDATORY-GROUPS" "{" Groups "}"
+ | empty
+
+ Groups ::=
+
+ Group
+ | Groups "," Group
+ Group ::=
+ value(OBJECT IDENTIFIER)
+
+ CompliancePart ::=
+ Compliances
+ | empty
+
+ Compliances ::=
+ Compliance
+ | Compliances Compliance
+ Compliance ::=
+ ComplianceGroup
+ | Object
+
+ ComplianceGroup ::=
+ "GROUP" value(OBJECT IDENTIFIER)
+ "DESCRIPTION" Text
+
+ Object ::=
+ "OBJECT" value(ObjectName)
+ SyntaxPart
+ WriteSyntaxPart
+ AccessPart
+ "DESCRIPTION" Text
+
+ -- must be a refinement for object's SYNTAX clause
+ SyntaxPart ::= "SYNTAX" Syntax
+ | empty
+
+ -- must be a refinement for object's SYNTAX clause
+ WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
+ | empty
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement),
+ -- a textual convention (or its refinement), or
+ -- a BITS pseudo-type
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+ AccessPart ::=
+ "MIN-ACCESS" Access
+ | empty
+ Access ::=
+ "not-accessible"
+ | "accessible-for-notify"
+ | "read-only"
+ | "read-write"
+ | "read-create"
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+-- definitions for capabilities statements
+
+AGENT-CAPABILITIES MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "PRODUCT-RELEASE" Text
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+ ModulePart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ Status ::=
+ "current"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ ModulePart ::=
+ Modules
+ | empty
+ Modules ::=
+ Module
+ | Modules Module
+ Module ::=
+ -- name of module --
+ "SUPPORTS" ModuleName
+ "INCLUDES" "{" Groups "}"
+ VariationPart
+
+ ModuleName ::=
+
+ -- identifier must start with uppercase letter
+ identifier ModuleIdentifier
+ ModuleIdentifier ::=
+ value(OBJECT IDENTIFIER)
+ | empty
+
+ Groups ::=
+ Group
+ | Groups "," Group
+ Group ::=
+ value(OBJECT IDENTIFIER)
+
+ VariationPart ::=
+ Variations
+ | empty
+ Variations ::=
+ Variation
+ | Variations Variation
+
+ Variation ::=
+ ObjectVariation
+ | NotificationVariation
+
+ NotificationVariation ::=
+ "VARIATION" value(NotificationName)
+ AccessPart
+ "DESCRIPTION" Text
+
+ ObjectVariation ::=
+ "VARIATION" value(ObjectName)
+ SyntaxPart
+ WriteSyntaxPart
+ AccessPart
+ CreationPart
+ DefValPart
+ "DESCRIPTION" Text
+
+ -- must be a refinement for object's SYNTAX clause
+ SyntaxPart ::= "SYNTAX" Syntax
+ | empty
+
+ WriteSyntaxPart ::= "WRITE-SYNTAX" Syntax
+ | empty
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement),
+ -- a textual convention (or its refinement), or
+ -- a BITS pseudo-type
+
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+ AccessPart ::=
+ "ACCESS" Access
+ | empty
+
+ Access ::=
+ "not-implemented"
+ -- only "not-implemented" for notifications
+ | "accessible-for-notify"
+ | "read-only"
+ | "read-write"
+ | "read-create"
+ -- following is for backward-compatibility only
+ | "write-only"
+
+ CreationPart ::=
+ "CREATION-REQUIRES" "{" Cells "}"
+ | empty
+ Cells ::=
+ Cell
+ | Cells "," Cell
+ Cell ::=
+ value(ObjectName)
+
+ DefValPart ::= "DEFVAL" "{" Defvalue "}"
+ | empty
+
+ Defvalue ::= -- must be valid for the object's syntax
+ -- in this macro's SYNTAX clause, if present,
+ -- or if not, in object's OBJECT-TYPE macro
+ value(ObjectSyntax)
+ | "{" BitsValue "}"
+
+ BitsValue ::= BitNames
+ | empty
+
+ BitNames ::= BitName
+ | BitNames "," BitName
+
+ BitName ::= identifier
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+END
+
+END
diff --git a/mibs/SNMPv2-MIB.txt b/mibs/SNMPv2-MIB.txt
new file mode 100644
index 00000000..8c828305
--- /dev/null
+++ b/mibs/SNMPv2-MIB.txt
@@ -0,0 +1,854 @@
+SNMPv2-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
+ TimeTicks, Counter32, snmpModules, mib-2
+ FROM SNMPv2-SMI
+ DisplayString, TestAndIncr, TimeStamp
+
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF;
+
+snmpMIB MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ phone: +1 301 947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester, NH 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603 337-2614
+
+ Editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408 546-1006"
+ DESCRIPTION
+ "The MIB module for SNMP entities.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3418;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210160000Z"
+ DESCRIPTION
+ "This revision of this MIB module was published as
+ RFC 3418."
+ REVISION "199511090000Z"
+ DESCRIPTION
+ "This revision of this MIB module was published as
+ RFC 1907."
+ REVISION "199304010000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was published
+ as RFC 1450."
+ ::= { snmpModules 1 }
+
+snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 }
+
+-- ::= { snmpMIBObjects 1 } this OID is obsolete
+-- ::= { snmpMIBObjects 2 } this OID is obsolete
+-- ::= { snmpMIBObjects 3 } this OID is obsolete
+
+-- the System group
+--
+-- a collection of objects common to all managed systems.
+
+system OBJECT IDENTIFIER ::= { mib-2 1 }
+
+sysDescr OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the entity. This value should
+ include the full name and version identification of
+ the system's hardware type, software operating-system,
+ and networking software."
+ ::= { system 1 }
+
+sysObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ network management subsystem contained in the entity.
+ This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and
+ unambiguous means for determining `what kind of box' is
+ being managed. For example, if vendor `Flintstones,
+ Inc.' was assigned the subtree 1.3.6.1.4.1.424242,
+ it could assign the identifier 1.3.6.1.4.1.424242.1.1
+ to its `Fred Router'."
+ ::= { system 2 }
+
+sysUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in hundredths of a second) since the
+ network management portion of the system was last
+ re-initialized."
+ ::= { system 3 }
+
+sysContact OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The textual identification of the contact person for
+ this managed node, together with information on how
+ to contact this person. If no contact information is
+ known, the value is the zero-length string."
+ ::= { system 4 }
+
+sysName OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An administratively-assigned name for this managed
+ node. By convention, this is the node's fully-qualified
+ domain name. If the name is unknown, the value is
+ the zero-length string."
+ ::= { system 5 }
+
+sysLocation OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..255))
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The physical location of this node (e.g., 'telephone
+ closet, 3rd floor'). If the location is unknown, the
+ value is the zero-length string."
+ ::= { system 6 }
+
+sysServices OBJECT-TYPE
+ SYNTAX INTEGER (0..127)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A value which indicates the set of services that this
+ entity may potentially offer. The value is a sum.
+
+ This sum initially takes the value zero. Then, for
+ each layer, L, in the range 1 through 7, that this node
+ performs transactions for, 2 raised to (L - 1) is added
+ to the sum. For example, a node which performs only
+ routing functions would have a value of 4 (2^(3-1)).
+ In contrast, a node which is a host offering application
+ services would have a value of 72 (2^(4-1) + 2^(7-1)).
+ Note that in the context of the Internet suite of
+ protocols, values should be calculated accordingly:
+
+ layer functionality
+ 1 physical (e.g., repeaters)
+ 2 datalink/subnetwork (e.g., bridges)
+ 3 internet (e.g., supports the IP)
+ 4 end-to-end (e.g., supports the TCP)
+ 7 applications (e.g., supports the SMTP)
+
+ For systems including OSI protocols, layers 5 and 6
+ may also be counted."
+ ::= { system 7 }
+
+-- object resource information
+--
+-- a collection of objects which describe the SNMP entity's
+-- (statically and dynamically configurable) support of
+-- various MIB modules.
+
+sysORLastChange OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time of the most recent
+ change in state or value of any instance of sysORID."
+ ::= { system 8 }
+
+sysORTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table listing the capabilities of
+ the local SNMP application acting as a command
+ responder with respect to various MIB modules.
+ SNMP entities having dynamically-configurable support
+ of MIB modules will have a dynamically-varying number
+ of conceptual rows."
+ ::= { system 9 }
+
+sysOREntry OBJECT-TYPE
+ SYNTAX SysOREntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) in the sysORTable."
+ INDEX { sysORIndex }
+ ::= { sysORTable 1 }
+
+SysOREntry ::= SEQUENCE {
+ sysORIndex INTEGER,
+ sysORID OBJECT IDENTIFIER,
+ sysORDescr DisplayString,
+ sysORUpTime TimeStamp
+}
+
+sysORIndex OBJECT-TYPE
+ SYNTAX INTEGER (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The auxiliary variable used for identifying instances
+ of the columnar objects in the sysORTable."
+ ::= { sysOREntry 1 }
+
+sysORID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "An authoritative identification of a capabilities
+ statement with respect to various MIB modules supported
+ by the local SNMP application acting as a command
+ responder."
+ ::= { sysOREntry 2 }
+
+sysORDescr OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the capabilities identified
+ by the corresponding instance of sysORID."
+ ::= { sysOREntry 3 }
+
+sysORUpTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of sysUpTime at the time this conceptual
+ row was last instantiated."
+ ::= { sysOREntry 4 }
+
+-- the SNMP group
+--
+-- a collection of objects providing basic instrumentation and
+-- control of an SNMP entity.
+
+snmp OBJECT IDENTIFIER ::= { mib-2 11 }
+
+snmpInPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of messages delivered to the SNMP
+ entity from the transport service."
+ ::= { snmp 1 }
+
+snmpInBadVersions OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of SNMP messages which were delivered
+ to the SNMP entity and were for an unsupported SNMP
+ version."
+ ::= { snmp 3 }
+
+snmpInBadCommunityNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of community-based SNMP messages (for
+ example, SNMPv1) delivered to the SNMP entity which
+ used an SNMP community name not known to said entity.
+ Also, implementations which authenticate community-based
+ SNMP messages using check(s) in addition to matching
+ the community name (for example, by also checking
+ whether the message originated from a transport address
+ allowed to use a specified community name) MAY include
+ in this value the number of messages which failed the
+ additional check(s). It is strongly RECOMMENDED that
+
+ the documentation for any security model which is used
+ to authenticate community-based SNMP messages specify
+ the precise conditions that contribute to this value."
+ ::= { snmp 4 }
+
+snmpInBadCommunityUses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of community-based SNMP messages (for
+ example, SNMPv1) delivered to the SNMP entity which
+ represented an SNMP operation that was not allowed for
+ the SNMP community named in the message. The precise
+ conditions under which this counter is incremented
+ (if at all) depend on how the SNMP entity implements
+ its access control mechanism and how its applications
+ interact with that access control mechanism. It is
+ strongly RECOMMENDED that the documentation for any
+ access control mechanism which is used to control access
+ to and visibility of MIB instrumentation specify the
+ precise conditions that contribute to this value."
+ ::= { snmp 5 }
+
+snmpInASNParseErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of ASN.1 or BER errors encountered by
+ the SNMP entity when decoding received SNMP messages."
+ ::= { snmp 6 }
+
+snmpEnableAuthenTraps OBJECT-TYPE
+ SYNTAX INTEGER { enabled(1), disabled(2) }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates whether the SNMP entity is permitted to
+ generate authenticationFailure traps. The value of this
+ object overrides any configuration information; as such,
+ it provides a means whereby all authenticationFailure
+ traps may be disabled.
+
+ Note that it is strongly recommended that this object
+ be stored in non-volatile memory so that it remains
+ constant across re-initializations of the network
+ management system."
+ ::= { snmp 30 }
+
+snmpSilentDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Confirmed Class PDUs (such as
+ GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and
+ InformRequest-PDUs) delivered to the SNMP entity which
+ were silently dropped because the size of a reply
+ containing an alternate Response Class PDU (such as a
+ Response-PDU) with an empty variable-bindings field
+ was greater than either a local constraint or the
+ maximum message size associated with the originator of
+ the request."
+ ::= { snmp 31 }
+
+snmpProxyDrops OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of Confirmed Class PDUs
+ (such as GetRequest-PDUs, GetNextRequest-PDUs,
+ GetBulkRequest-PDUs, SetRequest-PDUs, and
+ InformRequest-PDUs) delivered to the SNMP entity which
+ were silently dropped because the transmission of
+ the (possibly translated) message to a proxy target
+ failed in a manner (other than a time-out) such that
+ no Response Class PDU (such as a Response-PDU) could
+ be returned."
+ ::= { snmp 32 }
+
+-- information for notifications
+--
+-- a collection of objects which allow the SNMP entity, when
+-- supporting a notification originator application,
+-- to be configured to generate SNMPv2-Trap-PDUs.
+
+snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
+
+snmpTrapOID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the notification
+ currently being sent. This variable occurs as
+ the second varbind in every SNMPv2-Trap-PDU and
+ InformRequest-PDU."
+ ::= { snmpTrap 1 }
+
+-- ::= { snmpTrap 2 } this OID is obsolete
+
+snmpTrapEnterprise OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The authoritative identification of the enterprise
+ associated with the trap currently being sent. When an
+ SNMP proxy agent is mapping an RFC1157 Trap-PDU
+ into a SNMPv2-Trap-PDU, this variable occurs as the
+ last varbind."
+ ::= { snmpTrap 3 }
+
+-- ::= { snmpTrap 4 } this OID is obsolete
+
+-- well-known traps
+
+snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
+
+coldStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A coldStart trap signifies that the SNMP entity,
+ supporting a notification originator application, is
+ reinitializing itself and that its configuration may
+ have been altered."
+ ::= { snmpTraps 1 }
+
+warmStart NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "A warmStart trap signifies that the SNMP entity,
+ supporting a notification originator application,
+ is reinitializing itself such that its configuration
+ is unaltered."
+ ::= { snmpTraps 2 }
+
+-- Note the linkDown NOTIFICATION-TYPE ::= { snmpTraps 3 }
+-- and the linkUp NOTIFICATION-TYPE ::= { snmpTraps 4 }
+-- are defined in RFC 2863 [RFC2863]
+
+authenticationFailure NOTIFICATION-TYPE
+ STATUS current
+ DESCRIPTION
+ "An authenticationFailure trap signifies that the SNMP
+ entity has received a protocol message that is not
+ properly authenticated. While all implementations
+ of SNMP entities MAY be capable of generating this
+ trap, the snmpEnableAuthenTraps object indicates
+ whether this trap will be generated."
+ ::= { snmpTraps 5 }
+
+-- Note the egpNeighborLoss notification is defined
+-- as { snmpTraps 6 } in RFC 1213
+
+-- the set group
+--
+-- a collection of objects which allow several cooperating
+-- command generator applications to coordinate their use of the
+-- set operation.
+
+snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 }
+
+snmpSetSerialNo OBJECT-TYPE
+ SYNTAX TestAndIncr
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "An advisory lock used to allow several cooperating
+ command generator applications to coordinate their
+ use of the SNMP set operation.
+
+ This object is used for coarse-grain coordination.
+ To achieve fine-grain coordination, one or more similar
+ objects might be defined within each MIB group, as
+ appropriate."
+ ::= { snmpSet 1 }
+
+-- conformance information
+
+snmpMIBConformance
+ OBJECT IDENTIFIER ::= { snmpMIB 2 }
+
+snmpMIBCompliances
+ OBJECT IDENTIFIER ::= { snmpMIBConformance 1 }
+snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 }
+
+-- compliance statements
+
+-- ::= { snmpMIBCompliances 1 } this OID is obsolete
+snmpBasicCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for SNMPv2 entities which
+ implement the SNMPv2 MIB.
+
+ This compliance statement is replaced by
+ snmpBasicComplianceRev2."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMPv2 entities which
+ support community-based authentication."
+ ::= { snmpMIBCompliances 2 }
+
+snmpBasicComplianceRev2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for SNMP entities which
+ implement this MIB module."
+ MODULE -- this module
+ MANDATORY-GROUPS { snmpGroup, snmpSetGroup, systemGroup,
+ snmpBasicNotificationsGroup }
+
+ GROUP snmpCommunityGroup
+ DESCRIPTION
+ "This group is mandatory for SNMP entities which
+ support community-based authentication."
+
+ GROUP snmpWarmStartNotificationGroup
+ DESCRIPTION
+ "This group is mandatory for an SNMP entity which
+ supports command responder applications, and is
+ able to reinitialize itself such that its
+ configuration is unaltered."
+ ::= { snmpMIBCompliances 3 }
+
+-- units of conformance
+
+-- ::= { snmpMIBGroups 1 } this OID is obsolete
+-- ::= { snmpMIBGroups 2 } this OID is obsolete
+-- ::= { snmpMIBGroups 3 } this OID is obsolete
+
+-- ::= { snmpMIBGroups 4 } this OID is obsolete
+
+snmpGroup OBJECT-GROUP
+ OBJECTS { snmpInPkts,
+ snmpInBadVersions,
+ snmpInASNParseErrs,
+ snmpSilentDrops,
+ snmpProxyDrops,
+ snmpEnableAuthenTraps }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ and control of an SNMP entity."
+ ::= { snmpMIBGroups 8 }
+
+snmpCommunityGroup OBJECT-GROUP
+ OBJECTS { snmpInBadCommunityNames,
+ snmpInBadCommunityUses }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing basic instrumentation
+ of a SNMP entity which supports community-based
+ authentication."
+ ::= { snmpMIBGroups 9 }
+
+snmpSetGroup OBJECT-GROUP
+ OBJECTS { snmpSetSerialNo }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects which allow several cooperating
+ command generator applications to coordinate their
+ use of the set operation."
+ ::= { snmpMIBGroups 5 }
+
+systemGroup OBJECT-GROUP
+ OBJECTS { sysDescr, sysObjectID, sysUpTime,
+ sysContact, sysName, sysLocation,
+ sysServices,
+ sysORLastChange, sysORID,
+ sysORUpTime, sysORDescr }
+ STATUS current
+ DESCRIPTION
+ "The system group defines objects which are common to all
+ managed systems."
+ ::= { snmpMIBGroups 6 }
+
+snmpBasicNotificationsGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { coldStart, authenticationFailure }
+ STATUS current
+ DESCRIPTION
+ "The basic notifications implemented by an SNMP entity
+ supporting command responder applications."
+ ::= { snmpMIBGroups 7 }
+
+snmpWarmStartNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { warmStart }
+ STATUS current
+ DESCRIPTION
+ "An additional notification for an SNMP entity supporting
+ command responder applications, if it is able to reinitialize
+ itself such that its configuration is unaltered."
+ ::= { snmpMIBGroups 11 }
+
+snmpNotificationGroup OBJECT-GROUP
+ OBJECTS { snmpTrapOID, snmpTrapEnterprise }
+ STATUS current
+ DESCRIPTION
+ "These objects are required for entities
+ which support notification originator applications."
+ ::= { snmpMIBGroups 12 }
+
+-- definitions in RFC 1213 made obsolete by the inclusion of a
+-- subset of the snmp group in this MIB
+
+snmpOutPkts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Messages which were
+ passed from the SNMP protocol entity to the
+ transport service."
+ ::= { snmp 2 }
+
+-- { snmp 7 } is not used
+
+snmpInTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `tooBig'."
+ ::= { snmp 8 }
+
+snmpInNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `noSuchName'."
+ ::= { snmp 9 }
+
+snmpInBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were
+ delivered to the SNMP protocol entity and for
+ which the value of the error-status field was
+ `badValue'."
+ ::= { snmp 10 }
+
+snmpInReadOnlys OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number valid SNMP PDUs which were delivered
+ to the SNMP protocol entity and for which the value
+ of the error-status field was `readOnly'. It should
+ be noted that it is a protocol error to generate an
+ SNMP PDU which contains the value `readOnly' in the
+ error-status field, as such this object is provided
+ as a means of detecting incorrect implementations of
+ the SNMP."
+ ::= { snmp 11 }
+
+snmpInGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were delivered
+ to the SNMP protocol entity and for which the value
+ of the error-status field was `genErr'."
+ ::= { snmp 12 }
+
+snmpInTotalReqVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ retrieved successfully by the SNMP protocol entity
+ as the result of receiving valid SNMP Get-Request
+ and Get-Next PDUs."
+ ::= { snmp 13 }
+
+snmpInTotalSetVars OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of MIB objects which have been
+ altered successfully by the SNMP protocol entity as
+ the result of receiving valid SNMP Set-Request PDUs."
+ ::= { snmp 14 }
+
+snmpInGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been accepted and processed by the SNMP
+ protocol entity."
+ ::= { snmp 15 }
+
+snmpInGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have been
+ accepted and processed by the SNMP protocol entity."
+ ::= { snmp 16 }
+
+snmpInSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 17 }
+
+snmpInGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been accepted and processed by the SNMP protocol
+ entity."
+ ::= { snmp 18 }
+
+snmpInTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have been
+ accepted and processed by the SNMP protocol entity."
+ ::= { snmp 19 }
+
+snmpOutTooBigs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `tooBig.'"
+ ::= { snmp 20 }
+
+snmpOutNoSuchNames OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status was `noSuchName'."
+ ::= { snmp 21 }
+
+snmpOutBadValues OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `badValue'."
+ ::= { snmp 22 }
+
+-- { snmp 23 } is not used
+
+snmpOutGenErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP PDUs which were generated
+ by the SNMP protocol entity and for which the value
+ of the error-status field was `genErr'."
+ ::= { snmp 24 }
+
+snmpOutGetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 25 }
+
+snmpOutGetNexts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Next PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 26 }
+
+snmpOutSetRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Set-Request PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 27 }
+
+snmpOutGetResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Get-Response PDUs which
+ have been generated by the SNMP protocol entity."
+ ::= { snmp 28 }
+
+snmpOutTraps OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS obsolete
+ DESCRIPTION
+ "The total number of SNMP Trap PDUs which have
+ been generated by the SNMP protocol entity."
+ ::= { snmp 29 }
+
+snmpObsoleteGroup OBJECT-GROUP
+ OBJECTS { snmpOutPkts, snmpInTooBigs, snmpInNoSuchNames,
+ snmpInBadValues, snmpInReadOnlys, snmpInGenErrs,
+ snmpInTotalReqVars, snmpInTotalSetVars,
+ snmpInGetRequests, snmpInGetNexts, snmpInSetRequests,
+ snmpInGetResponses, snmpInTraps, snmpOutTooBigs,
+ snmpOutNoSuchNames, snmpOutBadValues,
+ snmpOutGenErrs, snmpOutGetRequests, snmpOutGetNexts,
+ snmpOutSetRequests, snmpOutGetResponses, snmpOutTraps
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "A collection of objects from RFC 1213 made obsolete
+ by this MIB module."
+ ::= { snmpMIBGroups 10 }
+
+END
diff --git a/mibs/SNMPv2-SMI.txt b/mibs/SNMPv2-SMI.txt
new file mode 100644
index 00000000..1c01e1df
--- /dev/null
+++ b/mibs/SNMPv2-SMI.txt
@@ -0,0 +1,344 @@
+SNMPv2-SMI DEFINITIONS ::= BEGIN
+
+-- the path to the root
+
+org OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1
+dod OBJECT IDENTIFIER ::= { org 6 }
+internet OBJECT IDENTIFIER ::= { dod 1 }
+
+directory OBJECT IDENTIFIER ::= { internet 1 }
+
+mgmt OBJECT IDENTIFIER ::= { internet 2 }
+mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
+transmission OBJECT IDENTIFIER ::= { mib-2 10 }
+
+experimental OBJECT IDENTIFIER ::= { internet 3 }
+
+private OBJECT IDENTIFIER ::= { internet 4 }
+enterprises OBJECT IDENTIFIER ::= { private 1 }
+
+security OBJECT IDENTIFIER ::= { internet 5 }
+
+snmpV2 OBJECT IDENTIFIER ::= { internet 6 }
+
+-- transport domains
+snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 }
+
+-- transport proxies
+snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 }
+
+-- module identities
+snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 }
+
+-- Extended UTCTime, to allow dates with four-digit years
+-- (Note that this definition of ExtUTCTime is not to be IMPORTed
+-- by MIB modules.)
+ExtUTCTime ::= OCTET STRING(SIZE(11 | 13))
+ -- format is YYMMDDHHMMZ or YYYYMMDDHHMMZ
+
+ -- where: YY - last two digits of year (only years
+ -- between 1900-1999)
+ -- YYYY - last four digits of the year (any year)
+ -- MM - month (01 through 12)
+ -- DD - day of month (01 through 31)
+ -- HH - hours (00 through 23)
+ -- MM - minutes (00 through 59)
+ -- Z - denotes GMT (the ASCII character Z)
+ --
+ -- For example, "9502192015Z" and "199502192015Z" represent
+ -- 8:15pm GMT on 19 February 1995. Years after 1999 must use
+ -- the four digit year format. Years 1900-1999 may use the
+ -- two or four digit format.
+
+-- definitions for information modules
+
+MODULE-IDENTITY MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "LAST-UPDATED" value(Update ExtUTCTime)
+ "ORGANIZATION" Text
+ "CONTACT-INFO" Text
+ "DESCRIPTION" Text
+ RevisionPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ RevisionPart ::=
+ Revisions
+ | empty
+ Revisions ::=
+ Revision
+ | Revisions Revision
+ Revision ::=
+ "REVISION" value(Update ExtUTCTime)
+ "DESCRIPTION" Text
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+OBJECT-IDENTITY MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "STATUS" Status
+ "DESCRIPTION" Text
+
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE OBJECT IDENTIFIER)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- names of objects
+-- (Note that these definitions of ObjectName and NotificationName
+-- are not to be IMPORTed by MIB modules.)
+
+ObjectName ::=
+ OBJECT IDENTIFIER
+
+NotificationName ::=
+ OBJECT IDENTIFIER
+
+-- syntax of objects
+
+-- the "base types" defined here are:
+-- 3 built-in ASN.1 types: INTEGER, OCTET STRING, OBJECT IDENTIFIER
+-- 8 application-defined types: Integer32, IpAddress, Counter32,
+-- Gauge32, Unsigned32, TimeTicks, Opaque, and Counter64
+
+ObjectSyntax ::=
+ CHOICE {
+ simple
+ SimpleSyntax,
+ -- note that SEQUENCEs for conceptual tables and
+ -- rows are not mentioned here...
+
+ application-wide
+ ApplicationSyntax
+ }
+
+-- built-in ASN.1 types
+
+SimpleSyntax ::=
+ CHOICE {
+ -- INTEGERs with a more restrictive range
+ -- may also be used
+ integer-value -- includes Integer32
+ INTEGER (-2147483648..2147483647),
+ -- OCTET STRINGs with a more restrictive size
+ -- may also be used
+ string-value
+ OCTET STRING (SIZE (0..65535)),
+ objectID-value
+ OBJECT IDENTIFIER
+ }
+
+-- indistinguishable from INTEGER, but never needs more than
+-- 32-bits for a two's complement representation
+Integer32 ::=
+ INTEGER (-2147483648..2147483647)
+
+-- application-wide types
+
+ApplicationSyntax ::=
+ CHOICE {
+ ipAddress-value
+ IpAddress,
+ counter-value
+ Counter32,
+ timeticks-value
+ TimeTicks,
+ arbitrary-value
+ Opaque,
+ big-counter-value
+ Counter64,
+ unsigned-integer-value -- includes Gauge32
+ Unsigned32
+ }
+
+-- in network-byte order
+
+-- (this is a tagged type for historical reasons)
+IpAddress ::=
+ [APPLICATION 0]
+ IMPLICIT OCTET STRING (SIZE (4))
+
+-- this wraps
+Counter32 ::=
+ [APPLICATION 1]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- this doesn't wrap
+Gauge32 ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- an unsigned 32-bit quantity
+-- indistinguishable from Gauge32
+Unsigned32 ::=
+ [APPLICATION 2]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- hundredths of seconds since an epoch
+TimeTicks ::=
+ [APPLICATION 3]
+ IMPLICIT INTEGER (0..4294967295)
+
+-- for backward-compatibility only
+Opaque ::=
+ [APPLICATION 4]
+ IMPLICIT OCTET STRING
+
+-- for counters that wrap in less than one hour with only 32 bits
+Counter64 ::=
+ [APPLICATION 6]
+ IMPLICIT INTEGER (0..18446744073709551615)
+
+-- definition for objects
+
+OBJECT-TYPE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ "SYNTAX" Syntax
+ UnitsPart
+ "MAX-ACCESS" Access
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ IndexPart
+ DefValPart
+
+ VALUE NOTATION ::=
+ value(VALUE ObjectName)
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement),
+ -- a textual convention (or its refinement), or
+ -- a BITS pseudo-type
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+ UnitsPart ::=
+ "UNITS" Text
+ | empty
+
+ Access ::=
+ "not-accessible"
+ | "accessible-for-notify"
+ | "read-only"
+ | "read-write"
+ | "read-create"
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ IndexPart ::=
+ "INDEX" "{" IndexTypes "}"
+ | "AUGMENTS" "{" Entry "}"
+ | empty
+ IndexTypes ::=
+ IndexType
+ | IndexTypes "," IndexType
+ IndexType ::=
+ "IMPLIED" Index
+ | Index
+
+ Index ::=
+ -- use the SYNTAX value of the
+ -- correspondent OBJECT-TYPE invocation
+ value(ObjectName)
+ Entry ::=
+ -- use the INDEX value of the
+ -- correspondent OBJECT-TYPE invocation
+ value(ObjectName)
+
+ DefValPart ::= "DEFVAL" "{" Defvalue "}"
+ | empty
+
+ Defvalue ::= -- must be valid for the type specified in
+ -- SYNTAX clause of same OBJECT-TYPE macro
+ value(ObjectSyntax)
+ | "{" BitsValue "}"
+
+ BitsValue ::= BitNames
+ | empty
+
+ BitNames ::= BitName
+ | BitNames "," BitName
+
+ BitName ::= identifier
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- definitions for notifications
+
+NOTIFICATION-TYPE MACRO ::=
+BEGIN
+ TYPE NOTATION ::=
+ ObjectsPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+
+ VALUE NOTATION ::=
+ value(VALUE NotificationName)
+
+ ObjectsPart ::=
+ "OBJECTS" "{" Objects "}"
+ | empty
+ Objects ::=
+ Object
+
+ | Objects "," Object
+ Object ::=
+ value(ObjectName)
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in section 3.1.1
+ Text ::= value(IA5String)
+END
+
+-- definitions of administrative identifiers
+
+zeroDotZero OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "A value used for null identifiers."
+ ::= { 0 0 }
+
+END
diff --git a/mibs/SNMPv2-TC.txt b/mibs/SNMPv2-TC.txt
new file mode 100644
index 00000000..860bf71e
--- /dev/null
+++ b/mibs/SNMPv2-TC.txt
@@ -0,0 +1,772 @@
+SNMPv2-TC DEFINITIONS ::= BEGIN
+
+IMPORTS
+ TimeTicks FROM SNMPv2-SMI;
+
+-- definition of textual conventions
+
+TEXTUAL-CONVENTION MACRO ::=
+
+BEGIN
+ TYPE NOTATION ::=
+ DisplayPart
+ "STATUS" Status
+ "DESCRIPTION" Text
+ ReferPart
+ "SYNTAX" Syntax
+
+ VALUE NOTATION ::=
+ value(VALUE Syntax) -- adapted ASN.1
+
+ DisplayPart ::=
+ "DISPLAY-HINT" Text
+ | empty
+
+ Status ::=
+ "current"
+ | "deprecated"
+ | "obsolete"
+
+ ReferPart ::=
+ "REFERENCE" Text
+ | empty
+
+ -- a character string as defined in [2]
+ Text ::= value(IA5String)
+
+ Syntax ::= -- Must be one of the following:
+ -- a base type (or its refinement), or
+ -- a BITS pseudo-type
+ type
+ | "BITS" "{" NamedBits "}"
+
+ NamedBits ::= NamedBit
+ | NamedBits "," NamedBit
+
+ NamedBit ::= identifier "(" number ")" -- number is nonnegative
+
+END
+
+DisplayString ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "255a"
+ STATUS current
+ DESCRIPTION
+ "Represents textual information taken from the NVT ASCII
+
+ character set, as defined in pages 4, 10-11 of RFC 854.
+
+ To summarize RFC 854, the NVT ASCII repertoire specifies:
+
+ - the use of character codes 0-127 (decimal)
+
+ - the graphics characters (32-126) are interpreted as
+ US ASCII
+
+ - NUL, LF, CR, BEL, BS, HT, VT and FF have the special
+ meanings specified in RFC 854
+
+ - the other 25 codes have no standard interpretation
+
+ - the sequence 'CR LF' means newline
+
+ - the sequence 'CR NUL' means carriage-return
+
+ - an 'LF' not preceded by a 'CR' means moving to the
+ same column on the next line.
+
+ - the sequence 'CR x' for any x other than LF or NUL is
+ illegal. (Note that this also means that a string may
+ end with either 'CR LF' or 'CR NUL', but not with CR.)
+
+ Any object defined using this syntax may not exceed 255
+ characters in length."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+PhysAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents media- or physical-level addresses."
+ SYNTAX OCTET STRING
+
+MacAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents an 802 MAC address represented in the
+ `canonical' order defined by IEEE 802.1a, i.e., as if it
+ were transmitted least significant bit first, even though
+ 802.5 (in contrast to other 802.x protocols) requires MAC
+ addresses to be transmitted most significant bit first."
+ SYNTAX OCTET STRING (SIZE (6))
+
+TruthValue ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a boolean value."
+ SYNTAX INTEGER { true(1), false(2) }
+
+TestAndIncr ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents integer-valued information used for atomic
+ operations. When the management protocol is used to specify
+ that an object instance having this syntax is to be
+ modified, the new value supplied via the management protocol
+ must precisely match the value presently held by the
+ instance. If not, the management protocol set operation
+ fails with an error of `inconsistentValue'. Otherwise, if
+ the current value is the maximum value of 2^31-1 (2147483647
+ decimal), then the value held by the instance is wrapped to
+ zero; otherwise, the value held by the instance is
+ incremented by one. (Note that regardless of whether the
+ management protocol set operation succeeds, the variable-
+ binding in the request and response PDUs are identical.)
+
+ The value of the ACCESS clause for objects having this
+ syntax is either `read-write' or `read-create'. When an
+ instance of a columnar object having this syntax is created,
+ any value may be supplied via the management protocol.
+
+ When the network management portion of the system is re-
+ initialized, the value of every object instance having this
+ syntax must either be incremented from its value prior to
+ the re-initialization, or (if the value prior to the re-
+ initialization is unknown) be set to a pseudo-randomly
+ generated value."
+ SYNTAX INTEGER (0..2147483647)
+
+AutonomousType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents an independently extensible type identification
+ value. It may, for example, indicate a particular sub-tree
+ with further MIB definitions, or define a particular type of
+ protocol or hardware."
+ SYNTAX OBJECT IDENTIFIER
+
+InstancePointer ::= TEXTUAL-CONVENTION
+ STATUS obsolete
+ DESCRIPTION
+ "A pointer to either a specific instance of a MIB object or
+ a conceptual row of a MIB table in the managed device. In
+ the latter case, by convention, it is the name of the
+ particular instance of the first accessible columnar object
+ in the conceptual row.
+
+ The two uses of this textual convention are replaced by
+ VariablePointer and RowPointer, respectively."
+ SYNTAX OBJECT IDENTIFIER
+
+VariablePointer ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A pointer to a specific object instance. For example,
+ sysContact.0 or ifInOctets.3."
+ SYNTAX OBJECT IDENTIFIER
+
+RowPointer ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents a pointer to a conceptual row. The value is the
+ name of the instance of the first accessible columnar object
+ in the conceptual row.
+
+ For example, ifIndex.3 would point to the 3rd row in the
+ ifTable (note that if ifIndex were not-accessible, then
+ ifDescr.3 would be used instead)."
+ SYNTAX OBJECT IDENTIFIER
+
+RowStatus ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The RowStatus textual convention is used to manage the
+ creation and deletion of conceptual rows, and is used as the
+ value of the SYNTAX clause for the status column of a
+ conceptual row (as described in Section 7.7.1 of [2].)
+
+ The status column has six defined values:
+
+ - `active', which indicates that the conceptual row is
+ available for use by the managed device;
+
+ - `notInService', which indicates that the conceptual
+ row exists in the agent, but is unavailable for use by
+ the managed device (see NOTE below); 'notInService' has
+ no implication regarding the internal consistency of
+ the row, availability of resources, or consistency with
+ the current state of the managed device;
+
+ - `notReady', which indicates that the conceptual row
+ exists in the agent, but is missing information
+ necessary in order to be available for use by the
+ managed device (i.e., one or more required columns in
+ the conceptual row have not been instanciated);
+
+ - `createAndGo', which is supplied by a management
+ station wishing to create a new instance of a
+ conceptual row and to have its status automatically set
+ to active, making it available for use by the managed
+ device;
+
+ - `createAndWait', which is supplied by a management
+ station wishing to create a new instance of a
+ conceptual row (but not make it available for use by
+ the managed device); and,
+ - `destroy', which is supplied by a management station
+ wishing to delete all of the instances associated with
+ an existing conceptual row.
+
+ Whereas five of the six values (all except `notReady') may
+ be specified in a management protocol set operation, only
+ three values will be returned in response to a management
+ protocol retrieval operation: `notReady', `notInService' or
+ `active'. That is, when queried, an existing conceptual row
+ has only three states: it is either available for use by
+ the managed device (the status column has value `active');
+ it is not available for use by the managed device, though
+ the agent has sufficient information to attempt to make it
+ so (the status column has value `notInService'); or, it is
+ not available for use by the managed device, and an attempt
+ to make it so would fail because the agent has insufficient
+ information (the state column has value `notReady').
+
+ NOTE WELL
+
+ This textual convention may be used for a MIB table,
+ irrespective of whether the values of that table's
+ conceptual rows are able to be modified while it is
+ active, or whether its conceptual rows must be taken
+ out of service in order to be modified. That is, it is
+ the responsibility of the DESCRIPTION clause of the
+ status column to specify whether the status column must
+ not be `active' in order for the value of some other
+ column of the same conceptual row to be modified. If
+ such a specification is made, affected columns may be
+ changed by an SNMP set PDU if the RowStatus would not
+ be equal to `active' either immediately before or after
+ processing the PDU. In other words, if the PDU also
+ contained a varbind that would change the RowStatus
+ value, the column in question may be changed if the
+ RowStatus was not equal to `active' as the PDU was
+ received, or if the varbind sets the status to a value
+ other than 'active'.
+
+ Also note that whenever any elements of a row exist, the
+ RowStatus column must also exist.
+
+ To summarize the effect of having a conceptual row with a
+ status column having a SYNTAX clause value of RowStatus,
+ consider the following state diagram:
+
+ STATE
+ +--------------+-----------+-------------+-------------
+ | A | B | C | D
+ | |status col.|status column|
+ |status column | is | is |status column
+ ACTION |does not exist| notReady | notInService| is active
+--------------+--------------+-----------+-------------+-------------
+set status |noError ->D|inconsist- |inconsistent-|inconsistent-
+column to | or | entValue| Value| Value
+createAndGo |inconsistent- | | |
+ | Value| | |
+--------------+--------------+-----------+-------------+-------------
+set status |noError see 1|inconsist- |inconsistent-|inconsistent-
+column to | or | entValue| Value| Value
+createAndWait |wrongValue | | |
+--------------+--------------+-----------+-------------+-------------
+set status |inconsistent- |inconsist- |noError |noError
+column to | Value| entValue| |
+active | | | |
+ | | or | |
+ | | | |
+ | |see 2 ->D|see 8 ->D| ->D
+--------------+--------------+-----------+-------------+-------------
+set status |inconsistent- |inconsist- |noError |noError ->C
+column to | Value| entValue| |
+notInService | | | |
+ | | or | | or
+ | | | |
+ | |see 3 ->C| ->C|see 6
+--------------+--------------+-----------+-------------+-------------
+set status |noError |noError |noError |noError ->A
+column to | | | | or
+destroy | ->A| ->A| ->A|see 7
+--------------+--------------+-----------+-------------+-------------
+set any other |see 4 |noError |noError |see 5
+column to some| | | |
+value | | see 1| ->C| ->D
+--------------+--------------+-----------+-------------+-------------
+
+ (1) goto B or C, depending on information available to the
+ agent.
+
+ (2) if other variable bindings included in the same PDU,
+ provide values for all columns which are missing but
+ required, and all columns have acceptable values, then
+ return noError and goto D.
+
+ (3) if other variable bindings included in the same PDU,
+ provide legal values for all columns which are missing but
+ required, then return noError and goto C.
+
+ (4) at the discretion of the agent, the return value may be
+ either:
+
+ inconsistentName: because the agent does not choose to
+ create such an instance when the corresponding
+ RowStatus instance does not exist, or
+
+ inconsistentValue: if the supplied value is
+ inconsistent with the state of some other MIB object's
+ value, or
+
+ noError: because the agent chooses to create the
+ instance.
+
+ If noError is returned, then the instance of the status
+ column must also be created, and the new state is B or C,
+ depending on the information available to the agent. If
+ inconsistentName or inconsistentValue is returned, the row
+ remains in state A.
+
+ (5) depending on the MIB definition for the column/table,
+ either noError or inconsistentValue may be returned.
+
+ (6) the return value can indicate one of the following
+ errors:
+
+ wrongValue: because the agent does not support
+ notInService (e.g., an agent which does not support
+ createAndWait), or
+
+ inconsistentValue: because the agent is unable to take
+ the row out of service at this time, perhaps because it
+ is in use and cannot be de-activated.
+
+ (7) the return value can indicate the following error:
+
+ inconsistentValue: because the agent is unable to
+ remove the row at this time, perhaps because it is in
+ use and cannot be de-activated.
+
+ (8) the transition to D can fail, e.g., if the values of the
+ conceptual row are inconsistent, then the error code would
+ be inconsistentValue.
+
+ NOTE: Other processing of (this and other varbinds of) the
+ set request may result in a response other than noError
+ being returned, e.g., wrongValue, noCreation, etc.
+
+ Conceptual Row Creation
+
+ There are four potential interactions when creating a
+ conceptual row: selecting an instance-identifier which is
+ not in use; creating the conceptual row; initializing any
+ objects for which the agent does not supply a default; and,
+ making the conceptual row available for use by the managed
+ device.
+
+ Interaction 1: Selecting an Instance-Identifier
+
+ The algorithm used to select an instance-identifier varies
+ for each conceptual row. In some cases, the instance-
+ identifier is semantically significant, e.g., the
+ destination address of a route, and a management station
+ selects the instance-identifier according to the semantics.
+
+ In other cases, the instance-identifier is used solely to
+ distinguish conceptual rows, and a management station
+ without specific knowledge of the conceptual row might
+ examine the instances present in order to determine an
+ unused instance-identifier. (This approach may be used, but
+ it is often highly sub-optimal; however, it is also a
+ questionable practice for a naive management station to
+ attempt conceptual row creation.)
+
+ Alternately, the MIB module which defines the conceptual row
+ might provide one or more objects which provide assistance
+ in determining an unused instance-identifier. For example,
+ if the conceptual row is indexed by an integer-value, then
+ an object having an integer-valued SYNTAX clause might be
+ defined for such a purpose, allowing a management station to
+ issue a management protocol retrieval operation. In order
+ to avoid unnecessary collisions between competing management
+ stations, `adjacent' retrievals of this object should be
+ different.
+
+ Finally, the management station could select a pseudo-random
+ number to use as the index. In the event that this index
+
+ was already in use and an inconsistentValue was returned in
+ response to the management protocol set operation, the
+ management station should simply select a new pseudo-random
+ number and retry the operation.
+
+ A MIB designer should choose between the two latter
+ algorithms based on the size of the table (and therefore the
+ efficiency of each algorithm). For tables in which a large
+ number of entries are expected, it is recommended that a MIB
+ object be defined that returns an acceptable index for
+ creation. For tables with small numbers of entries, it is
+ recommended that the latter pseudo-random index mechanism be
+ used.
+
+ Interaction 2: Creating the Conceptual Row
+
+ Once an unused instance-identifier has been selected, the
+ management station determines if it wishes to create and
+ activate the conceptual row in one transaction or in a
+ negotiated set of interactions.
+
+ Interaction 2a: Creating and Activating the Conceptual Row
+
+ The management station must first determine the column
+ requirements, i.e., it must determine those columns for
+ which it must or must not provide values. Depending on the
+ complexity of the table and the management station's
+ knowledge of the agent's capabilities, this determination
+ can be made locally by the management station. Alternately,
+ the management station issues a management protocol get
+ operation to examine all columns in the conceptual row that
+ it wishes to create. In response, for each column, there
+ are three possible outcomes:
+
+ - a value is returned, indicating that some other
+ management station has already created this conceptual
+ row. We return to interaction 1.
+
+ - the exception `noSuchInstance' is returned,
+ indicating that the agent implements the object-type
+ associated with this column, and that this column in at
+ least one conceptual row would be accessible in the MIB
+ view used by the retrieval were it to exist. For those
+ columns to which the agent provides read-create access,
+ the `noSuchInstance' exception tells the management
+ station that it should supply a value for this column
+ when the conceptual row is to be created.
+
+ - the exception `noSuchObject' is returned, indicating
+ that the agent does not implement the object-type
+ associated with this column or that there is no
+ conceptual row for which this column would be
+ accessible in the MIB view used by the retrieval. As
+ such, the management station can not issue any
+ management protocol set operations to create an
+ instance of this column.
+
+ Once the column requirements have been determined, a
+ management protocol set operation is accordingly issued.
+ This operation also sets the new instance of the status
+ column to `createAndGo'.
+
+ When the agent processes the set operation, it verifies that
+ it has sufficient information to make the conceptual row
+ available for use by the managed device. The information
+ available to the agent is provided by two sources: the
+ management protocol set operation which creates the
+ conceptual row, and, implementation-specific defaults
+ supplied by the agent (note that an agent must provide
+ implementation-specific defaults for at least those objects
+ which it implements as read-only). If there is sufficient
+ information available, then the conceptual row is created, a
+ `noError' response is returned, the status column is set to
+ `active', and no further interactions are necessary (i.e.,
+ interactions 3 and 4 are skipped). If there is insufficient
+ information, then the conceptual row is not created, and the
+ set operation fails with an error of `inconsistentValue'.
+ On this error, the management station can issue a management
+ protocol retrieval operation to determine if this was
+ because it failed to specify a value for a required column,
+ or, because the selected instance of the status column
+ already existed. In the latter case, we return to
+ interaction 1. In the former case, the management station
+ can re-issue the set operation with the additional
+ information, or begin interaction 2 again using
+ `createAndWait' in order to negotiate creation of the
+ conceptual row.
+
+ NOTE WELL
+
+ Regardless of the method used to determine the column
+ requirements, it is possible that the management
+ station might deem a column necessary when, in fact,
+ the agent will not allow that particular columnar
+ instance to be created or written. In this case, the
+ management protocol set operation will fail with an
+ error such as `noCreation' or `notWritable'. In this
+ case, the management station decides whether it needs
+ to be able to set a value for that particular columnar
+ instance. If not, the management station re-issues the
+ management protocol set operation, but without setting
+ a value for that particular columnar instance;
+ otherwise, the management station aborts the row
+ creation algorithm.
+
+ Interaction 2b: Negotiating the Creation of the Conceptual
+ Row
+
+ The management station issues a management protocol set
+ operation which sets the desired instance of the status
+ column to `createAndWait'. If the agent is unwilling to
+ process a request of this sort, the set operation fails with
+ an error of `wrongValue'. (As a consequence, such an agent
+ must be prepared to accept a single management protocol set
+ operation, i.e., interaction 2a above, containing all of the
+ columns indicated by its column requirements.) Otherwise,
+ the conceptual row is created, a `noError' response is
+ returned, and the status column is immediately set to either
+ `notInService' or `notReady', depending on whether it has
+ sufficient information to (attempt to) make the conceptual
+ row available for use by the managed device. If there is
+ sufficient information available, then the status column is
+ set to `notInService'; otherwise, if there is insufficient
+ information, then the status column is set to `notReady'.
+ Regardless, we proceed to interaction 3.
+
+ Interaction 3: Initializing non-defaulted Objects
+
+ The management station must now determine the column
+ requirements. It issues a management protocol get operation
+ to examine all columns in the created conceptual row. In
+ the response, for each column, there are three possible
+ outcomes:
+
+ - a value is returned, indicating that the agent
+ implements the object-type associated with this column
+ and had sufficient information to provide a value. For
+ those columns to which the agent provides read-create
+ access (and for which the agent allows their values to
+ be changed after their creation), a value return tells
+ the management station that it may issue additional
+ management protocol set operations, if it desires, in
+ order to change the value associated with this column.
+
+ - the exception `noSuchInstance' is returned,
+ indicating that the agent implements the object-type
+ associated with this column, and that this column in at
+ least one conceptual row would be accessible in the MIB
+ view used by the retrieval were it to exist. However,
+ the agent does not have sufficient information to
+ provide a value, and until a value is provided, the
+ conceptual row may not be made available for use by the
+ managed device. For those columns to which the agent
+ provides read-create access, the `noSuchInstance'
+ exception tells the management station that it must
+ issue additional management protocol set operations, in
+ order to provide a value associated with this column.
+
+ - the exception `noSuchObject' is returned, indicating
+ that the agent does not implement the object-type
+ associated with this column or that there is no
+ conceptual row for which this column would be
+ accessible in the MIB view used by the retrieval. As
+ such, the management station can not issue any
+ management protocol set operations to create an
+ instance of this column.
+
+ If the value associated with the status column is
+ `notReady', then the management station must first deal with
+ all `noSuchInstance' columns, if any. Having done so, the
+ value of the status column becomes `notInService', and we
+ proceed to interaction 4.
+
+ Interaction 4: Making the Conceptual Row Available
+
+ Once the management station is satisfied with the values
+ associated with the columns of the conceptual row, it issues
+ a management protocol set operation to set the status column
+ to `active'. If the agent has sufficient information to
+ make the conceptual row available for use by the managed
+ device, the management protocol set operation succeeds (a
+ `noError' response is returned). Otherwise, the management
+ protocol set operation fails with an error of
+ `inconsistentValue'.
+
+ NOTE WELL
+
+ A conceptual row having a status column with value
+ `notInService' or `notReady' is unavailable to the
+ managed device. As such, it is possible for the
+ managed device to create its own instances during the
+ time between the management protocol set operation
+ which sets the status column to `createAndWait' and the
+ management protocol set operation which sets the status
+ column to `active'. In this case, when the management
+ protocol set operation is issued to set the status
+ column to `active', the values held in the agent
+ supersede those used by the managed device.
+
+ If the management station is prevented from setting the
+ status column to `active' (e.g., due to management station
+ or network failure) the conceptual row will be left in the
+ `notInService' or `notReady' state, consuming resources
+ indefinitely. The agent must detect conceptual rows that
+ have been in either state for an abnormally long period of
+ time and remove them. It is the responsibility of the
+ DESCRIPTION clause of the status column to indicate what an
+ abnormally long period of time would be. This period of
+ time should be long enough to allow for human response time
+ (including `think time') between the creation of the
+ conceptual row and the setting of the status to `active'.
+ In the absence of such information in the DESCRIPTION
+ clause, it is suggested that this period be approximately 5
+ minutes in length. This removal action applies not only to
+ newly-created rows, but also to previously active rows which
+ are set to, and left in, the notInService state for a
+ prolonged period exceeding that which is considered normal
+ for such a conceptual row.
+
+ Conceptual Row Suspension
+
+ When a conceptual row is `active', the management station
+ may issue a management protocol set operation which sets the
+ instance of the status column to `notInService'. If the
+ agent is unwilling to do so, the set operation fails with an
+ error of `wrongValue' or `inconsistentValue'. Otherwise,
+ the conceptual row is taken out of service, and a `noError'
+ response is returned. It is the responsibility of the
+ DESCRIPTION clause of the status column to indicate under
+ what circumstances the status column should be taken out of
+ service (e.g., in order for the value of some other column
+ of the same conceptual row to be modified).
+
+ Conceptual Row Deletion
+
+ For deletion of conceptual rows, a management protocol set
+ operation is issued which sets the instance of the status
+ column to `destroy'. This request may be made regardless of
+ the current value of the status column (e.g., it is possible
+ to delete conceptual rows which are either `notReady',
+ `notInService' or `active'.) If the operation succeeds,
+ then all instances associated with the conceptual row are
+ immediately removed."
+ SYNTAX INTEGER {
+ -- the following two values are states:
+ -- these values may be read or written
+ active(1),
+ notInService(2),
+ -- the following value is a state:
+ -- this value may be read, but not written
+ notReady(3),
+ -- the following three values are
+ -- actions: these values may be written,
+ -- but are never read
+ createAndGo(4),
+ createAndWait(5),
+ destroy(6)
+ }
+
+TimeStamp ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The value of the sysUpTime object at which a specific
+ occurrence happened. The specific occurrence must be
+
+ defined in the description of any object defined using this
+ type.
+
+ If sysUpTime is reset to zero as a result of a re-
+ initialization of the network management (sub)system, then
+ the values of all TimeStamp objects are also reset.
+ However, after approximately 497 days without a re-
+ initialization, the sysUpTime object will reach 2^^32-1 and
+ then increment around to zero; in this case, existing values
+ of TimeStamp objects do not change. This can lead to
+ ambiguities in the value of TimeStamp objects."
+ SYNTAX TimeTicks
+
+TimeInterval ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A period of time, measured in units of 0.01 seconds."
+ SYNTAX INTEGER (0..2147483647)
+
+DateAndTime ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d"
+ STATUS current
+ DESCRIPTION
+ "A date-time specification.
+
+ field octets contents range
+ ----- ------ -------- -----
+ 1 1-2 year* 0..65536
+ 2 3 month 1..12
+ 3 4 day 1..31
+ 4 5 hour 0..23
+ 5 6 minutes 0..59
+ 6 7 seconds 0..60
+ (use 60 for leap-second)
+ 7 8 deci-seconds 0..9
+ 8 9 direction from UTC '+' / '-'
+ 9 10 hours from UTC* 0..13
+ 10 11 minutes from UTC 0..59
+
+ * Notes:
+ - the value of year is in network-byte order
+ - daylight saving time in New Zealand is +13
+
+ For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be
+ displayed as:
+
+ 1992-5-26,13:30:15.0,-4:0
+
+ Note that if only local time is known, then timezone
+ information (fields 8-10) is not present."
+ SYNTAX OCTET STRING (SIZE (8 | 11))
+
+StorageType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Describes the memory realization of a conceptual row. A
+ row which is volatile(2) is lost upon reboot. A row which
+ is either nonVolatile(3), permanent(4) or readOnly(5), is
+ backed up by stable storage. A row which is permanent(4)
+ can be changed but not deleted. A row which is readOnly(5)
+ cannot be changed nor deleted.
+
+ If the value of an object with this syntax is either
+ permanent(4) or readOnly(5), it cannot be written.
+ Conversely, if the value is either other(1), volatile(2) or
+ nonVolatile(3), it cannot be modified to be permanent(4) or
+ readOnly(5). (All illegal modifications result in a
+ 'wrongValue' error.)
+
+ Every usage of this textual convention is required to
+ specify the columnar objects which a permanent(4) row must
+ at a minimum allow to be writable."
+ SYNTAX INTEGER {
+ other(1), -- eh?
+ volatile(2), -- e.g., in RAM
+ nonVolatile(3), -- e.g., in NVRAM
+ permanent(4), -- e.g., partially in ROM
+ readOnly(5) -- e.g., completely in ROM
+ }
+
+TDomain ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a kind of transport service.
+
+ Some possible values, such as snmpUDPDomain, are defined in
+ the SNMPv2-TM MIB module. Other possible values are defined
+ in other MIB modules."
+ REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
+ SYNTAX OBJECT IDENTIFIER
+
+TAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a transport service address.
+
+ A TAddress value is always interpreted within the context of a
+ TDomain value. Thus, each definition of a TDomain value must
+ be accompanied by a definition of a textual convention for use
+ with that TDomain. Some possible textual conventions, such as
+ SnmpUDPAddress for snmpUDPDomain, are defined in the SNMPv2-TM
+ MIB module. Other possible textual conventions are defined in
+ other MIB modules."
+ REFERENCE "The SNMPv2-TM MIB module is defined in RFC 1906."
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+END
diff --git a/mibs/SNMPv2-TM.txt b/mibs/SNMPv2-TM.txt
new file mode 100644
index 00000000..949f99c7
--- /dev/null
+++ b/mibs/SNMPv2-TM.txt
@@ -0,0 +1,176 @@
+SNMPv2-TM DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY,
+ snmpModules, snmpDomains, snmpProxys
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC;
+
+snmpv2tm MODULE-IDENTITY
+ LAST-UPDATED "200210160000Z"
+ ORGANIZATION "IETF SNMPv3 Working Group"
+ CONTACT-INFO
+ "WG-EMail: snmpv3@lists.tislabs.com
+ Subscribe: snmpv3-request@lists.tislabs.com
+
+ Co-Chair: Russ Mundy
+ Network Associates Laboratories
+ postal: 15204 Omega Drive, Suite 300
+ Rockville, MD 20850-4601
+ USA
+ EMail: mundy@tislabs.com
+ phone: +1 301 947-7107
+
+ Co-Chair: David Harrington
+ Enterasys Networks
+ postal: 35 Industrial Way
+ P. O. Box 5005
+ Rochester, NH 03866-5005
+ USA
+ EMail: dbh@enterasys.com
+ phone: +1 603 337-2614
+
+ Editor: Randy Presuhn
+ BMC Software, Inc.
+ postal: 2141 North First Street
+ San Jose, CA 95131
+ USA
+ EMail: randy_presuhn@bmc.com
+ phone: +1 408 546-1006"
+ DESCRIPTION
+ "The MIB module for SNMP transport mappings.
+
+ Copyright (C) The Internet Society (2002). This
+ version of this MIB module is part of RFC 3417;
+ see the RFC itself for full legal notices.
+ "
+ REVISION "200210160000Z"
+ DESCRIPTION
+ "Clarifications, published as RFC 3417."
+ REVISION "199601010000Z"
+ DESCRIPTION
+ "Clarifications, published as RFC 1906."
+ REVISION "199304010000Z"
+ DESCRIPTION
+ "The initial version, published as RFC 1449."
+ ::= { snmpModules 19 }
+
+-- SNMP over UDP over IPv4
+
+snmpUDPDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over UDP over IPv4 transport domain.
+ The corresponding transport address is of type
+ SnmpUDPAddress."
+ ::= { snmpDomains 1 }
+
+SnmpUDPAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d/2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a UDP over IPv4 address:
+
+ octets contents encoding
+ 1-4 IP-address network-byte order
+ 5-6 UDP-port network-byte order
+ "
+ SYNTAX OCTET STRING (SIZE (6))
+
+-- SNMP over OSI
+
+snmpCLNSDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over CLNS transport domain.
+ The corresponding transport address is of type
+ SnmpOSIAddress."
+ ::= { snmpDomains 2 }
+
+snmpCONSDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over CONS transport domain.
+ The corresponding transport address is of type
+ SnmpOSIAddress."
+ ::= { snmpDomains 3 }
+
+SnmpOSIAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "*1x:/1x:"
+ STATUS current
+ DESCRIPTION
+ "Represents an OSI transport-address:
+
+ octets contents encoding
+ 1 length of NSAP 'n' as an unsigned-integer
+ (either 0 or from 3 to 20)
+ 2..(n+1) NSAP concrete binary representation
+ (n+2)..m TSEL string of (up to 64) octets
+ "
+ SYNTAX OCTET STRING (SIZE (1 | 4..85))
+
+-- SNMP over DDP
+
+snmpDDPDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over DDP transport domain. The corresponding
+ transport address is of type SnmpNBPAddress."
+ ::= { snmpDomains 4 }
+
+SnmpNBPAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Represents an NBP name:
+
+ octets contents encoding
+ 1 length of object 'n' as an unsigned integer
+ 2..(n+1) object string of (up to 32) octets
+ n+2 length of type 'p' as an unsigned integer
+ (n+3)..(n+2+p) type string of (up to 32) octets
+ n+3+p length of zone 'q' as an unsigned integer
+ (n+4+p)..(n+3+p+q) zone string of (up to 32) octets
+
+ For comparison purposes, strings are
+ case-insensitive. All strings may contain any octet
+ other than 255 (hex ff)."
+ SYNTAX OCTET STRING (SIZE (3..99))
+
+-- SNMP over IPX
+
+snmpIPXDomain OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SNMP over IPX transport domain. The corresponding
+ transport address is of type SnmpIPXAddress."
+ ::= { snmpDomains 5 }
+
+SnmpIPXAddress ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "4x.1x:1x:1x:1x:1x:1x.2d"
+ STATUS current
+ DESCRIPTION
+ "Represents an IPX address:
+
+ octets contents encoding
+ 1-4 network-number network-byte order
+ 5-10 physical-address network-byte order
+ 11-12 socket-number network-byte order
+ "
+ SYNTAX OCTET STRING (SIZE (12))
+
+-- for proxy to SNMPv1 (RFC 1157)
+
+rfc1157Proxy OBJECT IDENTIFIER ::= { snmpProxys 1 }
+
+rfc1157Domain OBJECT-IDENTITY
+ STATUS deprecated
+ DESCRIPTION
+ "The transport domain for SNMPv1 over UDP over IPv4.
+ The corresponding transport address is of type
+ SnmpUDPAddress."
+ ::= { rfc1157Proxy 1 }
+
+-- ::= { rfc1157Proxy 2 } this OID is obsolete
+
+END
diff --git a/mibs/SOURCE-ROUTING-MIB.txt b/mibs/SOURCE-ROUTING-MIB.txt
new file mode 100644
index 00000000..988b1b0e
--- /dev/null
+++ b/mibs/SOURCE-ROUTING-MIB.txt
@@ -0,0 +1,452 @@
+SOURCE-ROUTING-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ Counter, Gauge
+ FROM RFC1155-SMI
+ dot1dBridge, dot1dSr
+ FROM BRIDGE-MIB
+ OBJECT-TYPE
+ FROM RFC-1212;
+
+-- groups in the SR MIB
+
+-- dot1dSr is imported from the Bridge MIB
+
+dot1dPortPair OBJECT IDENTIFIER ::= { dot1dBridge 10 }
+
+-- the dot1dSr group
+
+-- this group is implemented by those bridges that
+-- support the source route bridging mode, including Source
+-- Routing and SRT bridges.
+
+dot1dSrPortTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dSrPortEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table that contains information about every
+ port that is associated with this source route
+ bridge."
+ ::= { dot1dSr 1 }
+
+dot1dSrPortEntry OBJECT-TYPE
+ SYNTAX Dot1dSrPortEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of information for each port of a source
+ route bridge."
+ INDEX { dot1dSrPort }
+
+ ::= { dot1dSrPortTable 1 }
+
+Dot1dSrPortEntry ::=
+ SEQUENCE {
+ dot1dSrPort
+ INTEGER,
+ dot1dSrPortHopCount
+ INTEGER,
+ dot1dSrPortLocalSegment
+ INTEGER,
+ dot1dSrPortBridgeNum
+ INTEGER,
+ dot1dSrPortTargetSegment
+ INTEGER,
+ dot1dSrPortLargestFrame
+ INTEGER,
+ dot1dSrPortSTESpanMode
+ INTEGER,
+ dot1dSrPortSpecInFrames
+ Counter,
+ dot1dSrPortSpecOutFrames
+ Counter,
+ dot1dSrPortApeInFrames
+ Counter,
+ dot1dSrPortApeOutFrames
+ Counter,
+ dot1dSrPortSteInFrames
+ Counter,
+ dot1dSrPortSteOutFrames
+ Counter,
+ dot1dSrPortSegmentMismatchDiscards
+ Counter,
+ dot1dSrPortDuplicateSegmentDiscards
+ Counter,
+ dot1dSrPortHopCountExceededDiscards
+ Counter,
+ dot1dSrPortDupLanIdOrTreeErrors
+ Counter,
+ dot1dSrPortLanIdMismatches
+ Counter
+ }
+
+dot1dSrPort OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The port number of the port for which this entry
+
+ contains Source Route management information."
+ ::= { dot1dSrPortEntry 1 }
+
+dot1dSrPortHopCount OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum number of routing descriptors allowed
+ in an All Paths or Spanning Tree Explorer frames."
+ ::= { dot1dSrPortEntry 2 }
+
+dot1dSrPortLocalSegment OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The segment number that uniquely identifies the
+ segment to which this port is connected. Current
+ source routing protocols limit this value to the
+ range: 0 through 4095. (The value 0 is used by
+ some management applications for special test
+ cases.) A value of 65535 signifies that no segment
+ number is assigned to this port."
+ ::= { dot1dSrPortEntry 3 }
+
+dot1dSrPortBridgeNum OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A bridge number uniquely identifies a bridge when
+ more than one bridge is used to span the same two
+ segments. Current source routing protocols limit
+ this value to the range: 0 through 15. A value of
+ 65535 signifies that no bridge number is assigned
+ to this bridge."
+ ::= { dot1dSrPortEntry 4 }
+
+dot1dSrPortTargetSegment OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The segment number that corresponds to the target
+ segment this port is considered to be connected to
+ by the bridge. Current source routing protocols
+ limit this value to the range: 0 through 4095.
+
+ (The value 0 is used by some management
+ applications for special test cases.) A value of
+ 65535 signifies that no target segment is assigned
+ to this port."
+ ::= { dot1dSrPortEntry 5 }
+
+-- It would be nice if we could use ifMtu as the size of the
+-- largest frame, but we can't because ifMtu is defined to be
+-- the size that the (inter-)network layer can use which can
+-- differ from the MAC layer (especially if several layers of
+-- encapsulation are used).
+
+dot1dSrPortLargestFrame OBJECT-TYPE
+ SYNTAX INTEGER
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The maximum size of the INFO field (LLC and
+ above) that this port can send/receive. It does
+ not include any MAC level (framing) octets. The
+ value of this object is used by this bridge to
+ determine whether a modification of the
+ LargestFrame (LF, see [14]) field of the Routing
+ Control field of the Routing Information Field is
+ necessary.
+
+ 64 valid values are defined by the IEEE 802.5M SRT
+ Addendum: 516, 635, 754, 873, 993, 1112, 1231,
+ 1350, 1470, 1542, 1615, 1688, 1761, 1833, 1906,
+ 1979, 2052, 2345, 2638, 2932, 3225, 3518, 3812,
+ 4105, 4399, 4865, 5331, 5798, 6264, 6730, 7197,
+ 7663, 8130, 8539, 8949, 9358, 9768, 10178, 10587,
+ 10997, 11407, 12199, 12992, 13785, 14578, 15370,
+ 16163, 16956, 17749, 20730, 23711, 26693, 29674,
+ 32655, 35637, 38618, 41600, 44591, 47583, 50575,
+ 53567, 56559, 59551, and 65535.
+
+ An illegal value will not be accepted by the
+ bridge."
+ ::= { dot1dSrPortEntry 6 }
+
+dot1dSrPortSTESpanMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ auto-span(1),
+ disabled(2),
+ forced(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Determines how this port behaves when presented
+ with a Spanning Tree Explorer frame. The value
+ 'disabled(2)' indicates that the port will not
+ accept or send Spanning Tree Explorer packets; any
+ STE packets received will be silently discarded.
+ The value 'forced(3)' indicates the port will
+ always accept and propagate Spanning Tree Explorer
+ frames. This allows a manually configured
+ Spanning Tree for this class of packet to be
+ configured. Note that unlike transparent
+ bridging, this is not catastrophic to the network
+ if there are loops. The value 'auto-span(1)' can
+ only be returned by a bridge that both implements
+ the Spanning Tree Protocol and has use of the
+ protocol enabled on this port. The behavior of the
+ port for Spanning Tree Explorer frames is
+ determined by the state of dot1dStpPortState. If
+ the port is in the 'forwarding' state, the frame
+ will be accepted or propagated. Otherwise, it
+ will be silently discarded."
+ ::= { dot1dSrPortEntry 7 }
+
+dot1dSrPortSpecInFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of Specifically Routed frames, also
+ referred to as Source Routed Frames, that have
+ been received from this port's segment."
+ ::= { dot1dSrPortEntry 8 }
+
+dot1dSrPortSpecOutFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of Specifically Routed frames, also
+ referred to as Source Routed Frames, that this
+ port has transmitted on its segment."
+ ::= { dot1dSrPortEntry 9 }
+
+dot1dSrPortApeInFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of All Paths Explorer frames, also
+ referred to as All Routes Explorer frames, that
+ have been received by this port from its segment."
+ ::= { dot1dSrPortEntry 10 }
+
+dot1dSrPortApeOutFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of all Paths Explorer Frames, also
+ referred to as All Routes Explorer frames, that
+ have been transmitted by this port on its
+ segment."
+ ::= { dot1dSrPortEntry 11 }
+
+dot1dSrPortSteInFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of spanning tree explorer frames that
+ have been received by this port from its segment."
+ ::= { dot1dSrPortEntry 12 }
+
+dot1dSrPortSteOutFrames OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of spanning tree explorer frames that
+ have been transmitted by this port on its
+ segment."
+ ::= { dot1dSrPortEntry 13 }
+
+dot1dSrPortSegmentMismatchDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of explorer frames that have been
+ discarded by this port because the routing
+ descriptor field contained an invalid adjacent
+ segment value."
+ ::= { dot1dSrPortEntry 14 }
+
+dot1dSrPortDuplicateSegmentDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of frames that have been discarded by
+ this port because the routing descriptor field
+ contained a duplicate segment identifier."
+ ::= { dot1dSrPortEntry 15 }
+
+dot1dSrPortHopCountExceededDiscards OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of explorer frames that have been
+ discarded by this port because the Routing
+ Information Field has exceeded the maximum route
+ descriptor length."
+ ::= { dot1dSrPortEntry 16 }
+
+dot1dSrPortDupLanIdOrTreeErrors OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of duplicate LAN IDs or Tree errors.
+ This helps in detection of problems in networks
+ containing older IBM Source Routing Bridges."
+ ::= { dot1dSrPortEntry 17 }
+
+dot1dSrPortLanIdMismatches OBJECT-TYPE
+ SYNTAX Counter
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The number of ARE and STE frames that were
+ discarded because the last LAN ID in the routing
+ information field did not equal the LAN-in ID.
+ This error can occur in implementations which do
+ only a LAN-in ID and Bridge Number check instead
+ of a LAN-in ID, Bridge Number, and LAN-out ID
+ check before they forward broadcast frames."
+ ::= { dot1dSrPortEntry 18 }
+
+-- scalar object in dot1dSr
+
+dot1dSrBridgeLfMode OBJECT-TYPE
+ SYNTAX INTEGER {
+ mode3(1),
+ mode6(2)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "Indicates whether the bridge operates using older
+ 3 bit length negotiation fields or the newer 6 bit
+ length field in its RIF."
+ ::= { dot1dSr 2 }
+
+-- The Port-Pair Database
+
+-- Implementation of this group is optional.
+
+-- This group is implemented by those bridges that support
+-- the direct multiport model of the source route bridging
+-- mode as defined in the IEEE 802.5 SRT Addendum to
+-- 802.1d.
+
+-- Bridges implementing this group may report 65535 for
+-- dot1dSrPortBridgeNumber and dot1dSrPortTargetSegment,
+-- indicating that those objects are not applicable.
+
+dot1dPortPairTableSize OBJECT-TYPE
+ SYNTAX Gauge
+ ACCESS read-only
+ STATUS mandatory
+ DESCRIPTION
+ "The total number of entries in the Bridge Port
+ Pair Database."
+ ::= { dot1dPortPair 1 }
+
+-- the Bridge Port-Pair table
+
+-- this table represents port pairs within a bridge forming
+-- a unique bridge path, as defined in the IEEE 802.5M SRT
+-- Addendum.
+
+dot1dPortPairTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Dot1dPortPairEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A table that contains information about every
+
+ port pair database entity associated with this
+ source routing bridge."
+ ::= { dot1dPortPair 2 }
+
+dot1dPortPairEntry OBJECT-TYPE
+ SYNTAX Dot1dPortPairEntry
+ ACCESS not-accessible
+ STATUS mandatory
+ DESCRIPTION
+ "A list of information for each port pair entity
+ of a bridge."
+ INDEX { dot1dPortPairLowPort, dot1dPortPairHighPort }
+ ::= { dot1dPortPairTable 1 }
+
+Dot1dPortPairEntry ::=
+ SEQUENCE {
+ dot1dPortPairLowPort
+ INTEGER,
+ dot1dPortPairHighPort
+ INTEGER,
+ dot1dPortPairBridgeNum
+ INTEGER,
+ dot1dPortPairBridgeState
+ INTEGER
+ }
+
+dot1dPortPairLowPort OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The port number of the lower numbered port for
+ which this entry contains port pair database
+ information."
+ ::= { dot1dPortPairEntry 1 }
+
+dot1dPortPairHighPort OBJECT-TYPE
+ SYNTAX INTEGER (1..65535)
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The port number of the higher numbered port for
+ which this entry contains port pair database
+ information."
+ ::= { dot1dPortPairEntry 2 }
+
+dot1dPortPairBridgeNum OBJECT-TYPE
+ SYNTAX INTEGER
+
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "A bridge number that uniquely identifies the path
+ provided by this source routing bridge between the
+ segments connected to dot1dPortPairLowPort and
+ dot1dPortPairHighPort. The purpose of bridge
+ number is to disambiguate between multiple paths
+ connecting the same two LANs."
+ ::= { dot1dPortPairEntry 3 }
+
+dot1dPortPairBridgeState OBJECT-TYPE
+ SYNTAX INTEGER {
+ enabled(1),
+ disabled(2),
+ invalid(3)
+ }
+ ACCESS read-write
+ STATUS mandatory
+ DESCRIPTION
+ "The state of dot1dPortPairBridgeNum. Writing
+ 'invalid(3)' to this object removes the
+ corresponding entry."
+ ::= { dot1dPortPairEntry 4 }
+
+END
diff --git a/mibs/TCP-MIB.txt b/mibs/TCP-MIB.txt
new file mode 100644
index 00000000..50e7f575
--- /dev/null
+++ b/mibs/TCP-MIB.txt
@@ -0,0 +1,785 @@
+TCP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32,
+ Gauge32, Counter32, Counter64, IpAddress, mib-2
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InetAddress, InetAddressType,
+ InetPortNumber FROM INET-ADDRESS-MIB;
+
+tcpMIB MODULE-IDENTITY
+ LAST-UPDATED "200502180000Z" -- 18 February 2005
+ ORGANIZATION
+ "IETF IPv6 MIB Revision Team
+ http://www.ietf.org/html.charters/ipv6-charter.html"
+ CONTACT-INFO
+ "Rajiv Raghunarayan (editor)
+
+ Cisco Systems Inc.
+ 170 West Tasman Drive
+ San Jose, CA 95134
+
+ Phone: +1 408 853 9612
+ Email: <raraghun@cisco.com>
+
+ Send comments to <ipv6@ietf.org>"
+ DESCRIPTION
+ "The MIB module for managing TCP implementations.
+
+ Copyright (C) The Internet Society (2005). This version
+ of this MIB module is a part of RFC 4022; see the RFC
+ itself for full legal notices."
+ REVISION "200502180000Z" -- 18 February 2005
+ DESCRIPTION
+ "IP version neutral revision, published as RFC 4022."
+ REVISION "9411010000Z"
+ DESCRIPTION
+ "Initial SMIv2 version, published as RFC 2012."
+ REVISION "9103310000Z"
+ DESCRIPTION
+ "The initial revision of this MIB module was part of
+ MIB-II."
+ ::= { mib-2 49 }
+
+-- the TCP base variables group
+
+tcp OBJECT IDENTIFIER ::= { mib-2 6 }
+
+-- Scalars
+
+tcpRtoAlgorithm OBJECT-TYPE
+ SYNTAX INTEGER {
+ other(1), -- none of the following
+ constant(2), -- a constant rto
+ rsre(3), -- MIL-STD-1778, Appendix B
+ vanj(4), -- Van Jacobson's algorithm
+ rfc2988(5) -- RFC 2988
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The algorithm used to determine the timeout value used for
+ retransmitting unacknowledged octets."
+ ::= { tcp 1 }
+
+tcpRtoMin OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum value permitted by a TCP implementation for
+ the retransmission timeout, measured in milliseconds.
+ More refined semantics for objects of this type depend
+ on the algorithm used to determine the retransmission
+ timeout; in particular, the IETF standard algorithm
+ rfc2988(5) provides a minimum value."
+ ::= { tcp 2 }
+
+tcpRtoMax OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ UNITS "milliseconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum value permitted by a TCP implementation for
+ the retransmission timeout, measured in milliseconds.
+ More refined semantics for objects of this type depend
+ on the algorithm used to determine the retransmission
+ timeout; in particular, the IETF standard algorithm
+ rfc2988(5) provides an upper bound (as part of an
+ adaptive backoff algorithm)."
+ ::= { tcp 3 }
+
+tcpMaxConn OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The limit on the total number of TCP connections the entity
+ can support. In entities where the maximum number of
+ connections is dynamic, this object should contain the
+ value -1."
+ ::= { tcp 4 }
+
+tcpActiveOpens OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that TCP connections have made a direct
+ transition to the SYN-SENT state from the CLOSED state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 5 }
+
+tcpPassiveOpens OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times TCP connections have made a direct
+ transition to the SYN-RCVD state from the LISTEN state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 6 }
+
+tcpAttemptFails OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that TCP connections have made a direct
+ transition to the CLOSED state from either the SYN-SENT
+ state or the SYN-RCVD state, plus the number of times that
+ TCP connections have made a direct transition to the
+ LISTEN state from the SYN-RCVD state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 7 }
+
+tcpEstabResets OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times that TCP connections have made a direct
+ transition to the CLOSED state from either the ESTABLISHED
+ state or the CLOSE-WAIT state.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 8 }
+
+tcpCurrEstab OBJECT-TYPE
+ SYNTAX Gauge32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of TCP connections for which the current state
+ is either ESTABLISHED or CLOSE-WAIT."
+ ::= { tcp 9 }
+
+tcpInSegs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments received, including those
+ received in error. This count includes segments received
+ on currently established connections.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 10 }
+
+tcpOutSegs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments sent, including those on
+ current connections but excluding those containing only
+ retransmitted octets.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 11 }
+
+tcpRetransSegs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments retransmitted; that is, the
+ number of TCP segments transmitted containing one or more
+ previously transmitted octets.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 12 }
+
+tcpInErrs OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments received in error (e.g., bad
+ TCP checksums).
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 14 }
+
+tcpOutRsts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of TCP segments sent containing the RST flag.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 15 }
+
+-- { tcp 16 } was used to represent the ipv6TcpConnTable in RFC 2452,
+-- which has since been obsoleted. It MUST not be used.
+
+tcpHCInSegs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments received, including those
+ received in error. This count includes segments received
+
+ on currently established connections. This object is
+ the 64-bit equivalent of tcpInSegs.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 17 }
+
+tcpHCOutSegs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of segments sent, including those on
+ current connections but excluding those containing only
+ retransmitted octets. This object is the 64-bit
+ equivalent of tcpOutSegs.
+
+ Discontinuities in the value of this counter are
+ indicated via discontinuities in the value of sysUpTime."
+ ::= { tcp 18 }
+
+-- The TCP Connection table
+
+tcpConnectionTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information about existing TCP
+ connections. Note that unlike earlier TCP MIBs, there
+ is a separate table for connections in the LISTEN state."
+ ::= { tcp 19 }
+
+tcpConnectionEntry OBJECT-TYPE
+ SYNTAX TcpConnectionEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row of the tcpConnectionTable containing
+ information about a particular current TCP connection.
+ Each row of this table is transient in that it ceases to
+ exist when (or soon after) the connection makes the
+ transition to the CLOSED state."
+ INDEX { tcpConnectionLocalAddressType,
+ tcpConnectionLocalAddress,
+ tcpConnectionLocalPort,
+ tcpConnectionRemAddressType,
+ tcpConnectionRemAddress,
+ tcpConnectionRemPort }
+ ::= { tcpConnectionTable 1 }
+
+TcpConnectionEntry ::= SEQUENCE {
+ tcpConnectionLocalAddressType InetAddressType,
+ tcpConnectionLocalAddress InetAddress,
+ tcpConnectionLocalPort InetPortNumber,
+ tcpConnectionRemAddressType InetAddressType,
+ tcpConnectionRemAddress InetAddress,
+ tcpConnectionRemPort InetPortNumber,
+ tcpConnectionState INTEGER,
+ tcpConnectionProcess Unsigned32
+ }
+
+tcpConnectionLocalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of tcpConnectionLocalAddress."
+ ::= { tcpConnectionEntry 1 }
+
+tcpConnectionLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IP address for this TCP connection. The type
+ of this address is determined by the value of
+ tcpConnectionLocalAddressType.
+
+ As this object is used in the index for the
+ tcpConnectionTable, implementors should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; otherwise the information
+ cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { tcpConnectionEntry 2 }
+
+tcpConnectionLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpConnectionEntry 3 }
+
+tcpConnectionRemAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of tcpConnectionRemAddress."
+ ::= { tcpConnectionEntry 4 }
+
+tcpConnectionRemAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote IP address for this TCP connection. The type
+ of this address is determined by the value of
+ tcpConnectionRemAddressType.
+
+ As this object is used in the index for the
+ tcpConnectionTable, implementors should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; otherwise the information
+ cannot be accessed by using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { tcpConnectionEntry 5 }
+
+tcpConnectionRemPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { tcpConnectionEntry 6 }
+
+tcpConnectionState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12)
+ }
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The value listen(2) is included only for parallelism to the
+ old tcpConnTable and should not be used. A connection in
+ LISTEN state should be present in the tcpListenerTable.
+
+ The only value that may be set by a management station is
+ deleteTCB(12). Accordingly, it is appropriate for an agent
+ to return a `badValue' response if a management station
+ attempts to set this object to any other value.
+
+ If a management station sets this object to the value
+ deleteTCB(12), then the TCB (as defined in [RFC793]) of
+ the corresponding connection on the managed node is
+ deleted, resulting in immediate termination of the
+ connection.
+
+ As an implementation-specific option, a RST segment may be
+ sent from the managed node to the other TCP endpoint (note,
+ however, that RST segments are not sent reliably)."
+ ::= { tcpConnectionEntry 7 }
+
+tcpConnectionProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system's process ID for the process associated with
+ this connection, or zero if there is no such process. This
+ value is expected to be the same as HOST-RESOURCES-MIB::
+ hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some
+ row in the appropriate tables."
+ ::= { tcpConnectionEntry 8 }
+
+-- The TCP Listener table
+
+tcpListenerTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpListenerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information about TCP listeners. A
+ listening application can be represented in three
+ possible ways:
+
+ 1. An application that is willing to accept both IPv4 and
+ IPv6 datagrams is represented by
+
+ a tcpListenerLocalAddressType of unknown (0) and
+ a tcpListenerLocalAddress of ''h (a zero-length
+ octet-string).
+
+ 2. An application that is willing to accept only IPv4 or
+ IPv6 datagrams is represented by a
+ tcpListenerLocalAddressType of the appropriate address
+ type and a tcpListenerLocalAddress of '0.0.0.0' or '::'
+ respectively.
+
+ 3. An application that is listening for data destined
+ only to a specific IP address, but from any remote
+ system, is represented by a tcpListenerLocalAddressType
+ of an appropriate address type, with
+ tcpListenerLocalAddress as the specific local address.
+
+ NOTE: The address type in this table represents the
+ address type used for the communication, irrespective
+ of the higher-layer abstraction. For example, an
+ application using IPv6 'sockets' to communicate via
+ IPv4 between ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would
+ use InetAddressType ipv4(1))."
+ ::= { tcp 20 }
+
+tcpListenerEntry OBJECT-TYPE
+ SYNTAX TcpListenerEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A conceptual row of the tcpListenerTable containing
+ information about a particular TCP listener."
+ INDEX { tcpListenerLocalAddressType,
+ tcpListenerLocalAddress,
+ tcpListenerLocalPort }
+ ::= { tcpListenerTable 1 }
+
+TcpListenerEntry ::= SEQUENCE {
+ tcpListenerLocalAddressType InetAddressType,
+ tcpListenerLocalAddress InetAddress,
+ tcpListenerLocalPort InetPortNumber,
+ tcpListenerProcess Unsigned32
+ }
+
+tcpListenerLocalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of tcpListenerLocalAddress. The value
+ should be unknown (0) if connection initiations to all
+ local IP addresses are accepted."
+ ::= { tcpListenerEntry 1 }
+
+tcpListenerLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IP address for this TCP connection.
+
+ The value of this object can be represented in three
+ possible ways, depending on the characteristics of the
+ listening application:
+
+ 1. For an application willing to accept both IPv4 and
+ IPv6 datagrams, the value of this object must be
+ ''h (a zero-length octet-string), with the value
+ of the corresponding tcpListenerLocalAddressType
+ object being unknown (0).
+
+ 2. For an application willing to accept only IPv4 or
+ IPv6 datagrams, the value of this object must be
+ '0.0.0.0' or '::' respectively, with
+ tcpListenerLocalAddressType representing the
+ appropriate address type.
+
+ 3. For an application which is listening for data
+ destined only to a specific IP address, the value
+ of this object is the specific local address, with
+ tcpListenerLocalAddressType representing the
+ appropriate address type.
+
+ As this object is used in the index for the
+ tcpListenerTable, implementors should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; otherwise the information
+ cannot be accessed, using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { tcpListenerEntry 2 }
+
+tcpListenerLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpListenerEntry 3 }
+
+tcpListenerProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system's process ID for the process associated with
+ this listener, or zero if there is no such process. This
+ value is expected to be the same as HOST-RESOURCES-MIB::
+ hrSWRunIndex or SYSAPPL-MIB::sysApplElmtRunIndex for some
+ row in the appropriate tables."
+ ::= { tcpListenerEntry 4 }
+
+-- The deprecated TCP Connection table
+
+tcpConnTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A table containing information about existing IPv4-specific
+ TCP connections or listeners. This table has been
+ deprecated in favor of the version neutral
+ tcpConnectionTable."
+ ::= { tcp 13 }
+
+tcpConnEntry OBJECT-TYPE
+ SYNTAX TcpConnEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A conceptual row of the tcpConnTable containing information
+ about a particular current IPv4 TCP connection. Each row
+ of this table is transient in that it ceases to exist when
+ (or soon after) the connection makes the transition to the
+ CLOSED state."
+ INDEX { tcpConnLocalAddress,
+ tcpConnLocalPort,
+ tcpConnRemAddress,
+ tcpConnRemPort }
+ ::= { tcpConnTable 1 }
+
+TcpConnEntry ::= SEQUENCE {
+ tcpConnState INTEGER,
+ tcpConnLocalAddress IpAddress,
+ tcpConnLocalPort Integer32,
+ tcpConnRemAddress IpAddress,
+ tcpConnRemPort Integer32
+
+ }
+
+tcpConnState OBJECT-TYPE
+ SYNTAX INTEGER {
+ closed(1),
+ listen(2),
+ synSent(3),
+ synReceived(4),
+ established(5),
+ finWait1(6),
+ finWait2(7),
+ closeWait(8),
+ lastAck(9),
+ closing(10),
+ timeWait(11),
+ deleteTCB(12)
+ }
+ MAX-ACCESS read-write
+ STATUS deprecated
+ DESCRIPTION
+ "The state of this TCP connection.
+
+ The only value that may be set by a management station is
+ deleteTCB(12). Accordingly, it is appropriate for an agent
+ to return a `badValue' response if a management station
+ attempts to set this object to any other value.
+
+ If a management station sets this object to the value
+ deleteTCB(12), then the TCB (as defined in [RFC793]) of
+ the corresponding connection on the managed node is
+ deleted, resulting in immediate termination of the
+ connection.
+
+ As an implementation-specific option, a RST segment may be
+ sent from the managed node to the other TCP endpoint (note,
+ however, that RST segments are not sent reliably)."
+ ::= { tcpConnEntry 1 }
+
+tcpConnLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local IP address for this TCP connection. In the case
+ of a connection in the listen state willing to
+ accept connections for any IP interface associated with the
+ node, the value 0.0.0.0 is used."
+ ::= { tcpConnEntry 2 }
+
+tcpConnLocalPort OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local port number for this TCP connection."
+ ::= { tcpConnEntry 3 }
+
+tcpConnRemAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The remote IP address for this TCP connection."
+ ::= { tcpConnEntry 4 }
+
+tcpConnRemPort OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The remote port number for this TCP connection."
+ ::= { tcpConnEntry 5 }
+
+-- conformance information
+
+tcpMIBConformance OBJECT IDENTIFIER ::= { tcpMIB 2 }
+
+tcpMIBCompliances OBJECT IDENTIFIER ::= { tcpMIBConformance 1 }
+tcpMIBGroups OBJECT IDENTIFIER ::= { tcpMIBConformance 2 }
+
+-- compliance statements
+
+tcpMIBCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for systems that implement TCP.
+
+ A number of INDEX objects cannot be
+ represented in the form of OBJECT clauses in SMIv2 but
+ have the following compliance requirements,
+ expressed in OBJECT clause form in this description
+ clause:
+
+ -- OBJECT tcpConnectionLocalAddressType
+ -- SYNTAX InetAddressType { ipv4(1), ipv6(2) }
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4
+
+ -- and IPv6 address types.
+ --
+ -- OBJECT tcpConnectionRemAddressType
+ -- SYNTAX InetAddressType { ipv4(1), ipv6(2) }
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4
+ -- and IPv6 address types.
+ --
+ -- OBJECT tcpListenerLocalAddressType
+ -- SYNTAX InetAddressType { unknown(0), ipv4(1),
+ -- ipv6(2) }
+ -- DESCRIPTION
+ -- This MIB requires support for only global IPv4
+ -- and IPv6 address types. The type unknown also
+ -- needs to be supported to identify a special
+ -- case in the listener table: a listen using
+ -- both IPv4 and IPv6 addresses on the device.
+ --
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { tcpBaseGroup, tcpConnectionGroup,
+ tcpListenerGroup }
+ GROUP tcpHCGroup
+ DESCRIPTION
+ "This group is mandatory for systems that are capable
+ of receiving or transmitting more than 1 million TCP
+ segments per second. 1 million segments per second will
+ cause a Counter32 to wrap in just over an hour."
+ OBJECT tcpConnectionState
+ SYNTAX INTEGER { closed(1), listen(2), synSent(3),
+ synReceived(4), established(5),
+ finWait1(6), finWait2(7), closeWait(8),
+ lastAck(9), closing(10), timeWait(11) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, nor is support for the value
+ deleteTCB (12)."
+ ::= { tcpMIBCompliances 2 }
+
+tcpMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for IPv4-only systems that
+ implement TCP. In order to be IP version independent, this
+ compliance statement is deprecated in favor of
+ tcpMIBCompliance2. However, agents are still encouraged
+ to implement these objects in order to interoperate with
+ the deployed base of managers."
+
+ MODULE -- this module
+ MANDATORY-GROUPS { tcpGroup }
+ OBJECT tcpConnState
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { tcpMIBCompliances 1 }
+
+-- units of conformance
+
+tcpGroup OBJECT-GROUP
+ OBJECTS { tcpRtoAlgorithm, tcpRtoMin, tcpRtoMax,
+ tcpMaxConn, tcpActiveOpens,
+ tcpPassiveOpens, tcpAttemptFails,
+ tcpEstabResets, tcpCurrEstab, tcpInSegs,
+ tcpOutSegs, tcpRetransSegs, tcpConnState,
+ tcpConnLocalAddress, tcpConnLocalPort,
+ tcpConnRemAddress, tcpConnRemPort,
+ tcpInErrs, tcpOutRsts }
+ STATUS deprecated
+ DESCRIPTION
+ "The tcp group of objects providing for management of TCP
+ entities."
+ ::= { tcpMIBGroups 1 }
+
+tcpBaseGroup OBJECT-GROUP
+ OBJECTS { tcpRtoAlgorithm, tcpRtoMin, tcpRtoMax,
+ tcpMaxConn, tcpActiveOpens,
+ tcpPassiveOpens, tcpAttemptFails,
+ tcpEstabResets, tcpCurrEstab, tcpInSegs,
+ tcpOutSegs, tcpRetransSegs,
+ tcpInErrs, tcpOutRsts }
+ STATUS current
+ DESCRIPTION
+ "The group of counters common to TCP entities."
+ ::= { tcpMIBGroups 2 }
+
+tcpConnectionGroup OBJECT-GROUP
+ OBJECTS { tcpConnectionState, tcpConnectionProcess }
+ STATUS current
+ DESCRIPTION
+ "The group provides general information about TCP
+ connections."
+ ::= { tcpMIBGroups 3 }
+
+tcpListenerGroup OBJECT-GROUP
+ OBJECTS { tcpListenerProcess }
+ STATUS current
+ DESCRIPTION
+ "This group has objects providing general information about
+ TCP listeners."
+ ::= { tcpMIBGroups 4 }
+
+tcpHCGroup OBJECT-GROUP
+ OBJECTS { tcpHCInSegs, tcpHCOutSegs }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for counters of high speed
+ TCP implementations."
+ ::= { tcpMIBGroups 5 }
+
+END
diff --git a/mibs/TRANSPORT-ADDRESS-MIB.txt b/mibs/TRANSPORT-ADDRESS-MIB.txt
new file mode 100644
index 00000000..227886e7
--- /dev/null
+++ b/mibs/TRANSPORT-ADDRESS-MIB.txt
@@ -0,0 +1,421 @@
+TRANSPORT-ADDRESS-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-IDENTITY, mib-2 FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
+
+transportAddressMIB MODULE-IDENTITY
+ LAST-UPDATED "200211010000Z"
+ ORGANIZATION
+ "IETF Operations and Management Area"
+ CONTACT-INFO
+ "Juergen Schoenwaelder (Editor)
+ TU Braunschweig
+ Bueltenweg 74/75
+ 38106 Braunschweig, Germany
+
+ Phone: +49 531 391-3289
+ EMail: schoenw@ibr.cs.tu-bs.de
+
+ Send comments to <mibs@ops.ietf.org>."
+ DESCRIPTION
+ "This MIB module provides commonly used transport
+ address definitions.
+
+ Copyright (C) The Internet Society (2002). This version of
+ this MIB module is part of RFC 3419; see the RFC itself for
+ full legal notices."
+
+ -- Revision log
+
+ REVISION "200211010000Z"
+ DESCRIPTION
+ "Initial version, published as RFC 3419."
+ ::= { mib-2 100 }
+
+transportDomains OBJECT IDENTIFIER ::= { transportAddressMIB 1 }
+
+transportDomainUdpIpv4 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4 for
+ global IPv4 addresses."
+ ::= { transportDomains 1 }
+
+transportDomainUdpIpv6 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6 for
+ global IPv6 addresses."
+ ::= { transportDomains 2 }
+
+transportDomainUdpIpv4z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4z for
+ scoped IPv4 addresses with a zone index."
+ ::= { transportDomains 3 }
+
+transportDomainUdpIpv6z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6z for
+ scoped IPv6 addresses with a zone index."
+ ::= { transportDomains 4 }
+
+transportDomainTcpIpv4 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4 for
+ global IPv4 addresses."
+ ::= { transportDomains 5 }
+
+transportDomainTcpIpv6 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6 for
+ global IPv6 addresses."
+ ::= { transportDomains 6 }
+
+transportDomainTcpIpv4z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4z for
+ scoped IPv4 addresses with a zone index."
+ ::= { transportDomains 7 }
+
+transportDomainTcpIpv6z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6z for
+ scoped IPv6 addresses with a zone index."
+ ::= { transportDomains 8 }
+
+transportDomainSctpIpv4 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4 for
+ global IPv4 addresses. This transport domain usually
+ represents the primary address on multihomed SCTP
+ endpoints."
+ ::= { transportDomains 9 }
+
+transportDomainSctpIpv6 OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6 for
+ global IPv6 addresses. This transport domain usually
+ represents the primary address on multihomed SCTP
+ endpoints."
+ ::= { transportDomains 10 }
+
+transportDomainSctpIpv4z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv4 transport domain. The corresponding
+ transport address is of type TransportAddressIPv4z for
+ scoped IPv4 addresses with a zone index. This transport
+ domain usually represents the primary address on
+ multihomed SCTP endpoints."
+ ::= { transportDomains 11 }
+
+transportDomainSctpIpv6z OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP over IPv6 transport domain. The corresponding
+ transport address is of type TransportAddressIPv6z for
+ scoped IPv6 addresses with a zone index. This transport
+ domain usually represents the primary address on
+ multihomed SCTP endpoints."
+ ::= { transportDomains 12 }
+
+transportDomainLocal OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The Posix Local IPC transport domain. The corresponding
+ transport address is of type TransportAddressLocal.
+
+ The Posix Local IPC transport domain incorporates the
+ well-known UNIX domain sockets."
+ ::= { transportDomains 13 }
+
+transportDomainUdpDns OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The UDP transport domain using fully qualified domain
+ names. The corresponding transport address is of type
+ TransportAddressDns."
+ ::= { transportDomains 14 }
+
+transportDomainTcpDns OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The TCP transport domain using fully qualified domain
+ names. The corresponding transport address is of type
+ TransportAddressDns."
+ ::= { transportDomains 15 }
+
+transportDomainSctpDns OBJECT-IDENTITY
+ STATUS current
+ DESCRIPTION
+ "The SCTP transport domain using fully qualified domain
+ names. The corresponding transport address is of type
+ TransportAddressDns."
+ ::= { transportDomains 16 }
+
+TransportDomain ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value that represents a transport domain.
+
+ Some possible values, such as transportDomainUdpIpv4, are
+ defined in this module. Other possible values can be
+ defined in other MIB modules."
+ SYNTAX OBJECT IDENTIFIER
+
+--
+-- The enumerated values of the textual convention below should
+-- be identical to the last sub-identifier of the OID registered
+-- for the same domain.
+--
+
+TransportAddressType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "A value that represents a transport domain. This is the
+ enumerated version of the transport domain registrations
+ in this MIB module. The enumerated values have the
+ following meaning:
+
+ unknown(0) unknown transport address type
+ udpIpv4(1) transportDomainUdpIpv4
+ udpIpv6(2) transportDomainUdpIpv6
+ udpIpv4z(3) transportDomainUdpIpv4z
+ udpIpv6z(4) transportDomainUdpIpv6z
+ tcpIpv4(5) transportDomainTcpIpv4
+ tcpIpv6(6) transportDomainTcpIpv6
+ tcpIpv4z(7) transportDomainTcpIpv4z
+
+ tcpIpv6z(8) transportDomainTcpIpv6z
+ sctpIpv4(9) transportDomainSctpIpv4
+ sctpIpv6(10) transportDomainSctpIpv6
+ sctpIpv4z(11) transportDomainSctpIpv4z
+ sctpIpv6z(12) transportDomainSctpIpv6z
+ local(13) transportDomainLocal
+ udpDns(14) transportDomainUdpDns
+ tcpDns(15) transportDomainTcpDns
+ sctpDns(16) transportDomainSctpDns
+
+ This textual convention can be used to represent transport
+ domains in situations where a syntax of TransportDomain is
+ unwieldy (for example, when used as an index).
+
+ The usage of this textual convention implies that additional
+ transport domains can only be supported by updating this MIB
+ module. This extensibility restriction does not apply for the
+ TransportDomain textual convention which allows MIB authors
+ to define additional transport domains independently in
+ other MIB modules."
+ SYNTAX INTEGER {
+ unknown(0),
+ udpIpv4(1),
+ udpIpv6(2),
+ udpIpv4z(3),
+ udpIpv6z(4),
+ tcpIpv4(5),
+ tcpIpv6(6),
+ tcpIpv4z(7),
+ tcpIpv6z(8),
+ sctpIpv4(9),
+ sctpIpv6(10),
+ sctpIpv4z(11),
+ sctpIpv6z(12),
+ local(13),
+ udpDns(14),
+ tcpDns(15),
+ sctpDns(16)
+ }
+
+TransportAddress ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Denotes a generic transport address.
+
+ A TransportAddress value is always interpreted within the
+ context of a TransportAddressType or TransportDomain value.
+ Every usage of the TransportAddress textual convention MUST
+
+ specify the TransportAddressType or TransportDomain object
+ which provides the context. Furthermore, MIB authors SHOULD
+ define a separate TransportAddressType or TransportDomain
+ object for each TransportAddress object. It is suggested that
+ the TransportAddressType or TransportDomain is logically
+ registered before the object(s) which use the
+ TransportAddress textual convention if they appear in the
+ same logical row.
+
+ The value of a TransportAddress object must always be
+ consistent with the value of the associated
+ TransportAddressType or TransportDomain object. Attempts
+ to set a TransportAddress object to a value which is
+ inconsistent with the associated TransportAddressType or
+ TransportDomain must fail with an inconsistentValue error.
+
+ When this textual convention is used as a syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
+ to limit the number of potential instance sub-identifiers."
+ SYNTAX OCTET STRING (SIZE (0..255))
+
+TransportAddressIPv4 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv4
+ address and a port number (as used for example by UDP,
+ TCP and SCTP):
+
+ octets contents encoding
+ 1-4 IPv4 address network-byte order
+ 5-6 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (6))
+
+TransportAddressIPv6 ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x]0a:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv6
+ address and a port number (as used for example by UDP,
+ TCP and SCTP):
+
+ octets contents encoding
+ 1-16 IPv6 address network-byte order
+ 17-18 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (18))
+
+TransportAddressIPv4z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1d.1d.1d.1d%4d:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv4
+ address, a zone index and a port number (as used for
+ example by UDP, TCP and SCTP):
+
+ octets contents encoding
+ 1-4 IPv4 address network-byte order
+ 5-8 zone index network-byte order
+ 9-10 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (10))
+
+TransportAddressIPv6z ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "0a[2x:2x:2x:2x:2x:2x:2x:2x%4d]0a:2d"
+ STATUS current
+ DESCRIPTION
+ "Represents a transport address consisting of an IPv6
+ address, a zone index and a port number (as used for
+ example by UDP, TCP and SCTP):
+
+ octets contents encoding
+ 1-16 IPv6 address network-byte order
+ 17-20 zone index network-byte order
+ 21-22 port number network-byte order
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair."
+ SYNTAX OCTET STRING (SIZE (22))
+
+TransportAddressLocal ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1a"
+ STATUS current
+ DESCRIPTION
+ "Represents a POSIX Local IPC transport address:
+
+ octets contents encoding
+ all POSIX Local IPC address string
+
+ The Posix Local IPC transport domain subsumes UNIX domain
+ sockets.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair.
+
+ When this textual convention is used as a syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
+ to limit the number of potential instance sub-identifiers."
+ REFERENCE
+ "Protocol Independent Interfaces (IEEE POSIX 1003.1g)"
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+TransportAddressDns ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1a"
+ STATUS current
+ DESCRIPTION
+ "Represents a DNS domain name followed by a colon ':'
+ (ASCII character 0x3A) and a port number in ASCII.
+ The name SHOULD be fully qualified whenever possible.
+
+ Values of this textual convention are not directly useable as
+ transport-layer addressing information, and require runtime
+ resolution. As such, applications that write them must be
+ prepared for handling errors if such values are not
+ supported, or cannot be resolved (if resolution occurs at the
+ time of the management operation).
+
+ The DESCRIPTION clause of TransportAddress objects that may
+
+ have TransportAddressDns values must fully describe how (and
+ when) such names are to be resolved to IP addresses and vice
+ versa.
+
+ This textual convention SHOULD NOT be used directly in object
+ definitions since it restricts addresses to a specific format.
+ However, if it is used, it MAY be used either on its own or
+ in conjunction with TransportAddressType or TransportDomain
+ as a pair.
+
+ When this textual convention is used as a syntax of an
+ index object, there may be issues with the limit of 128
+ sub-identifiers specified in SMIv2, STD 58. In this case,
+ the OBJECT-TYPE declaration MUST include a 'SIZE' clause
+ to limit the number of potential instance sub-identifiers."
+ SYNTAX OCTET STRING (SIZE (1..255))
+
+END
diff --git a/mibs/TUNNEL-MIB.txt b/mibs/TUNNEL-MIB.txt
new file mode 100644
index 00000000..5f9596b5
--- /dev/null
+++ b/mibs/TUNNEL-MIB.txt
@@ -0,0 +1,738 @@
+TUNNEL-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, transmission,
+ Integer32, IpAddress FROM SNMPv2-SMI -- [RFC2578]
+
+ RowStatus, StorageType FROM SNMPv2-TC -- [RFC2579]
+
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP FROM SNMPv2-CONF -- [RFC2580]
+
+ InetAddressType,
+ InetAddress FROM INET-ADDRESS-MIB -- [RFC4001]
+
+ IPv6FlowLabelOrAny FROM IPV6-FLOW-LABEL-MIB -- [RFC3595]
+
+ ifIndex,
+ InterfaceIndexOrZero FROM IF-MIB -- [RFC2863]
+
+ IANAtunnelType FROM IANAifType-MIB; -- [IFTYPE]
+
+tunnelMIB MODULE-IDENTITY
+ LAST-UPDATED "200505160000Z" -- May 16, 2005
+ ORGANIZATION "IETF IP Version 6 (IPv6) Working Group"
+ CONTACT-INFO
+ " Dave Thaler
+ Microsoft Corporation
+ One Microsoft Way
+ Redmond, WA 98052-6399
+ EMail: dthaler@microsoft.com"
+ DESCRIPTION
+ "The MIB module for management of IP Tunnels,
+ independent of the specific encapsulation scheme in
+ use.
+
+ Copyright (C) The Internet Society (2005). This
+ version of this MIB module is part of RFC 4087; see
+ the RFC itself for full legal notices."
+
+ REVISION "200505160000Z" -- May 16, 2005
+ DESCRIPTION
+ "IPv4-specific objects were deprecated, including
+ tunnelIfLocalAddress, tunnelIfRemoteAddress, the
+ tunnelConfigTable, and the tunnelMIBBasicGroup.
+
+ Added IP version-agnostic objects that should be used
+ instead, including tunnelIfAddressType,
+ tunnelIfLocalInetAddress, tunnelIfRemoteInetAddress,
+ the tunnelInetConfigTable, and the
+ tunnelIMIBInetGroup.
+
+ The new tunnelIfLocalInetAddress and
+ tunnelIfRemoteInetAddress objects are read-write,
+ rather than read-only.
+
+ Updated DESCRIPTION clauses of existing version-
+ agnostic objects (e.g., tunnelIfTOS) that contained
+ IPv4-specific text to cover IPv6 as well.
+
+ Added tunnelIfFlowLabel for tunnels over IPv6.
+
+ The encapsulation method was previously an INTEGER
+ type, and is now an IANA-maintained textual
+ convention.
+
+ Published as RFC 4087."
+ REVISION "199908241200Z" -- August 24, 1999
+ DESCRIPTION
+ "Initial version, published as RFC 2667."
+ ::= { transmission 131 }
+
+tunnelMIBObjects OBJECT IDENTIFIER ::= { tunnelMIB 1 }
+
+tunnel OBJECT IDENTIFIER ::= { tunnelMIBObjects 1 }
+
+-- the IP Tunnel MIB-Group
+--
+-- a collection of objects providing information about
+-- IP Tunnels
+
+tunnelIfTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TunnelIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table containing information on
+ configured tunnels."
+ ::= { tunnel 1 }
+
+tunnelIfEntry OBJECT-TYPE
+ SYNTAX TunnelIfEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) containing the information
+ on a particular configured tunnel."
+ INDEX { ifIndex }
+ ::= { tunnelIfTable 1 }
+
+TunnelIfEntry ::= SEQUENCE {
+ tunnelIfLocalAddress IpAddress, -- deprecated
+ tunnelIfRemoteAddress IpAddress, -- deprecated
+ tunnelIfEncapsMethod IANAtunnelType,
+ tunnelIfHopLimit Integer32,
+ tunnelIfSecurity INTEGER,
+ tunnelIfTOS Integer32,
+ tunnelIfFlowLabel IPv6FlowLabelOrAny,
+ tunnelIfAddressType InetAddressType,
+ tunnelIfLocalInetAddress InetAddress,
+ tunnelIfRemoteInetAddress InetAddress,
+ tunnelIfEncapsLimit Integer32
+}
+
+tunnelIfLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel
+ (i.e., the source address used in the outer IP
+ header), or 0.0.0.0 if unknown or if the tunnel is
+ over IPv6.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelIfLocalInetAddress."
+ ::= { tunnelIfEntry 1 }
+
+tunnelIfRemoteAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel
+ (i.e., the destination address used in the outer IP
+ header), or 0.0.0.0 if unknown, or an IPv6 address, or
+
+ the tunnel is not a point-to-point link (e.g., if it
+ is a 6to4 tunnel).
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelIfRemoteInetAddress."
+ ::= { tunnelIfEntry 2 }
+
+tunnelIfEncapsMethod OBJECT-TYPE
+ SYNTAX IANAtunnelType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The encapsulation method used by the tunnel."
+ ::= { tunnelIfEntry 3 }
+
+tunnelIfHopLimit OBJECT-TYPE
+ SYNTAX Integer32 (0 | 1..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The IPv4 TTL or IPv6 Hop Limit to use in the outer IP
+ header. A value of 0 indicates that the value is
+ copied from the payload's header."
+ ::= { tunnelIfEntry 4 }
+
+tunnelIfSecurity OBJECT-TYPE
+ SYNTAX INTEGER {
+ none(1), -- no security
+ ipsec(2), -- IPsec security
+ other(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The method used by the tunnel to secure the outer IP
+ header. The value ipsec indicates that IPsec is used
+ between the tunnel endpoints for authentication or
+ encryption or both. More specific security-related
+ information may be available in a MIB module for the
+ security protocol in use."
+ ::= { tunnelIfEntry 5 }
+
+tunnelIfTOS OBJECT-TYPE
+ SYNTAX Integer32 (-2..63)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The method used to set the high 6 bits (the
+
+ differentiated services codepoint) of the IPv4 TOS or
+ IPv6 Traffic Class in the outer IP header. A value of
+ -1 indicates that the bits are copied from the
+ payload's header. A value of -2 indicates that a
+ traffic conditioner is invoked and more information
+ may be available in a traffic conditioner MIB module.
+ A value between 0 and 63 inclusive indicates that the
+ bit field is set to the indicated value.
+
+ Note: instead of the name tunnelIfTOS, a better name
+ would have been tunnelIfDSCPMethod, but the existing
+ name appeared in RFC 2667 and existing objects cannot
+ be renamed."
+ ::= { tunnelIfEntry 6 }
+
+tunnelIfFlowLabel OBJECT-TYPE
+ SYNTAX IPv6FlowLabelOrAny
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The method used to set the IPv6 Flow Label value.
+ This object need not be present in rows where
+ tunnelIfAddressType indicates the tunnel is not over
+ IPv6. A value of -1 indicates that a traffic
+ conditioner is invoked and more information may be
+ available in a traffic conditioner MIB. Any other
+ value indicates that the Flow Label field is set to
+ the indicated value."
+ ::= { tunnelIfEntry 7 }
+
+tunnelIfAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The type of address in the corresponding
+ tunnelIfLocalInetAddress and tunnelIfRemoteInetAddress
+ objects."
+ ::= { tunnelIfEntry 8 }
+
+tunnelIfLocalInetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel
+ (i.e., the source address used in the outer IP
+ header). If the address is unknown, the value is
+
+ 0.0.0.0 for IPv4 or :: for IPv6. The type of this
+ object is given by tunnelIfAddressType."
+ ::= { tunnelIfEntry 9 }
+
+tunnelIfRemoteInetAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel
+ (i.e., the destination address used in the outer IP
+ header). If the address is unknown or the tunnel is
+ not a point-to-point link (e.g., if it is a 6to4
+ tunnel), the value is 0.0.0.0 for tunnels over IPv4 or
+ :: for tunnels over IPv6. The type of this object is
+ given by tunnelIfAddressType."
+ ::= { tunnelIfEntry 10 }
+
+tunnelIfEncapsLimit OBJECT-TYPE
+ SYNTAX Integer32 (-1 | 0..255)
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "The maximum number of additional encapsulations
+ permitted for packets undergoing encapsulation at this
+ node. A value of -1 indicates that no limit is
+ present (except as a result of the packet size)."
+ REFERENCE "RFC 2473, section 4.1.1"
+ ::= { tunnelIfEntry 11 }
+
+tunnelConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TunnelConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The (conceptual) table containing information on
+ configured tunnels. This table can be used to map a
+ set of tunnel endpoints to the associated ifIndex
+ value. It can also be used for row creation. Note
+ that every row in the tunnelIfTable with a fixed IPv4
+ destination address should have a corresponding row in
+ the tunnelConfigTable, regardless of whether it was
+ created via SNMP.
+
+ Since this table does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigTable."
+ ::= { tunnel 2 }
+
+tunnelConfigEntry OBJECT-TYPE
+ SYNTAX TunnelConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "An entry (conceptual row) containing the information
+ on a particular configured tunnel.
+
+ Since this entry does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigEntry."
+ INDEX { tunnelConfigLocalAddress,
+ tunnelConfigRemoteAddress,
+ tunnelConfigEncapsMethod,
+ tunnelConfigID }
+ ::= { tunnelConfigTable 1 }
+
+TunnelConfigEntry ::= SEQUENCE {
+ tunnelConfigLocalAddress IpAddress,
+ tunnelConfigRemoteAddress IpAddress,
+ tunnelConfigEncapsMethod IANAtunnelType,
+ tunnelConfigID Integer32,
+ tunnelConfigIfIndex InterfaceIndexOrZero,
+ tunnelConfigStatus RowStatus
+}
+
+tunnelConfigLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel, or
+ 0.0.0.0 if the device is free to choose any of its
+ addresses at tunnel establishment time.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigLocalAddress."
+ ::= { tunnelConfigEntry 1 }
+
+tunnelConfigRemoteAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigRemoteAddress."
+ ::= { tunnelConfigEntry 2 }
+
+tunnelConfigEncapsMethod OBJECT-TYPE
+ SYNTAX IANAtunnelType
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "The encapsulation method used by the tunnel.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigEncapsMethod."
+ ::= { tunnelConfigEntry 3 }
+
+tunnelConfigID OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "An identifier used to distinguish between multiple
+ tunnels of the same encapsulation method, with the
+ same endpoints. If the encapsulation protocol only
+ allows one tunnel per set of endpoint addresses (such
+ as for GRE or IP-in-IP), the value of this object is
+ 1. For encapsulation methods (such as L2F) which
+ allow multiple parallel tunnels, the manager is
+ responsible for choosing any ID which does not
+ conflict with an existing row, such as choosing a
+ random number.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigID."
+ ::= { tunnelConfigEntry 4 }
+
+tunnelConfigIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "If the value of tunnelConfigStatus for this row is
+ active, then this object contains the value of ifIndex
+ corresponding to the tunnel interface. A value of 0
+ is not legal in the active state, and means that the
+ interface index has not yet been assigned.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigIfIndex."
+ ::= { tunnelConfigEntry 5 }
+
+tunnelConfigStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS deprecated
+ DESCRIPTION
+ "The status of this row, by which new entries may be
+ created, or old entries deleted from this table. The
+ agent need not support setting this object to
+ createAndWait or notInService since there are no other
+ writable objects in this table, and writable objects
+ in rows of corresponding tables such as the
+ tunnelIfTable may be modified while this row is
+ active.
+
+ To create a row in this table for an encapsulation
+ method which does not support multiple parallel
+ tunnels with the same endpoints, the management
+ station should simply use a tunnelConfigID of 1, and
+ set tunnelConfigStatus to createAndGo. For
+ encapsulation methods such as L2F which allow multiple
+ parallel tunnels, the management station may select a
+ pseudo-random number to use as the tunnelConfigID and
+ set tunnelConfigStatus to createAndGo. In the event
+ that this ID is already in use and an
+ inconsistentValue is returned in response to the set
+ operation, the management station should simply select
+ a new pseudo-random number and retry the operation.
+
+ Creating a row in this table will cause an interface
+ index to be assigned by the agent in an
+ implementation-dependent manner, and corresponding
+ rows will be instantiated in the ifTable and the
+ tunnelIfTable. The status of this row will become
+ active as soon as the agent assigns the interface
+ index, regardless of whether the interface is
+ operationally up.
+
+ Deleting a row in this table will likewise delete the
+ corresponding row in the ifTable and in the
+ tunnelIfTable.
+
+ Since this object does not support IPv6, it is
+ deprecated in favor of tunnelInetConfigStatus."
+ ::= { tunnelConfigEntry 6 }
+
+tunnelInetConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF TunnelInetConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The (conceptual) table containing information on
+ configured tunnels. This table can be used to map a
+ set of tunnel endpoints to the associated ifIndex
+ value. It can also be used for row creation. Note
+ that every row in the tunnelIfTable with a fixed
+ destination address should have a corresponding row in
+ the tunnelInetConfigTable, regardless of whether it
+ was created via SNMP."
+ ::= { tunnel 3 }
+
+tunnelInetConfigEntry OBJECT-TYPE
+ SYNTAX TunnelInetConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry (conceptual row) containing the information
+ on a particular configured tunnel. Note that there is
+ a 128 subid maximum for object OIDs. Implementers
+ need to be aware that if the total number of octets in
+ tunnelInetConfigLocalAddress and
+ tunnelInetConfigRemoteAddress exceeds 110 then OIDs of
+ column instances in this table will have more than 128
+ sub-identifiers and cannot be accessed using SNMPv1,
+ SNMPv2c, or SNMPv3. In practice this is not expected
+ to be a problem since IPv4 and IPv6 addresses will not
+ cause the limit to be reached, but if other types are
+ supported by an agent, care must be taken to ensure
+ that the sum of the lengths do not cause the limit to
+ be exceeded."
+ INDEX { tunnelInetConfigAddressType,
+ tunnelInetConfigLocalAddress,
+ tunnelInetConfigRemoteAddress,
+ tunnelInetConfigEncapsMethod,
+ tunnelInetConfigID }
+ ::= { tunnelInetConfigTable 1 }
+
+TunnelInetConfigEntry ::= SEQUENCE {
+ tunnelInetConfigAddressType InetAddressType,
+ tunnelInetConfigLocalAddress InetAddress,
+ tunnelInetConfigRemoteAddress InetAddress,
+ tunnelInetConfigEncapsMethod IANAtunnelType,
+ tunnelInetConfigID Integer32,
+ tunnelInetConfigIfIndex InterfaceIndexOrZero,
+ tunnelInetConfigStatus RowStatus,
+ tunnelInetConfigStorageType StorageType
+}
+
+tunnelInetConfigAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type over which the tunnel encapsulates
+ packets."
+ ::= { tunnelInetConfigEntry 1 }
+
+tunnelInetConfigLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address of the local endpoint of the tunnel, or
+ 0.0.0.0 (for IPv4) or :: (for IPv6) if the device is
+ free to choose any of its addresses at tunnel
+ establishment time."
+ ::= { tunnelInetConfigEntry 2 }
+
+tunnelInetConfigRemoteAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address of the remote endpoint of the tunnel."
+ ::= { tunnelInetConfigEntry 3 }
+
+tunnelInetConfigEncapsMethod OBJECT-TYPE
+ SYNTAX IANAtunnelType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The encapsulation method used by the tunnel."
+ ::= { tunnelInetConfigEntry 4 }
+
+tunnelInetConfigID OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An identifier used to distinguish between multiple
+ tunnels of the same encapsulation method, with the
+ same endpoints. If the encapsulation protocol only
+ allows one tunnel per set of endpoint addresses (such
+ as for GRE or IP-in-IP), the value of this object is
+ 1. For encapsulation methods (such as L2F) which
+ allow multiple parallel tunnels, the manager is
+ responsible for choosing any ID which does not
+
+ conflict with an existing row, such as choosing a
+ random number."
+ ::= { tunnelInetConfigEntry 5 }
+
+tunnelInetConfigIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "If the value of tunnelInetConfigStatus for this row
+ is active, then this object contains the value of
+ ifIndex corresponding to the tunnel interface. A
+ value of 0 is not legal in the active state, and means
+ that the interface index has not yet been assigned."
+ ::= { tunnelInetConfigEntry 6 }
+
+tunnelInetConfigStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this row, by which new entries may be
+ created, or old entries deleted from this table. The
+ agent need not support setting this object to
+ createAndWait or notInService since there are no other
+ writable objects in this table, and writable objects
+ in rows of corresponding tables such as the
+ tunnelIfTable may be modified while this row is
+ active.
+
+ To create a row in this table for an encapsulation
+ method which does not support multiple parallel
+ tunnels with the same endpoints, the management
+ station should simply use a tunnelInetConfigID of 1,
+ and set tunnelInetConfigStatus to createAndGo. For
+ encapsulation methods such as L2F which allow multiple
+ parallel tunnels, the management station may select a
+ pseudo-random number to use as the tunnelInetConfigID
+ and set tunnelInetConfigStatus to createAndGo. In the
+ event that this ID is already in use and an
+ inconsistentValue is returned in response to the set
+ operation, the management station should simply select
+ a new pseudo-random number and retry the operation.
+
+ Creating a row in this table will cause an interface
+ index to be assigned by the agent in an
+ implementation-dependent manner, and corresponding
+ rows will be instantiated in the ifTable and the
+
+ tunnelIfTable. The status of this row will become
+ active as soon as the agent assigns the interface
+ index, regardless of whether the interface is
+ operationally up.
+
+ Deleting a row in this table will likewise delete the
+ corresponding row in the ifTable and in the
+ tunnelIfTable."
+ ::= { tunnelInetConfigEntry 7 }
+
+tunnelInetConfigStorageType OBJECT-TYPE
+ SYNTAX StorageType
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The storage type of this row. If the row is
+ permanent(4), no objects in the row need be writable."
+ ::= { tunnelInetConfigEntry 8 }
+
+-- conformance information
+
+tunnelMIBConformance
+ OBJECT IDENTIFIER ::= { tunnelMIB 2 }
+tunnelMIBCompliances
+ OBJECT IDENTIFIER ::= { tunnelMIBConformance 1 }
+tunnelMIBGroups OBJECT IDENTIFIER ::= { tunnelMIBConformance 2 }
+
+-- compliance statements
+
+tunnelMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The (deprecated) IPv4-only compliance statement for
+ the IP Tunnel MIB.
+
+ This is deprecated in favor of
+ tunnelMIBInetFullCompliance and
+ tunnelMIBInetReadOnlyCompliance."
+ MODULE -- this module
+ MANDATORY-GROUPS { tunnelMIBBasicGroup }
+
+ OBJECT tunnelIfHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfTOS
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelConfigStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { tunnelMIBCompliances 1 }
+
+tunnelMIBInetFullCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The full compliance statement for the IP Tunnel MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { tunnelMIBInetGroup }
+
+ OBJECT tunnelIfAddressType
+ SYNTAX InetAddressType { ipv4(1), ipv6(2),
+ ipv4z(3), ipv6z(4) }
+ DESCRIPTION
+ "An implementation is only required to support IPv4
+ and/or IPv6 addresses. An implementation only needs to
+ support the addresses it actually supports on the
+ device."
+ ::= { tunnelMIBCompliances 2 }
+
+tunnelMIBInetReadOnlyCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The read-only compliance statement for the IP Tunnel
+ MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { tunnelMIBInetGroup }
+
+ OBJECT tunnelIfHopLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfTOS
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfFlowLabel
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfAddressType
+ SYNTAX InetAddressType { ipv4(1), ipv6(2),
+ ipv4z(3), ipv6z(4) }
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required.
+
+ An implementation is only required to support IPv4
+ and/or IPv6 addresses. An implementation only needs to
+ support the addresses it actually supports on the
+ device."
+
+ OBJECT tunnelIfLocalInetAddress
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfRemoteInetAddress
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelIfEncapsLimit
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT tunnelInetConfigStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required, and active is the only
+ status that needs to be supported."
+
+ OBJECT tunnelInetConfigStorageType
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+ ::= { tunnelMIBCompliances 3 }
+
+-- units of conformance
+
+tunnelMIBBasicGroup OBJECT-GROUP
+ OBJECTS { tunnelIfLocalAddress, tunnelIfRemoteAddress,
+ tunnelIfEncapsMethod, tunnelIfHopLimit, tunnelIfTOS,
+ tunnelIfSecurity, tunnelConfigIfIndex, tunnelConfigStatus }
+ STATUS deprecated
+ DESCRIPTION
+ "A collection of objects to support basic management
+
+ of IPv4 Tunnels. Since this group cannot support
+ IPv6, it is deprecated in favor of
+ tunnelMIBInetGroup."
+ ::= { tunnelMIBGroups 1 }
+
+tunnelMIBInetGroup OBJECT-GROUP
+ OBJECTS { tunnelIfAddressType, tunnelIfLocalInetAddress,
+ tunnelIfRemoteInetAddress, tunnelIfEncapsMethod,
+ tunnelIfEncapsLimit,
+ tunnelIfHopLimit, tunnelIfTOS, tunnelIfFlowLabel,
+ tunnelIfSecurity, tunnelInetConfigIfIndex,
+ tunnelInetConfigStatus, tunnelInetConfigStorageType }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects to support basic management
+ of IPv4 and IPv6 Tunnels."
+ ::= { tunnelMIBGroups 2 }
+
+END
diff --git a/mibs/UDP-MIB.txt b/mibs/UDP-MIB.txt
new file mode 100644
index 00000000..eec9dbad
--- /dev/null
+++ b/mibs/UDP-MIB.txt
@@ -0,0 +1,549 @@
+UDP-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Counter64,
+ Unsigned32, IpAddress, mib-2 FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
+ InetAddress, InetAddressType,
+ InetPortNumber FROM INET-ADDRESS-MIB;
+
+udpMIB MODULE-IDENTITY
+ LAST-UPDATED "200505200000Z" -- May 20, 2005
+ ORGANIZATION
+ "IETF IPv6 Working Group
+ http://www.ietf.org/html.charters/ipv6-charter.html"
+ CONTACT-INFO
+ "Bill Fenner (editor)
+
+ AT&T Labs -- Research
+ 75 Willow Rd.
+ Menlo Park, CA 94025
+
+ Phone: +1 650 330-7893
+ Email: <fenner@research.att.com>
+
+ John Flick (editor)
+
+ Hewlett-Packard Company
+ 8000 Foothills Blvd. M/S 5557
+ Roseville, CA 95747
+
+ Phone: +1 916 785 4018
+ Email: <john.flick@hp.com>
+
+ Send comments to <ipv6@ietf.org>"
+ DESCRIPTION
+ "The MIB module for managing UDP implementations.
+ Copyright (C) The Internet Society (2005). This
+ version of this MIB module is part of RFC 4113;
+ see the RFC itself for full legal notices."
+ REVISION "200505200000Z" -- May 20, 2005
+ DESCRIPTION
+ "IP version neutral revision, incorporating the
+ following revisions:
+
+ - Added udpHCInDatagrams and udpHCOutDatagrams in order
+ to provide high-capacity counters for fast networks.
+ - Added text to the descriptions of all counter objects
+ to indicate how discontinuities are detected.
+ - Deprecated the IPv4-specific udpTable and replaced it
+ with the version neutral udpEndpointTable. This
+ table includes support for connected UDP endpoints
+ and support for identification of the operating
+ system process associated with a UDP endpoint.
+ - Deprecated the udpGroup and replaced it with object
+ groups representing the current set of objects.
+ - Deprecated udpMIBCompliance and replaced it with
+ udpMIBCompliance2, which includes the compliance
+ information for the new object groups.
+
+ This version published as RFC 4113."
+ REVISION "199411010000Z" -- November 1, 1994
+ DESCRIPTION
+ "Initial SMIv2 version, published as RFC 2013."
+ REVISION "199103310000Z" -- March 31, 1991
+ DESCRIPTION
+ "The initial revision of this MIB module was part of
+ MIB-II, published as RFC 1213."
+ ::= { mib-2 50 }
+
+-- the UDP group
+
+udp OBJECT IDENTIFIER ::= { mib-2 7 }
+
+udpInDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams delivered to UDP
+ users.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 1 }
+
+udpNoPorts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of received UDP datagrams for which
+ there was no application at the destination port.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 2 }
+
+udpInErrors OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of received UDP datagrams that could not be
+ delivered for reasons other than the lack of an
+ application at the destination port.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 3 }
+
+udpOutDatagrams OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams sent from this
+ entity.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 4 }
+
+udpHCInDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams delivered to UDP
+ users, for devices that can receive more than 1
+ million UDP datagrams per second.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 8 }
+
+udpHCOutDatagrams OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of UDP datagrams sent from this
+ entity, for devices that can transmit more than 1
+ million UDP datagrams per second.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the management system, and at
+ other times as indicated by discontinuities in the
+ value of sysUpTime."
+ ::= { udp 9 }
+
+--
+-- { udp 6 } was defined as the ipv6UdpTable in RFC2454's
+-- IPV6-UDP-MIB. This RFC obsoletes RFC 2454, so { udp 6 } is
+-- obsoleted.
+--
+
+-- The UDP "Endpoint" table.
+
+udpEndpointTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UdpEndpointEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A table containing information about this entity's UDP
+ endpoints on which a local application is currently
+ accepting or sending datagrams.
+
+ The address type in this table represents the address
+ type used for the communication, irrespective of the
+ higher-layer abstraction. For example, an application
+ using IPv6 'sockets' to communicate via IPv4 between
+ ::ffff:10.0.0.1 and ::ffff:10.0.0.2 would use
+ InetAddressType ipv4(1).
+
+ Unlike the udpTable in RFC 2013, this table also allows
+ the representation of an application that completely
+ specifies both local and remote addresses and ports. A
+ listening application is represented in three possible
+ ways:
+
+ 1) An application that is willing to accept both IPv4
+ and IPv6 datagrams is represented by a
+ udpEndpointLocalAddressType of unknown(0) and a
+ udpEndpointLocalAddress of ''h (a zero-length
+ octet-string).
+
+ 2) An application that is willing to accept only IPv4
+ or only IPv6 datagrams is represented by a
+ udpEndpointLocalAddressType of the appropriate
+ address type and a udpEndpointLocalAddress of
+ '0.0.0.0' or '::' respectively.
+
+ 3) An application that is listening for datagrams only
+ for a specific IP address but from any remote
+ system is represented by a
+ udpEndpointLocalAddressType of the appropriate
+ address type, with udpEndpointLocalAddress
+ specifying the local address.
+
+ In all cases where the remote is a wildcard, the
+ udpEndpointRemoteAddressType is unknown(0), the
+ udpEndpointRemoteAddress is ''h (a zero-length
+ octet-string), and the udpEndpointRemotePort is 0.
+
+ If the operating system is demultiplexing UDP packets
+ by remote address and port, or if the application has
+ 'connected' the socket specifying a default remote
+ address and port, the udpEndpointRemote* values should
+ be used to reflect this."
+ ::= { udp 7 }
+
+udpEndpointEntry OBJECT-TYPE
+ SYNTAX UdpEndpointEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Information about a particular current UDP endpoint.
+
+ Implementers need to be aware that if the total number
+ of elements (octets or sub-identifiers) in
+ udpEndpointLocalAddress and udpEndpointRemoteAddress
+ exceeds 111, then OIDs of column instances in this table
+ will have more than 128 sub-identifiers and cannot be
+ accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ INDEX { udpEndpointLocalAddressType,
+ udpEndpointLocalAddress,
+ udpEndpointLocalPort,
+ udpEndpointRemoteAddressType,
+ udpEndpointRemoteAddress,
+ udpEndpointRemotePort,
+ udpEndpointInstance }
+ ::= { udpEndpointTable 1 }
+
+UdpEndpointEntry ::= SEQUENCE {
+ udpEndpointLocalAddressType InetAddressType,
+ udpEndpointLocalAddress InetAddress,
+ udpEndpointLocalPort InetPortNumber,
+ udpEndpointRemoteAddressType InetAddressType,
+ udpEndpointRemoteAddress InetAddress,
+ udpEndpointRemotePort InetPortNumber,
+ udpEndpointInstance Unsigned32,
+ udpEndpointProcess Unsigned32
+ }
+
+udpEndpointLocalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of udpEndpointLocalAddress. Only
+ IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
+ unknown(0) if datagrams for all local IP addresses are
+ accepted."
+ ::= { udpEndpointEntry 1 }
+
+udpEndpointLocalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local IP address for this UDP endpoint.
+
+ The value of this object can be represented in three
+
+ possible ways, depending on the characteristics of the
+ listening application:
+
+ 1. For an application that is willing to accept both
+ IPv4 and IPv6 datagrams, the value of this object
+ must be ''h (a zero-length octet-string), with
+ the value of the corresponding instance of the
+ udpEndpointLocalAddressType object being unknown(0).
+
+ 2. For an application that is willing to accept only IPv4
+ or only IPv6 datagrams, the value of this object
+ must be '0.0.0.0' or '::', respectively, while the
+ corresponding instance of the
+ udpEndpointLocalAddressType object represents the
+ appropriate address type.
+
+ 3. For an application that is listening for data
+ destined only to a specific IP address, the value
+ of this object is the specific IP address for which
+ this node is receiving packets, with the
+ corresponding instance of the
+ udpEndpointLocalAddressType object representing the
+ appropriate address type.
+
+ As this object is used in the index for the
+ udpEndpointTable, implementors of this table should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; else the information
+ cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { udpEndpointEntry 2 }
+
+udpEndpointLocalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The local port number for this UDP endpoint."
+ ::= { udpEndpointEntry 3 }
+
+udpEndpointRemoteAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The address type of udpEndpointRemoteAddress. Only
+ IPv4, IPv4z, IPv6, and IPv6z addresses are expected, or
+ unknown(0) if datagrams for all remote IP addresses are
+ accepted. Also, note that some combinations of
+
+ udpEndpointLocalAdressType and
+ udpEndpointRemoteAddressType are not supported. In
+ particular, if the value of this object is not
+ unknown(0), it is expected to always refer to the
+ same IP version as udpEndpointLocalAddressType."
+ ::= { udpEndpointEntry 4 }
+
+udpEndpointRemoteAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote IP address for this UDP endpoint. If
+ datagrams from any remote system are to be accepted,
+ this value is ''h (a zero-length octet-string).
+ Otherwise, it has the type described by
+ udpEndpointRemoteAddressType and is the address of the
+ remote system from which datagrams are to be accepted
+ (or to which all datagrams will be sent).
+
+ As this object is used in the index for the
+ udpEndpointTable, implementors of this table should be
+ careful not to create entries that would result in OIDs
+ with more than 128 subidentifiers; else the information
+ cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3."
+ ::= { udpEndpointEntry 5 }
+
+udpEndpointRemotePort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The remote port number for this UDP endpoint. If
+ datagrams from any remote system are to be accepted,
+ this value is zero."
+ ::= { udpEndpointEntry 6 }
+
+udpEndpointInstance OBJECT-TYPE
+ SYNTAX Unsigned32 (1..'ffffffff'h)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The instance of this tuple. This object is used to
+ distinguish among multiple processes 'connected' to
+ the same UDP endpoint. For example, on a system
+ implementing the BSD sockets interface, this would be
+ used to support the SO_REUSEADDR and SO_REUSEPORT
+ socket options."
+ ::= { udpEndpointEntry 7 }
+
+udpEndpointProcess OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The system's process ID for the process associated with
+ this endpoint, or zero if there is no such process.
+ This value is expected to be the same as
+ HOST-RESOURCES-MIB::hrSWRunIndex or SYSAPPL-MIB::
+ sysApplElmtRunIndex for some row in the appropriate
+ tables."
+ ::= { udpEndpointEntry 8 }
+
+-- The deprecated UDP Listener table
+
+-- The deprecated UDP listener table only contains information
+-- about this entity's IPv4 UDP end-points on which a local
+-- application is currently accepting datagrams. It does not
+-- provide more detailed connection information, or information
+-- about IPv6 endpoints.
+
+udpTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "A table containing IPv4-specific UDP listener
+ information. It contains information about all local
+ IPv4 UDP end-points on which an application is
+ currently accepting datagrams. This table has been
+ deprecated in favor of the version neutral
+ udpEndpointTable."
+ ::= { udp 5 }
+
+udpEntry OBJECT-TYPE
+ SYNTAX UdpEntry
+ MAX-ACCESS not-accessible
+ STATUS deprecated
+ DESCRIPTION
+ "Information about a particular current UDP listener."
+ INDEX { udpLocalAddress, udpLocalPort }
+ ::= { udpTable 1 }
+
+UdpEntry ::= SEQUENCE {
+ udpLocalAddress IpAddress,
+ udpLocalPort Integer32
+
+}
+
+udpLocalAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local IP address for this UDP listener. In the
+ case of a UDP listener that is willing to accept
+ datagrams for any IP interface associated with the
+ node, the value 0.0.0.0 is used."
+ ::= { udpEntry 1 }
+
+udpLocalPort OBJECT-TYPE
+ SYNTAX Integer32 (0..65535)
+ MAX-ACCESS read-only
+ STATUS deprecated
+ DESCRIPTION
+ "The local port number for this UDP listener."
+ ::= { udpEntry 2 }
+
+-- conformance information
+
+udpMIBConformance OBJECT IDENTIFIER ::= { udpMIB 2 }
+udpMIBCompliances OBJECT IDENTIFIER ::= { udpMIBConformance 1 }
+udpMIBGroups OBJECT IDENTIFIER ::= { udpMIBConformance 2 }
+
+-- compliance statements
+
+udpMIBCompliance2 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for systems that implement
+ UDP.
+
+ There are a number of INDEX objects that cannot be
+ represented in the form of OBJECT clauses in SMIv2, but
+ for which we have the following compliance
+ requirements, expressed in OBJECT clause form in this
+ description clause:
+
+ -- OBJECT udpEndpointLocalAddressType
+ -- SYNTAX InetAddressType { unknown(0), ipv4(1),
+ -- ipv6(2), ipv4z(3),
+ -- ipv6z(4) }
+ -- DESCRIPTION
+ -- Support for dns(5) is not required.
+ -- OBJECT udpEndpointLocalAddress
+
+ -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
+ -- DESCRIPTION
+ -- Support is only required for zero-length
+ -- octet-strings, and for scoped and unscoped
+ -- IPv4 and IPv6 addresses.
+ -- OBJECT udpEndpointRemoteAddressType
+ -- SYNTAX InetAddressType { unknown(0), ipv4(1),
+ -- ipv6(2), ipv4z(3),
+ -- ipv6z(4) }
+ -- DESCRIPTION
+ -- Support for dns(5) is not required.
+ -- OBJECT udpEndpointRemoteAddress
+ -- SYNTAX InetAddress (SIZE(0|4|8|16|20))
+ -- DESCRIPTION
+ -- Support is only required for zero-length
+ -- octet-strings, and for scoped and unscoped
+ -- IPv4 and IPv6 addresses.
+ "
+ MODULE -- this module
+ MANDATORY-GROUPS { udpBaseGroup, udpEndpointGroup }
+ GROUP udpHCGroup
+ DESCRIPTION
+ "This group is mandatory for systems that
+ are capable of receiving or transmitting more than
+ 1 million UDP datagrams per second. 1 million
+ datagrams per second will cause a Counter32 to
+ wrap in just over an hour."
+ ::= { udpMIBCompliances 2 }
+
+udpMIBCompliance MODULE-COMPLIANCE
+ STATUS deprecated
+ DESCRIPTION
+ "The compliance statement for IPv4-only systems that
+ implement UDP. For IP version independence, this
+ compliance statement is deprecated in favor of
+ udpMIBCompliance2. However, agents are still
+ encouraged to implement these objects in order to
+ interoperate with the deployed base of managers."
+ MODULE -- this module
+ MANDATORY-GROUPS { udpGroup }
+ ::= { udpMIBCompliances 1 }
+
+-- units of conformance
+
+udpGroup OBJECT-GROUP
+ OBJECTS { udpInDatagrams, udpNoPorts,
+ udpInErrors, udpOutDatagrams,
+ udpLocalAddress, udpLocalPort }
+ STATUS deprecated
+ DESCRIPTION
+ "The deprecated group of objects providing for
+ management of UDP over IPv4."
+ ::= { udpMIBGroups 1 }
+
+udpBaseGroup OBJECT-GROUP
+ OBJECTS { udpInDatagrams, udpNoPorts, udpInErrors,
+ udpOutDatagrams }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for counters of UDP
+ statistics."
+ ::= { udpMIBGroups 2 }
+
+udpHCGroup OBJECT-GROUP
+ OBJECTS { udpHCInDatagrams, udpHCOutDatagrams }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for counters of high
+ speed UDP implementations."
+ ::= { udpMIBGroups 3 }
+
+udpEndpointGroup OBJECT-GROUP
+ OBJECTS { udpEndpointProcess }
+ STATUS current
+ DESCRIPTION
+ "The group of objects providing for the IP version
+ independent management of UDP 'endpoints'."
+ ::= { udpMIBGroups 4 }
+
+END
diff --git a/mibs/VYATTA-TRAP-MIB.txt b/mibs/VYATTA-TRAP-MIB.txt
new file mode 100644
index 00000000..9983c294
--- /dev/null
+++ b/mibs/VYATTA-TRAP-MIB.txt
@@ -0,0 +1,97 @@
+VYATTA-TRAP-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, enterprises
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE, OBJECT-GROUP
+ FROM SNMPv2-CONF
+ ;
+
+ vyattaTrap MODULE-IDENTITY
+ LAST-UPDATED "201305060000Z" -- May 6, 2013
+ ORGANIZATION "Vyatta, A Brocade Company"
+ CONTACT-INFO
+ " Support
+ Postal: Vyatta, A Brocade Company
+ 1301 Shoreway Road Suite 200
+ Belmont, California 94002
+ Tel: +1 650 413 7200
+ E-Mail: support@vyatta.com"
+ DESCRIPTION
+ "The MIB module to describe traps for the Vyatta
+ Router."
+ ::= { enterprises 30803 1 }
+
+
+-- Trap Support Objects
+
+mgmtTrap OBJECT IDENTIFIER ::= { vyattaTrap 1 }
+mgmtEventObjects OBJECT IDENTIFIER ::= { mgmtTrap 1 }
+mgmtEvent OBJECT IDENTIFIER ::= { mgmtTrap 2 }
+
+mgmtEventUser OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The user that initiated the event the trap is reporting."
+ ::= { mgmtEventObjects 1 }
+
+
+mgmtEventSource OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown (0),
+ firewall (1) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The source of the event the trap is reporting."
+ ::= { mgmtEventObjects 2 }
+
+
+mgmtEventType OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown (0),
+ added (1),
+ deleted (2),
+ changed (3) }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The event type the trap is reporting."
+ ::= { mgmtEventObjects 3 }
+
+
+mgmtEventPrevCfg OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The previous configuration. This field is only valid
+ for mgmtEventType deleted and changed."
+ ::= { mgmtEventObjects 4 }
+
+mgmtEventCurrCfg OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current configuration. This field is only valid
+ for mgmtEventType added and changed."
+ ::= { mgmtEventObjects 5 }
+
+
+-- Traps
+
+ mgmtEventTrap NOTIFICATION-TYPE
+ OBJECTS { mgmtEventUser,
+ mgmtEventSource,
+ mgmtEventType,
+ mgmtEventPrevCfg,
+ mgmtEventCurrCfg }
+ STATUS current
+ DESCRIPTION
+ "Notification of a configuration related event."
+ ::= { mgmtEvent 1 }
+
+END
diff --git a/scripts/dns-forwarding/vyatta-dns-forwarding.pl b/scripts/dns-forwarding/vyatta-dns-forwarding.pl
deleted file mode 100755
index 46e038b5..00000000
--- a/scripts/dns-forwarding/vyatta-dns-forwarding.pl
+++ /dev/null
@@ -1,268 +0,0 @@
-#!/usr/bin/perl
-#
-# Module: vyatta-dns-forwarding.pl
-#
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2008 Vyatta, Inc.
-# All Rights Reserved.
-#
-# Author: Mohit Mehta
-# Date: August 2008
-# Description: Script to glue Vyatta CLI to dnsmasq daemon
-#
-# **** End License ****
-#
-
-use lib "/opt/vyatta/share/perl5/";
-use Vyatta::Config;
-use Vyatta::Misc;
-use Getopt::Long;
-
-use strict;
-use warnings;
-
-my $dnsforwarding_init = '/etc/init.d/dnsmasq';
-my $dnsforwarding_conf = '/etc/dnsmasq.conf';
-
-sub dnsforwarding_restart {
- system("$dnsforwarding_init restart >&/dev/null");
-}
-
-sub dnsforwarding_stop {
- system("$dnsforwarding_init stop >&/dev/null");
-}
-
-sub dnsforwarding_get_constants {
- my $output;
-
- my $date = `date`;
- chomp $date;
- $output = "#\n# autogenerated by vyatta-dns-forwarding.pl on $date\n#\n";
- $output .= "log-facility=/var/log/dnsmasq.log\n";
- $output .= "no-poll\n";
- $output .= "edns-packet-max=4096\n";
- system("rm -f /var/log/dnsmasq.log; touch /var/log/dnsmasq.log");
- return $output;
-}
-
-sub dnsforwarding_get_values {
-
- my $outside_cli = shift;
-
- my $output = '';
- my $config = new Vyatta::Config;
- my $use_dnsmasq_conf = 0;
- my (@listen_interfaces, $cache_size, @use_nameservers, $use_system_nameservers, @use_dhcp_nameservers, @domains, $server, $ignore_hosts_file);
-
- $config->setLevel("service dns forwarding");
-
- if ($outside_cli == 1) {
- @listen_interfaces = $config->returnOrigValues("listen-on");
- $cache_size = $config->returnOrigValue("cache-size");
- @use_nameservers = $config->returnOrigValues("name-server");
- $use_system_nameservers = $config->existsOrig("system");
- @use_dhcp_nameservers = $config->returnOrigValues("dhcp");
- @domains = $config->listOrigNodes("domain");
- $ignore_hosts_file = $config->returnOrigValue("ignore-hosts-file");
-
- } else {
- @listen_interfaces = $config->returnValues("listen-on");
- $cache_size = $config->returnValue("cache-size");
- @use_nameservers = $config->returnValues("name-server");
- $use_system_nameservers = $config->exists("system");
- @use_dhcp_nameservers = $config->returnValues("dhcp");
- @domains = $config->listNodes("domain");
- $ignore_hosts_file = $config->exists("ignore-hosts-file");
- }
-
- if (@listen_interfaces != 0) {
- foreach my $interface (@listen_interfaces) {
- $output .= "interface=$interface\n";
- }
- }
-
- if (defined $cache_size) {
- $output .= "cache-size=$cache_size\n";
- }
-
- if (defined $ignore_hosts_file) {
- $output .= "no-hosts\n";
- }
-
- if (@use_nameservers != 0) {
- $use_dnsmasq_conf = 1;
- foreach my $cli_nameserver (@use_nameservers) {
- $output .= "server=$cli_nameserver\t# statically configured\n";
- }
- }
-
- if (defined($use_system_nameservers)) {
- $use_dnsmasq_conf = 1;
- my $sys_config = new Vyatta::Config;
- $sys_config->setLevel("system");
- my @system_nameservers;
- if ($outside_cli == 1) {
- @system_nameservers = $sys_config->returnOrigValues("name-server");
- } else {
- @system_nameservers = $sys_config->returnValues("name-server");
- }
- if (@system_nameservers > 0) {
- foreach my $system_nameserver (@system_nameservers) {
- $output .= "server=$system_nameserver\t# system\n";
- }
- }
- }
- if (@domains != 0) {
- foreach my $domain (@domains) {
- my @domain_servers;
- if ($outside_cli == 1) {
- @domain_servers = $config->returnValues("domain $domain server");
- } else {
- @domain_servers = $config->returnValues("domain $domain server");
- }
- if (@domain_servers > 0) {
- foreach my $domain_server (@domain_servers) {
- $output .= "server=/$domain/$domain_server\t# domain-override\n";
- }
- }
- }
- }
-
- if (@use_dhcp_nameservers != 0) {
- $use_dnsmasq_conf = 1;
- foreach my $interface (@use_dhcp_nameservers) {
- my $dhcp_nameserver_count=`grep nameserver /etc/resolv.conf.dhclient-new-$interface 2>/dev/null | wc -l`;
- if ($dhcp_nameserver_count > 0) {
- my @dhcp_nameservers = `grep nameserver /etc/resolv.conf.dhclient-new-$interface`;
- for my $each_nameserver (@dhcp_nameservers) {
- my @nameserver = split(/ /, $each_nameserver, 2);
- my $ns = $nameserver[1];
- chomp $ns;
- $output .= "server=$ns\t# dhcp $interface\n";
- }
- }
- }
- }
-
- if ($use_dnsmasq_conf == 1) {
- $output .= "resolv-file=/etc/dnsmasq.conf\n";
- }
-
- return $output;
-}
-
-sub dnsforwarding_write_file {
- my ($config) = @_;
-
- open(my $fh, '>', $dnsforwarding_conf) || die "Couldn't open $dnsforwarding_conf - $!";
- print $fh $config;
- close $fh;
-}
-
-sub check_nameserver {
-
- my $cmd = `cat /etc/resolv.conf 2>/dev/null | awk {'print \$1'} | grep \^nameserver\$ | wc -l`;
- return $cmd;
-}
-
-sub check_system_nameserver {
-
- my $config = new Vyatta::Config;
- $config->setLevel("system");
- my @system_nameservers = $config->returnValues("name-server");
- return(@system_nameservers);
-
-}
-
-sub check_dhcp_interface {
-
- my $interface = shift;
-
- die "DNS forwarding error: $interface is not using DHCP to get an IP address\n"
- unless Vyatta::Misc::is_dhcp_enabled($interface);
-
- if (-e "/var/run/vyatta/dhclient/dhclient_release_$interface") {
-
- # dhcp released for the interface
- print "DNS forwarding warning: DHCP lease for $interface has been released by user\n";
- }
-
- return 1;
-}
-
-#
-# main
-#
-
-my ($update_dnsforwarding, $stop_dnsforwarding, $restart_dnsforwarding, $system_nameserver, $dhcp_interface, $outside_cli);
-
-GetOptions(
- "update-dnsforwarding!" => \$update_dnsforwarding,
- "stop-dnsforwarding!" => \$stop_dnsforwarding,
- "restart-dnsforwarding!" => \$restart_dnsforwarding,
- "system-nameserver!" => \$system_nameserver,
- "outside-cli!" => \$outside_cli,
- "dhcp-interface=s" => \$dhcp_interface
-);
-
-if (defined $system_nameserver) {
- my $system_nameserver_exists = check_system_nameserver();
- if ($system_nameserver_exists < 1){
- print "DNS forwarding warning: No name-servers set under 'system name-server'\n";
- }
-}
-
-if (defined $dhcp_interface) {
- if (!check_dhcp_interface($dhcp_interface)){
- exit 1;
- }
-}
-
-if (defined $update_dnsforwarding) {
- my $config;
- my $vyatta_config = new Vyatta::Config;
-
- $vyatta_config->setLevel("service dns forwarding");
- my $use_system_nameservers = $vyatta_config->exists("system");
- my @use_dhcp_nameservers = $vyatta_config->returnValues("dhcp");
- my @use_nameservers = $vyatta_config->returnValues("name-server");
-
- if (!(defined $use_system_nameservers) && (@use_dhcp_nameservers == 0) && (@use_nameservers == 0)) {
- my $nameserver_exists = check_nameserver();
- if ($nameserver_exists < 1){
- print "DNS forwarding warning: Currently, no name-servers to forward DNS queries\n";
- }
- }
-
- my $called_from_outside_cli = 0;
- if (defined $outside_cli){
- $called_from_outside_cli = 1;
- }
- $config = dnsforwarding_get_constants();
- $config .= dnsforwarding_get_values($called_from_outside_cli);
- dnsforwarding_write_file($config);
- dnsforwarding_restart();
-}
-
-if (defined $stop_dnsforwarding) {
- dnsforwarding_stop();
-}
-
-if (defined $restart_dnsforwarding) {
- dnsforwarding_restart();
-}
-
-exit 0;
-
-# end of file
-
diff --git a/scripts/install-system b/scripts/install-system
deleted file mode 100755
index 71fe0de1..00000000
--- a/scripts/install-system
+++ /dev/null
@@ -1,1664 +0,0 @@
-#!/bin/bash
-#
-# Module: install-system
-#
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2006, 2007 Vyatta, Inc.
-# All Rights Reserved.
-#
-# Author: Robert Bays
-# Date: 2006
-# Description:
-#
-# **** End License ****
-#
-# Vyatta system installer script.
-#
-
-if [ `whoami` != 'root' ] ; then
- echo "This script must be run with root privileges."
- exit 1
-fi
-
-# If you set VYATTA_AUTO_INSTALL I will try to do an automated install for you
-
-if [ -e /etc/default/vyatta ] ; then
- . /etc/default/vyatta
-fi
-
-# get system manufactuer, Xen needs special treatment
-MANUF=`/usr/sbin/dmidecode -s system-manufacturer`
-
-: ${vyatta_prefix:=/opt/vyatta}
-: ${vyatta_exec_prefix:=$vyatta_prefix}
-: ${vyatta_bindir:=${vyatta_exec_prefix}/bin}
-: ${vyatta_sbindir:=${vyatta_exec_prefix}/sbin}
-: ${vyatta_sysconfdir:=${vyatta_prefix}/etc}
-
-ofrconfdir=${vyatta_sysconfdir}/config
-fdconfdir=/media/floppy/config
-rootfsdir=/mnt/rootfs
-
-# By default this is not a union install
-# UNION=false
-
-# install log file name
-INSTALL_LOG=/tmp/install-$$.log
-# Absolute minimum root partition size in MB. Below this, we won't let
-# you install.
-ROOT_MIN=1000
-
-# the base install drive e.g. sda
-if [ -n "$INSTALL_DRIVE" ]; then
- INSTALL_DRIVE=""
-fi
-# the install partition e.g. sda1
-if [ -n "$ROOT_PARTITION" ]; then
- ROOT_PARTITION=""
-fi
-# the config partition e.g. sda2
-if [ -n "$CONFIG_PARTITION" ]; then
- CONFIG_PARTITION=""
-fi
-# the size of the root partition
-if [ -n "$ROOT_PARTITION_SIZE" ]; then
- ROOT_PARTITION_SIZE=""
-fi
-# global holding variable used in the select_partition sub
-PARTITION=''
-
-# default file system type
-if [ "$MANUF" = "Xen" ]; then
- ROOT_FSTYPE="ext3"
-else
- ROOT_FSTYPE="ext4"
-fi
-
-# start of root partition (64 sectors == 32K bytes)
-ROOT_OFFSET="64S"
-
-# Process ID of this script for the lame marketing spinner
-SPID=$$
-
-# Grub options
-GRUB_OPTIONS="quiet"
-
-# Enable Vesa framebuffer mode (comment out to disable)
-VGA_LOGO="vga=0x314" # 800 x 600 (16bit colors)
-
-# trap signals so we can kill runaway progress indicators
-trap 'progress_indicator stop; exit 1' 1
-trap 'progress_indicator stop; exit 1' 2
-
-# turn off any mounted swap partitions
-turnoffswap () {
- if [ -f "/proc/swaps" ]; then
- myresponse=$(cat /proc/swaps)
- if [ -n "$myresponse" ]; then
- echo "turning off swaps..." >> $INSTALL_LOG
- swapoff -a
- fi
- fi
-}
-
-tolower () {
- echo "$*" | tr '[:upper:]' '[:lower:]'
-}
-
-# Validates a user response. Returns the response if valid.
-# Returns the default is the user just hits enter.
-# Returns nothing if not valid. Default parameter is $1.
-# Options are in $2. If options are defined return must be a member
-# of the enum.
-get_response () {
- local ldefault=$(tolower "$1")
- local loptions=$(tolower "$2")
-
- # get the response from the user
- read myresponse
- myresponse=$(tolower "$myresponse")
-
- # Check to see if the user accepts the default
- if [ -z "$myresponse" ]; then
- echo -n $ldefault
- # if we are passing in options to check, make sure response is a valid option
- elif [ -n "$loptions" ]; then
- for token in $loptions
- do
- if [ "$token" == "$myresponse" ]; then
- echo -n "$myresponse"
- return 0
- fi
- done
- return 1
- else
- echo -n "$myresponse"
- fi
-
- return 0
-}
-
-# Return the size of the drive in MB
-get_drive_size () {
- local ldrive=$1
-
- # Get size of disk in 1k blocks
- local blocks=$(sfdisk -s /dev/$ldrive)
-
- # Translate to Megabytes (SI units)
- local bytes=$(($blocks * 1024))
- local lsize=$(($bytes / 1000000))
-
- echo $lsize
-}
-
-# Probe hardrives not shown in /proc/partitions by default
-probe_drives () {
- # Find drives that may not be in /proc/partitions since not mounted
- drive=$(ls /sys/block | grep '[hsv]d.')
-
- # now exclude all drives that are read-only
- for drive in $drive
- do
- if [ $(cat /sys/block/$drive/ro) -ne 0 ]
- then
- output=$(mount | grep $drive)
- if [ -z "$output" ]; then
- output=$(parted -s /dev/$drive p)
- fi
- fi
- done
-}
-
-
-warn_of_dire_consequences () {
- # Give the user a requisite warning that we are about to nuke their drive
- response=''
- while [ -z "$response" ]
- do
- echo "This will destroy all data on /dev/$INSTALL_DRIVE."
- echo -n "Continue? (Yes/No) [No]: "
- response=$(get_response "No" "Yes No Y N")
-
- if [ "$response" == "no" ] || [ "$response" == "n" ]; then
- echo "Ok then. Exiting..."
- exit 1
- fi
- done
-}
-
-
-
-check_for_old_raid () {
- # First, trigger construction of previously configured RAID groups
- echo -n "Looking for pre-existing RAID groups..."
- raid_config=`mdadm --examine --scan`
- if [ -z "$raid_config" ]; then
- echo "none found."
- return
- fi
-
- echo "found some."
- echo "Trying to configure pre-existing RAID groups..."
- mdadm --assemble --scan --auto=yes --symlink=no
-
- # Identify physical drives
- raid_drives=$(cat /proc/partitions | awk '{ if ($4!="name") { print $4 } }' | grep "md" | egrep -v "^$")
-
- if [ -z "$raid_drives" ]; then
- echo "Unable to configure any RAID groups."
- return
- fi
-
- numraids=`echo $raid_drives | wc -w`
-
- if [ $numraids -eq 1 ]; then
- echo "The following RAID group is now configured:"
- else
- echo "The following RAID groups are now configured:"
- fi
-
- for drive in $raid_drives
- do
- cat /proc/mdstat | grep --after-context 2 ^$drive | sed -e 's/^/\t/'
- done
-
- if [ $numraids -eq 1 ]; then
- echo -n "Would you like to use this one? (Yes/No) [Yes]:"
- else
- echo -n "Would you like to use one of these? (Yes/No) [Yes]:"
- fi
-
- response=$(get_response "Yes" "Yes No Y N")
- if [ "$response" == "no" ] || [ "$response" == "n" ]; then
- echo
- echo "Ok. Not using existing RAID groups."
- echo
-
- # pick the first RAID group to be broken
- raid_drive=$(echo $raid_drives | /usr/bin/awk '{ print $1 }')
-
- echo "Would you like to break RAID group $raid_drive so that its"
- echo "members can be re-used for a new installation, understanding"
- echo -n "that doing so will destroy all data on it? (Yes/No) [No]:"
- destroy_raid=$(get_response "No" "Yes No Y N")
- echo
-
- if [ "${destroy_raid:0:1}" = "y" ]; then
- echo "OK. Breaking the RAID group $raid_drive."
-
- members=`ls /sys/block/$raid_drive/slaves`
-
- echo "First, stopping all existing RAID groups:"
- mdadm --stop --scan
-
- for member in $members ; do
- drive=${member:0:3}
- part=${member:3:1}
- echo "Re-setting partition ID for RAID group $raid_drive member /dev/${member}:"
- sfdisk --change-id /dev/$drive $part 0x83
- echo "Clearing RAID superblock from RAID group $raid_drive member /dev/${member}."
- mdadm --zero-superblock /dev/$member
- done
- else
- echo "OK. Stopping, but not breaking, existing RAID groups:"
- mdadm --stop --scan
- fi
-
- echo
- return
- fi
-
- if [ $numraids -eq 1 ]; then
- INSTALL_DRIVE=$raid_drives
- else
- # take the first drive as the default
- INSTALL_DRIVE=$(echo $raid_drives | /usr/bin/awk '{ print $1 }')
- echo -n "Which one would you like to use? ($raid_drives) [$INSTALL_DRIVE]: "
- INSTALL_DRIVE=$(get_response "$INSTALL_DRIVE" "$drives")
- fi
-
- echo "Using RAID partition $INSTALL_DRIVE"
-
- raid_degraded=`cat /sys/block/$INSTALL_DRIVE/md/degraded`
- raid_sync_action=`cat /sys/block/$INSTALL_DRIVE/md/sync_action`
-
- if [ "$raid_degraded" = "1" ]; then
- echo
- if [ "$raid_sync_action" = "recover" ]; then
- echo "Error: This RAID set is degraded and is in the process of"
- echo "rebuilding. It is not safe to install onto it while the"
- echo "rebuild is in progress. Please wait for the rebuild to"
- echo "complete and then re-start the installation. You may"
- echo "monitor the progress of the RAID rebuild with the"
- echo "command:"
- echo
- echo " show raid $INSTALL_DRIVE"
- echo
- exit 1
- fi
- echo "Warning: This RAID set is degraded, but is not in the"
- echo "process of rebuilding. It is safe to perform the installation"
- echo "onto a degraded RAID set that is not in the process of"
- echo "rebuilding. You may stop the installation now and rebuild the"
- echo "RAID set, or continue installing onto it. If you continue"
- echo "installing, do not attempt to rebuild the RAID set until the"
- echo "installation has completed and you have rebooted the system."
- echo
- fi
-
- warn_of_dire_consequences
-
- ROOT_PARTITION=$INSTALL_DRIVE
-
- # make sure we aren't working on a mounted part
- unmount "$INSTALL_DRIVE"
-
- # check for an old config on the partition
- check_config_partition "$ROOT_PARTITION"
-
- # create the filesystem on the part
- make_filesystem "$ROOT_PARTITION"
-
- INSTALL_METHOD=RAID
-}
-
-check_for_new_raid () {
- # Identify physical drives
- drives=$(cat /proc/partitions | awk '{ if ($4!="name") { print $4 } }' | egrep -v "[0-9]$" | egrep -v "^$")
-
- numdrives=`echo $drives | wc -w`
-
- # Need at least two drives for RAID-1. We don't yet have the code
- # to handle selection of two from a set of 3 or more, so for now, we
- # only support two drives.
- #
- if [ $numdrives -ne 2 ]; then
- return
- fi
-
- drive1=`echo $drives | awk '{ print $1 }'`
- drive2=`echo $drives | awk '{ print $2 }'`
-
- drivesize1=$(get_drive_size $drive1)
- drivesize2=$(get_drive_size $drive2)
-
- # Both drives must have enough space to hold our minimum root filesystem
- #
- if [ $drivesize1 -lt $ROOT_MIN -o $drivesize2 -lt $ROOT_MIN ]; then
- return
- fi
-
-
- echo "You have two disk drives:"
- echo -e "\t$drive1 \t$drivesize1 MB"
- echo -e "\t$drive2 \t$drivesize2 MB"
-
- echo -n "Would you like to configure RAID-1 mirroring on them? (Yes/No) [Yes]:"
- response=$(get_response "Yes" "Yes No Y N")
- if [ "$response" == "no" ] || [ "$response" == "n" ]; then
- echo "Ok. Not configuring RAID-1."
- return
- fi
-
- if [ $drivesize1 -ne $drivesize2 ]; then
- echo "Since the disks are not the same size, we will use the smaller"
- echo "of the two sizes in configuring the RAID-1 set. This will"
- echo "waste some space on the larger drive."
- echo ""
- fi
-
- # Configure RAID-1
- echo "This process will erase all data on both drives."
- echo -n "Are you sure you want to do this? (Yes/No) [No]: "
- response=$(get_response "Yes" "Yes No Y N")
- if [ "$response" == "no" ] || [ "$response" == "n" ]; then
- echo "Ok. Not configuring RAID-1."
- return
- fi
-
- for drive in $drives
- do
- echo "Deleting old partitions on drive $drive"
- # remove any existing partitions on that drive
- delete_partitions "$drive"
- done
-
- # Need to leave space on both disks between the MBR and the start
- # of the first partition for grub. Grub needs to embed a large
- # boot image there when booting off RAID devices.
- #
- # Partition creation variables are in units of megabytes.
- part_start_offset=2
- part_diag_size=60
-
- if [ $drivesize1 -lt $drivesize2 ]; then
- root_size=$drivesize1
- else
- root_size=$drivesize2
- fi
-
- let min_size_with_diag=${MIN_ROOT}+${part_diag_size}
- if [ $root_size -ge $min_size_with_diag ]; then
- echo "Would you like me to create a $part_diag_size MB partition for diagnostics?"
- echo -n "(Yes/No) [No]: "
- diag_response=$(get_response "No" "Yes No Y N")
- if [ "$diag_response" == "yes" ] || [ "$diag_response" == "y" ]; then
- for drive in $drives
- do
- echo "Creating diag partition on drive $drive"
- create_partitions "$drive" $part_diag_size $part_start_offset "no"
- sfdisk --change-id /dev/$drive 1 0x6
- done
- data_dev=2
- let part_start_offset+=$part_diag_size
- else
- data_dev=1
- fi
- fi
-
- let root_size-=$part_start_offset
-
- for drive in $drives
- do
- echo "Creating data partition: /dev/${drive}${data_dev}"
- create_partitions "$drive" $root_size $part_start_offset "no"
- sfdisk --change-id /dev/$drive $data_dev 0xfd
- # mark data partition as bootable
- echo "Marking /dev/$drive partition $data_dev bootable" >> $INSTALL_LOG
- parted -s /dev/$drive set $data_dev boot on >> $INSTALL_LOG 2>&1
- done
-
- # Must give partition device time to settle
- sleep 5
- echo
-
- for drive in $drives
- do
- echo "Erasing any previous RAID metadata that may exist on /dev/${drive}${data_dev}"
- mdadm --zero-superblock /dev/${drive}${data_dev}
- done
-
- echo "Creating RAID-1 group on partitions: /dev/${drive1}${data_dev} /dev/${drive2}${data_dev}"
-
- raid_dev=md0
- mdadm --create /dev/$raid_dev --level=1 --raid-disks=2 --metadata=0.90 /dev/${drive1}${data_dev} /dev/${drive2}${data_dev}
-
- if [ $? = 0 -a -e /dev/$raid_dev ]; then
- echo "RAID-1 group created successfully:"
- cat /proc/mdstat | grep --after-context 2 ^$raid_dev | sed -e 's/^/\t/'
- else
- echo "Unable to create RAID-1 group!"
- return
- fi
-
- INSTALL_DRIVE=$raid_dev
- ROOT_PARTITION=$INSTALL_DRIVE
-
- # Give device time to settle...
- sleep 5
-
- # create the filesystem on the part
- make_filesystem "$ROOT_PARTITION"
-
- INSTALL_METHOD=RAID
-}
-
-
-# Takes an argument to display text before choice
-# Sets INSTALL_DRIVE. Note that select_drive should be wrapped
-# in the verification loop, not the included get_response.
-select_drive () {
- # list the drives in /proc/partitions. Remove partitions and empty lines.
- # the first grep pattern looks for devices named c0d0, hda, and sda.
- drives=$(cat /proc/partitions | \
- awk '{ if ($4!="name") { print $4 } }' | \
- egrep "c[0-9]d[0-9]$|[hsv]d[a-z]$" | \
- egrep -v "^$")
-
- # take the first drive as the default
- INSTALL_DRIVE=$(echo $drives | /usr/bin/awk '{ print $1 }')
-
- # Add the drive sizes to the display to help the user decide
- display=''
- for drive in $drives
- do
- size=$(get_drive_size $drive)
- display="$display $drive\t$size"MB"\n"
- done
-
- while true
- do
- # Display the drives and ask the user which one to install to
- echo -e "$display"
- echo
- echo -n "$1 [$INSTALL_DRIVE]:"
- response=$(get_response "$INSTALL_DRIVE" "$drives") && break
- done
- INSTALL_DRIVE="$response"
-
- echo
-}
-
-# Allow the user to select a partition to work with
-# sets the global PARTITION
-# $1 is the text to display before prompt
-select_partition () {
- minsize=$1
- text=$2
- exclude=$3
-
- echo -n "Looking for appropriate partitions: "
- progress_indicator start
-
- # initialize out global var. using globals in this way is bad form. I know.
- PARTITION=''
-
- # list only the partitions in /proc/partitions.
- parts=$(cat /proc/partitions | awk '{ if ($4!="name") { print $4 " "} }' | egrep "[0-9]" | egrep -v "loop" | tr -d '\n')
-
- # remove any partitions we have already previously used
- if [ -n "$exclude" ]; then
- for part in $parts;
- do
- temp=$(echo $part | egrep -v $exclude)
- parts_temp="$parts_temp $temp"
- done
- parts=$parts_temp
- fi
-
- # Get the partition sizes for display
- # only show linux partitions that have sizes, i.e. remove loops
- display=''
- myparts=''
- for part in $parts
- do
- if [ ${part:0:2} = "md" ]; then
- parttype="RAID"
- else
- rootdev=$(echo $part | sed 's/[0-9]//g')
- parttype=$(fdisk -l /dev/$rootdev | grep $part | grep Linux)
- fi
- if [ -n "$parttype" ]; then
- lsize=$(get_drive_size $part)
- if [ "$lsize" -a $lsize -ge $minsize ]; then
- display="$display $part\t\t$lsize"MB"\n"
- myparts="$myparts $part"
- fi
- fi
- done
-
- progress_indicator stop
- echo "OK"
-
- if [ -n "$myparts" ]; then
- lpartition=''
- while [ -z "$lpartition" ]
- do
- # take the first partition as the default
- lpartition=$(echo $myparts | /usr/bin/awk '{ print $1 }')
-
- echo "I found the following partitions suitable for the Vyatta image:"
- echo -e "Partition\tSize"
- echo -e "$display"
- echo
- echo -n "$text [$lpartition]: "
-
- lpartition=$(get_response "$lpartition" "$myparts")
- echo
- done
- else
- echo "No suitable partition sizes found. Exiting..." | tee $INSTALL_LOG
- exit 1
- fi
- PARTITION=$lpartition
-}
-
-rename_old_config() {
- files=$(find /mnt/config -mindepth 1 -type f | grep -v pre-glendale)
- for f in $files; do
- if grep -q '/\*XORP Configuration File, v1.0\*/' $f >&/dev/null; then
- CURTIME=$(date +%F-%H%M%S)
- mv $f $f.pre-glendale.$CURTIME
- fi
- done
-}
-
-# copy old config file from /mnt/tmp
-save_old_config() {
- local response=''
- while [ -z "$response" ]
- do
- echo "/dev/$lpart has an old configuration directory!"
- echo -ne "Would you like me to save the data on it\nbefore I delete it? (Yes/No) [Yes]: "
- response=$(get_response "Yes" "Yes No Y N")
- done
-
- if [ "$response" == "yes" ] || [ "$response" == "y" ]; then
- mkdir -p /mnt/config
- if [ -d /mnt/tmp/opt/vyatta/etc/config ]; then
- output=$(cp -pR /mnt/tmp/opt/vyatta/etc/config/* /mnt/config)
- else
- output=$(cp -pR /mnt/tmp/* /mnt/config)
- fi
- if [ -n "$output" ]; then
- echo -e "Warning: error in copying the old config partition.\nSee $INSTALL_LOG for more details."
- echo -e "Warning: error in copying the old config partition.\ncp -pR /mnt/tmp/* /mnt/config\n$output\n" >> $INSTALL_LOG
- fi
- rename_old_config
- fi
-}
-
-save_old_keys() {
- local response=''
-
- while [ -z "$response" ]
- do
- echo "/dev/$lpart has SSH host keys"
- echo -ne "Would you like me to keep SSH keys on new install? (Yes/No) [Yes]: "
- response=$(get_response "Yes" "Yes No Y N")
- done
-
- if [ "$response" == "yes" ] || [ "$response" == "y" ]; then
- mkdir -p /mnt/ssh
- output=$(cp -p /mnt/tmp/etc/ssh/ssh_host_* /mnt/ssh)
-
- if [ -n "$output" ]; then
- echo -e "Warning: error in copying the old ssh keys."
- echo -e "See $INSTALL_LOG for more details."
- echo "Warning: error in copying the old ssh keys." >> $INSTALL_LOG
- echo "cp -pR /mnt/tmp/etc/ssh/ssh_host_* /mnt/ssh" >> $INSTALL_LOG
- echo "$output\n">> $INSTALL_LOG
- fi
- fi
-}
-
-save_image_config() {
- image_name=$1
-
- # Cleanup from possible partial last run
- rm -fr /mnt/config
- mkdir /mnt/config
-
- output=$(cp -pR /mnt/tmp/boot/$image_name/live-rw/config/* /mnt/config)
-
- if [ -n "$output" ]; then
- echo -e "Warning: error in copying the old config partition.\nSee $INSTALL_LOG for more details."
- echo "Warning: error in copying the old config partition.\ncp -pR /mnt/tmp/* /mnt/config\n$output\n"
- fi
- rename_old_config
-}
-
-save_image_keys() {
- image_name=$1
-
- if [ ! -d /mnt/tmp/boot/$image_name/live-rw/etc/ssh ]; then
- echo "No SSH keys found on $image_name, so none can be saved."
- return;
- fi
-
- echo -n "Would you like to save SSH keys from $image_name too? (Yes/No) [Yes] "
-
- response=$(get_response "Yes" "Yes No Y N")
- if [ "$response" != "yes" ] && [ "$response" != "y" ]; then
- echo "OK. SSH keys not saved."
- return
- fi
-
- mkdir -p /mnt/ssh
- output=$(cp -p /mnt/tmp/boot/$image_name/live-rw/etc/ssh/ssh_host_* /mnt/ssh)
-
- if [ -n "$output" ]; then
- echo -e "Warning: error in copying the old ssh keys."
- echo -e "See $INSTALL_LOG for more details."
- echo "Warning: error in copying the old ssh keys." >> $INSTALL_LOG
- echo "cp -pR /mnt/tmp/etc/ssh/ssh_host_* /mnt/ssh" >> $INSTALL_LOG
- echo "$output\n">> $INSTALL_LOG
- return
- fi
-
- # reset modes on keys (should already be set)
- chmod 600 /mnt/ssh/*_key 2>&1
- chmod 644 /mnt/ssh/*.pub 2>&1
-
- echo "SSH keys have been saved."
-}
-
-
-
-## check_config_partition
-# look to see if this partition contains a config file
-# and back it up
-check_config_partition() {
- lpart=$1
- copied=0
-
- # Cleanup from possible partial last run
- rm -fr /mnt/config
-
- # Look to see if this is a config partition
- mkdir -p /mnt/tmp
- output=$(mount -r /dev/$lpart /mnt/tmp 2>&1)
- if [ $? != 0 ]; then
- echo -e "Cannot mount /dev/$lpart"."\nmount /dev/$ldrive$part /mnt/tmp\nExiting..." >> $INSTALL_LOG
- echo "$output" >> $INSTALL_LOG
- return
- fi
-
- # Look to see if there is a config partition there
- if [ -f /mnt/tmp/opt/vyatta/etc/config/.vyatta_config ] ||
- [ -f /mnt/tmp/.vyatta_config ]; then
- save_old_config
- copied=1
- fi
-
- # Look to see if there are SSH host keys
- if [ -d /mnt/tmp/etc/ssh ]; then
- save_old_keys
- copied=1
- fi
-
- if [ $copied -eq 0 ]; then
- # Check for images
- images=()
- image_dirs=/mnt/tmp/boot/*
-
- for dir in $image_dirs; do
- if [ -f $dir/live-rw/config/.vyatta_config ]; then
- item=${dir##/mnt/tmp/boot/}
- images=($item ${images[@]})
- fi
- done
-
- num_images=${#images[@]}
-
- if [ $num_images -gt 0 ]; then
- echo "I found the following installed system image(s) with config files on $part:"
- for (( i = 0; i < $num_images; i++ )); do
- echo " $((i + 1)): ${images[$i]}"
- done
-
- if [ $num_images -eq 1 ]; then
- echo -n "Would you like to save config information from it? (Yes/No) [Yes] "
- else
- echo -n "Would you like to save config information from one? (Yes/No) [Yes] "
- fi
-
- response=$(get_response "Yes" "Yes No Y N")
- if [ "$response" != "yes" ] && [ "$response" != "y" ]; then
- echo "OK. Config information not saved."
- umount /mnt/tmp
- return
- fi
-
- if [ $num_images -gt 1 ]; then
- image_index=-1
- while [ $image_index -lt 0 -o $image_index -ge $num_images ]; do
- echo -n "Which image would you like to use? (1 .. $num_images): "
- read num
- image_index=$((num - 1))
- done
- else
- image_index=0
- fi
-
- image_name=${images[$image_index]}
- echo "Saving config information from image $image_name."
- save_image_config $image_name
- echo "Done."
- save_image_keys $image_name
- fi
- fi
- umount /mnt/tmp
-}
-
-# Delete all existing partitions for an automated install
-# $1 is the drive to delete partitions from
-delete_partitions () {
- ldrive=$1
-
- # get the partitions on the drive
- # in the first grep below we add the optional [p] in order to accomdate cciss drives
- partitions=$(cat /proc/partitions | grep $ldrive[p]*[0-9] | awk '{ print $4 }' | sed 's/\(.*\)\([0-9]$\)/\2/g' | grep -v "^$")
-
- # now for each part, blow it away
- for part in $partitions
- do
- # Look to see if this is a config partition
- check_config_partition "$ldrive$part"
-
- echo "Removing partition $part on /dev/$ldrive" >> $INSTALL_LOG
- output=$(parted -s /dev/$ldrive rm $part)
- status=$?
- if [ "$status" != 0 ]; then
- echo -e "Warning: cannot delete partition $part on $ldrive.\nPlease see $INSTALL_LOG for more details."
- echo -e "Warning: cannot delete partition $part on $ldrive.\nparted /dev/$ldrive rm $part\n$output" >> $INSTALL_LOG
- fi
-
- # We add a bogus sleep here because the loop needs to wait for udev
- sleep 5
- done
-}
-
-# make a filesystem on the drive
-# $1 is the drive to format
-make_filesystem () {
- ldrive=$1
-
- echo -n "Creating filesystem on /dev/$ldrive: "
- echo "Creating filesystem on /dev/$ldrive..." >> $INSTALL_LOG
-
- progress_indicator start
- output=$(mkfs -t $ROOT_FSTYPE /dev/$ldrive 2>&1)
- status=$?
- if [ "$status" != 0 ]; then
- echo -e "Error: couldn't create the root filesystem.\nSee $INSTALL_LOG for further details.\nExiting..."
- echo -e "Error: couldn't create the root filesystem.\n/sbin/mke2fs -j /dev/$ldrive\n$output"
- exit 1
- fi
- progress_indicator stop
- echo "OK"
-}
-
-# create the root partition
-# $1 is the install drive e.g. sda
-# $2 is the partition size e.g. 512
-# This will set the global ROOT_PARTITION
-create_partitions() {
- ldrive=$1
- root_part_size=$2
- start_offset=$3
- initialize_fs=$4
-
- # Make sure there is enough space on drive
- size=$(get_drive_size "$ldrive")
- if [ "$root_part_size" -gt "$size" ]; then
- echo "Error: $ldrive is only $size"MB" large. Desired root is $root_part_size"
- exit 1
- fi
-
- # Make sure you can print disk info using parted
- parted --script /dev/$ldrive p >/dev/null 2>&1
-
- # If unable to read disk, it's likely it needs a disklabel
- if [ "$?" != "0" ]; then
- echo "Creating a new disklabel on $ldrive"
- echo "parted /dev/$ldrive mklabel msdos"
- output=$(parted -s /dev/$ldrive mklabel msdos)
-
- parted --script /dev/$ldrive p >/dev/null 2>&1
- if [ "$?" != "0" ]; then
- echo "Unable to read disk label. Exiting."
- exit 1
- fi
- fi
-
- echo "Creating root partition on /dev/$ldrive" >> $INSTALL_LOG
-
- # make the root partition
- # align at optimal block boundary
- output=$(parted -s /dev/$ldrive mkpart primary $start_offset $root_part_size)
- status=$?
- if [ "$status" != 0 ]; then
- echo -e "Error creating primary partition on $ldrive.\nPlease see $INSTALL_LOG for more details.\nExiting..."
- echo -e "Error creating primary partition on $ldrive.\nparted /dev/$ldrive mkpart primary $start_offset $root_part_size\n$output" >> $INSTALL_LOG
- exit 1
- fi
-
- # set the partition number on the device.
- if [ -n "$( echo $ldrive | grep -E "cciss|ida" )" ]; then
- # if this is a cciss
- ROOT_PARTITION=$ldrive"p1"
- else
- # else... the rest of the world
- ROOT_PARTITION=$ldrive"1"
- fi
- # udev takes time to re-add the device file, so wait for it
- while [ ! -b "/dev/$ROOT_PARTITION" ]
- do
- sleep 1
- done
-
- if [ "$initialize_fs" = "yes" ]; then
- # make the root and config file systems.
- make_filesystem "$ROOT_PARTITION"
- fi
-}
-
-# Copy directory with pretty progress bar
-copy_filesystem() {
- cp -r -v --preserve=all "$@" | awk '{
- ++files
- if ((files % 100) == 0) {
- percent = files / total_files * 100
- printf "%3d%% [", percent
- for (i=0;i<percent; i+=2)
- printf "="
- printf ">"
- for (;i<100;i+=2)
- printf " "
- printf "]\r"
- fflush()
- }
- }' total_files=$(find "$@" | wc -l)
-}
-
-# Install the root filesystem
-# $1 is the partition to install on
-install_root_filesystem () {
- ldrive=$1
- version=`dpkg-query --showformat='${Version}' --show vyatta-version`
-
- dpkg="/usr/bin/dpkg --force-all --root=$rootfsdir"
- echo "Mounting /dev/$ldrive "
- echo "Mounting /dev/$ldrive..." >> $INSTALL_LOG
-
- # make the mount point
- output=$(/bin/mkdir -p $rootfsdir)
-
- # mount the partition
- output=$(mount /dev/$ldrive $rootfsdir)
- status=$?
-
- if [ "$status" != 0 ]; then
- echo -e "Error trying to mount the new root partition.\nPlease see $INSTALL_LOG for details.\nExiting..."
- echo -e "Error trying to mount the new root partition.\nmount /dev/$ldrive $rootfsdir\n$output" >> $INSTALL_LOG
- exit 1
- fi
-
- if [ -z "$UNION" ]; then
- echo "Copying system files to /dev/$ROOT_PARTITION: "
- # Mount the squashfs for copying
- output=$(mkdir -p /mnt/squashfs)
- if [ -f /live/image/live/filesystem.squashfs ]; then
- output=$(mount /live/image/live/filesystem.squashfs /mnt/squashfs -t squashfs -o loop)
- status=$?
- elif [ -f /live/image/boot/$version/$version.squashfs ]; then
- output=$(mount /live/image/boot/$version/$version.squashfs /mnt/squashfs -t squashfs -o loop)
- status=$?
- else
- echo -e "Error: Unable to find a squash image. To install natively\nthe install media must be a livecd or a union install.\nExiting...\n\n"
- echo -e "Error: Unable to find a squash image. To install natively\nthe install media must be a livecd or a union install.\nExiting...\n\n" >> $INSTALL_LOG
- exit 1
- fi
-
- if [ "$status" != 0 ]; then
- echo -e "Error trying to mount the squashfs.\nPlease see install log for more details.\nExiting..."
- echo -e "Error trying to mount the squashfs.\nmount /live/image/live/filesystem.squashfs /mnt/squashfs -t squashfs -o loop\n$output" >> $INSTALL_LOG
- exit 1
- fi
-
- echo "Copying /mnt/squashfs/* to $rootfsddir" >>$INSTALL_LOG
- copy_filesystem /mnt/squashfs/* $rootfsdir 2>>$INSTALL_LOG
- status=$?
- echo
-
- if [ "$status" != 0 ]; then
- echo -e "Error trying to copy the rootfs.\nPlease see install log for more details.\nExiting..."
- exit 1
- fi
-
- # unmount the squashfs. No big deal if it fails.
- output=$(umount /mnt/squashfs)
-
- # create the fstab
- local rootdev="/dev/$ROOT_PARTITION";
- uuid=$(dumpe2fs -h $rootdev 2>/dev/null | awk '/^Filesystem UUID/ {print $3}')
- if [ -z "$uuid" ]
- then
- echo "Unable to read filesystem UUID. Exiting."
- exit 1
- else
- if [ "$MANUF" = "Xen" ]; then
- #disable barriers explicitly (just incase)
- echo -e "UUID=$uuid\t/\t$ROOT_FSTYPE\tnoatime,nobarrier\t0 1" >> $rootfsdir/etc/fstab
- else
- echo -e "UUID=$uuid\t/\t$ROOT_FSTYPE\tnoatime\t0 1" >> $rootfsdir/etc/fstab
- fi
- fi
-
- #setup the hostname file
- cp /etc/hostname $rootfsdir/etc/
- cp /etc/hosts $rootfsdir/etc/
-
- progress_indicator stop
- echo "OK"
- else
- # UNION install
- mkdir -p $rootfsdir/boot/$version
- ## make dir for backing store
- mkdir -p $rootfsdir/boot/$version/live-rw
- if [ -f /live/image/live/filesystem.squashfs ]; then
- echo Copying squashfs image...
- cp /live/image/live/filesystem.squashfs $rootfsdir/boot/$version/$version.squashfs
- echo Copying kernel and initrd images...
- cp -a /boot/* $rootfsdir/boot/$version/
- else
- echo Copying image files...
- cp -ar /live/image/boot/$version $rootfsdir/boot/
- fi
- fi
-}
-
-# copy the configuration to the config partition
-# $1 is the config partition device
-copy_config () {
- config_partition=$1
- lerror=''
- config_default=$vyatta_sysconfdir/config.boot.default
- tmp_config_default=/tmp/${vyatta_sysconfdir//\//__}
-
- # create the config directory on the union file system
- mkdir -p $rootfsdir$ofrconfdir
-
- # create the proper perms on the new config partition
- chgrp vyattacfg $rootfsdir$ofrconfdir
- chmod 775 $rootfsdir$ofrconfdir
-
- # create our config partition marker
- touch $rootfsdir$ofrconfdir/.vyatta_config
-
- if [ -d /mnt/config ]; then
- echo "Copying old configurations to config partition."
- cp -pR /mnt/config/* $rootfsdir$ofrconfdir
- else
- # Find the config files and give the user the option to copy config files
- # TODO: this needs cleaned up
- if [ -f $ofrconfdir/config.boot ]; then
- config=$ofrconfdir/config.boot
- fi
- if [ -f $fdconfdir/config.boot ]; then
- if [ -z "$config" ]; then
- config="$fdconfdir/config.boot"
- else
- config="$config $fdconfdir/config.boot"
- fi
- fi
-
- if [ -n "$config" ]; then
- echo "I found the following configuration files"
- for file in $config
- do
- echo $file
- done
-
- default=$(echo -e $config | awk '{ print $1 }')
-
- while [ -z "$configfile" ]
- do
- echo -n "Which one should I copy to $INSTALL_DRIVE? [$default]: "
- configfile=$(get_response "$default" "$config")
- done
-
- echo
- output=$(cp $configfile $rootfsdir$ofrconfdir)
- if [ -n "$output" ]; then
- echo "Error copying file $configfile to config directory. Exiting..." >> $INSTALL_LOG
- exit 1
- fi
- fi
- fi
-
- # set the permissions on the new config file
- if [ -f $rootfsdir$ofrconfdir/config.boot ]; then
- chgrp vyattacfg $rootfsdir$ofrconfdir/config.boot
- chmod 775 $rootfsdir$ofrconfdir/config.boot
- fi
-}
-
-# copy the saved ssh host key to the new install
-copy_sshkeys() {
- if [ -d /mnt/ssh ]; then
- echo "Copying SSH keys."
- cp -p /mnt/ssh/* $rootfsdir/etc/ssh
- fi
-}
-
-set_encrypted_password() {
- sed -i \
- -e "/ user $1 {/,/}/s/encrypted-password.*\$/encrypted-password \"$2\"/" $3
-}
-
-change_password() {
- local user=$1
- local pwd1="1"
- local pwd2="2"
-
- until [[ "$pwd1" == "$pwd2" ]]
- do
- read -p "Enter password for user '$user': " -r -s pwd1 <>/dev/tty 2>&0
- echo
- if [[ "$pwd1" == "" ]]; then
- echo "'' is not a valid password"
- continue
- fi
- read -p "Retype password for user '$user':" -r -s pwd2 <>/dev/tty 2>&0
- echo
-
- if [ "$pwd1" != "$pwd2" ]
- then
- echo "Passwords do not match"
- fi
- done
-
- # escape any slashes in resulting password
- local epwd=$(mkpasswd -H md5 "$pwd1" | sed 's:/:\\/:g')
- set_encrypted_password $user $epwd $rootfsdir$ofrconfdir/config.boot
-}
-
-# setup grub on the boot sector of a user queried drive
-install_grub () {
- # we now use INSTALL_DRIVE to reference the grub boot drive.
- # that way I can re-use select_drive. I'm lazy that way.
-
- if [ ${INSTALL_DRIVE:0:2} != "md" ]; then
- INSTALL_DRIVE=''
- fi
-
- mkdir -p $rootfsdir/boot/grub
- # Let the user choose the boot sector
-
- while [ -z "$INSTALL_DRIVE" ]
- do
- echo "I need to install the GRUB boot loader."
- echo "I found the following drives on your system:"
- select_drive "Which drive should GRUB modify the boot partition on?"
- done
-
- echo -n "Setting up grub: "
- echo "Setting up grub..." >> $INSTALL_LOG
-
- # Install grub in the boot sector of the primary drive
- progress_indicator start
- grub-install --no-floppy --recheck --root-directory=$rootfsdir /dev/$INSTALL_DRIVE >>$INSTALL_LOG 2>&1
- progress_indicator stop
-
- # Check if using aufs
- if grep -q aufs /proc/filesystems
- then
- if [ -z "$grub_options" ]
- then
- grub_options="union=aufs"
- else
- grub_options="$grub_options union=aufs"
- fi
- fi
-
- version=`dpkg-query --showformat='${Version}' --show vyatta-version`
-
- # if union install tell vyatta-grub-setup
- if [ -n "$UNION" ]; then
- grub_args="-u $version"
- else
- grub_args="-v $version"
- fi
-
- if /opt/vyatta/sbin/vyatta-grub-setup $grub_args "$ROOT_PARTITION" "$grub_options" /mnt/rootfs >>$INSTALL_LOG
- then
- echo "OK"
- else
- echo Grub failed to install!
- exit 1
- fi
-}
-
-# ask for user input on the parted and skip setup methods
-# $1 is whether or not to run parted
-# sets globals INSTALL_DRIVE, ROOT_PARTITION, CONFIG_PARTITION
-setup_method_manual() {
- parted=$1
-
- echo "The VyOS install needs a minimum ${ROOT_MIN}MB root"
- echo "with partiton type 83 (Linux)."
- echo -e "\n\n"
-
- # if this is parted, let the user create the partitions
- if [ "$INSTALL_METHOD" == "parted" ] || [ "$INSTALL_METHOD" == "p" ]; then
- while [ -z "$INSTALL_DRIVE" ]
- do
- # TODO: right now we only run parted on a single drive
- echo -e "\nI found the following drives on your system:"
- select_drive "Which drive would you like to run parted on?"
-
- done
-
- # Unmount the install drive if it is mounted
- unmount "$INSTALL_DRIVE"
-
- # Run parted and let the user configure
- parted /dev/$INSTALL_DRIVE
- fi
-
- # Ask for the root partition and make sure it's valid
- while [ -z "$ROOT_PARTITION" ]
- do
- select_partition 500 "Which partition should I install the root on?"
- # Note that PARTITION is defined in select partition
- ROOT_PARTITION=$PARTITION
- unmount "$ROOT_PARTITION"
- vd=$(grep $ROOT_PARTITION /proc/partitions | awk '{ print $4 }')
-
- if [ -z "$vd" ]; then
- echo
- echo "$ROOT_PARTITION is an invalid partition. Please try again."
- ROOT_PARTITION=""
- fi
- done
-
- # check for an old config on the partition
- check_config_partition "$ROOT_PARTITION"
-
- # create the filesystem on the part
- make_filesystem "$ROOT_PARTITION"
-
- # We need to set the INSTALL_DRIVE if it wasn't set when the user ran parted
- # We assume that we will use the boot sector of the same drive that the
- # partition is on.
- # TODO: Allow different drives to function as the boot device
- if [ -z "$INSTALL_DRIVE" ]; then
- if [ ${ROOT_PARTITION:0:2} = "md" ]; then
- INSTALL_DRIVE=$ROOT_PARTITION
- else
- INSTALL_DRIVE=$(echo $ROOT_PARTITION | sed 's/[0-9]//g')
- fi
- fi
-}
-
-# Walk the user through the auto setup method
-# sets globals INSTALL_DRIVE, ROOT_PARTITION, CONFIG_PARTITION
-setup_method_auto() {
- while [ -z "$INSTALL_DRIVE" ]
- do
- echo "I found the following drives on your system:"
- select_drive "Install the image on?"
-
- # check to make sure the drive is large enough to hold the image
- if [ -n "$INSTALL_DRIVE" ]; then
- lsize=$(get_drive_size "$INSTALL_DRIVE")
- total=$ROOT_MIN
- if [ "$total" -gt "$lsize" ]; then
- echo "Unfortunately, VyOS requires a total of at least $total"MB" to properly install."
- echo "$INSTALL_DRIVE is below the minimum required capacity and therefore, cannot be used to"
- echo -e "complete the installation.\n"
- echo "If other drives are present"
- echo -e "Please select another drive...\n"
-
- INSTALL_DRIVE=''
- fi
- fi
- done
-
- warn_of_dire_consequences
-
- echo
-
- # make sure we aren't working on a mounted part
- unmount "$INSTALL_DRIVE"
-
- # remove any existing partitions on that drive
- delete_partitions "$INSTALL_DRIVE"
-
- # Enforce minimum partion size requirement.
- ROOT_PARTITION_SIZE=0
- while [ $ROOT_MIN -gt $ROOT_PARTITION_SIZE ]; do
- # Get the size of the drive
- size=$(get_drive_size $INSTALL_DRIVE)
-
- # If drive is big, leave more space 512K bytes (1024 sectors)
- # this is better for SSD
- if (( $size > 10000 )); then
- ROOT_OFFSET="1024S"
- fi
-
- echo -n "How big of a root partition should I create? ($ROOT_MIN"MB" - $size"MB") [$size]MB: "
- response=$(get_response "$size")
- # TODO: need to have better error checking on this value
- ROOT_PARTITION_SIZE=$(echo "$response" | sed 's/[^0-9]//g')
- if [ $ROOT_PARTITION_SIZE -lt $ROOT_MIN ] || [ $ROOT_PARTITION_SIZE -gt $size ]; then
- echo "Root partion must be between $ROOT_MIN"MB" and $size"MB""
- echo
- ROOT_PARTITION_SIZE=0
- fi
- done
-
- echo
-
- # now take the data and create the partitions
- create_partitions "$INSTALL_DRIVE" "$ROOT_PARTITION_SIZE" "$ROOT_OFFSET" "yes"
- # mark data partition as bootable
- echo "Marking /dev/$INSTALL_DRIVE partition 1 as bootable" >> $INSTALL_LOG
- parted -s /dev/$INSTALL_DRIVE set 1 boot on >> $INSTALL_LOG 2>&1
- # Must give partition device time to settle
- sleep 5
-}
-
-# walk the user through a union setup
-# sets globals INSTALL_DRIVE, ROOT_PARTITION, CONFIG_PARTITION
-setup_method_union() {
- UNION=1
-
- echo "A union install requires an image partition of at least 250mbs."
- echo "If you want to accomodate more than one image on the partition,"
- echo "it should be larger. Each image is roughly 200mbs. This "
- echo "partition will be the bootable partition for this machine."
- echo
-
- # Ask for the image partition and make sure it's valid
- while [ -z "$ROOT_PARTITION" ]
- do
- select_partition 250 "Which partition should I install the images on?"
- # Note that PARTITION is defined in select partition
- ROOT_PARTITION=$PARTITION
- unmount "$ROOT_PARTITION"
- vd=$(grep $ROOT_PARTITION /proc/partitions | awk '{ print $4 }')
-
- if [ -z "$vd" ]; then
- echo
- echo "$ROOT_PARTITION is an invalid partition. Please try again."
- ROOT_PARTITION=""
- fi
- done
-
- echo Creating filesystem on $ROOT_PARTITION
- make_filesystem $ROOT_PARTITION
-
- echo
- echo "An optional writable persistent root partition may also"
- echo "be created. This partition will allow you to store "
- echo "files between reboots and upgrade packages."
- echo
- echo -n "Would you like to create a persistent root partition? (Yes/No) [Yes]: "
- response=$(get_response "Yes" "Yes No Y N")
- if [ "$response" == "yes" ] || [ "$response" == "y" ]; then
- echo "The persistent root partition should be a minimum of 50mbs"
- echo "for log files. If you plan on adding any other software or"
- echo "upgrading it, the root partition should be large enough to"
- echo "accomodate those packages"
-
- # Ask for the union partition and make sure it's valid
- while [ -z "$UNION_PARTITION" ]
- do
- select_partition 50 "Which partition should I install the binary images on?" "$ROOT_PARTITION"
- # Note that PARTITION is defined in select partition
- UNION_PARTITION=$PARTITION
- unmount "$UNION_PARTITION"
- vd=$(grep $UNION_PARTITION /proc/partitions | awk '{ print $4 }')
-
- if [ -z "$vd" ]; then
- echo
- echo "$UNION_PARTITION is an invalid partition. Please try again."
- UNION_PARTITION=""
- fi
- done
-
- echo Creating filesystems on $ROOT_PARTITION
- make_filesystem $UNION_PARTITION
-
- echo Labeling $UNION_PARTITION
- e2label /dev/$UNION_PARTITION live-rw
- fi
-}
-
-unmount () {
- # grab the list of mounted drives
- # make sure to reverse sort so as to unmount up the tree
- mounted=$(mount | grep "$1" | cut -f3 -d' ' | sort -r)
- if [ -n "$mounted" ]; then
- echo "I need to unmount: "
- echo "$mounted"
-
- response=''
- while [ -z "$response" ]
- do
- echo -n "Continue (Yes/No) [No]: "
- response=$(get_response "No" "Yes No Y N")
- if [ "$response" == "no" ] || [ "$response" == "n" ]; then
- echo -e "Ok then. Need to unmount to continue.\nExiting..."
- exit 1
- fi
- done
-
- for parts in "$mounted"
- do
- echo "umount $parts" >> $INSTALL_LOG
- output=$(umount $parts)
- status=$?
- if [ "$status" != 0 ]; then
- echo -e "Exiting: error unmounting $parts.\nPlease see $INSTALL_LOG for more details."
- echo -e "Exiting: error unmounting $parts.\numount $parts\n$output" >> $INSTALL_LOG
- exit 1
- fi
- done
- fi
-}
-
-setup_xen_partition_images () {
- if [ -d "$rootfsdir/var/xen/" ]; then
- echo Setting up Xen virtual machine images
- compressed_images=$(ls $rootfsdir/var/xen/*.img.gz 2> /dev/null)
- if [ -n "$compressed_images" ]; then
- for cmp_img in $compressed_images; do
- # uncompress the image
- uncmp_img=$(echo $cmp_img | sed s'/.gz$//')
- if [ ! -f "$uncmp_img" ]; then
- echo decompressing $cmp_img
- gzip -dc $cmp_img > $uncmp_img
- fi
- done
- fi
- echo
- fi
-}
-
-setup_xen_extras () {
- echo "Setting up config files for Xen..."
- # Set up /boot/grub/menu.lst for use by pygrub
- grubfile=$rootfsdir/boot/grub/menu.lst
- echo "timeout 5" >> $grubfile
- echo "" >> $grubfile
- echo "title vyos-virt" >> $grubfile
- echo "root (hd0,0)" >> $grubfile
- echo "kernel /boot/vmlinuz root=/dev/xvda1 ro console=hvc0" >> $grubfile
- echo "initrd /boot/initrd.img" >> $grubfile
-
- # Add /proc/xen entry to fstab
- echo "xenfs /proc/xen xenfs defaults 0 0" >> $rootfsdir/etc/fstab
-
- # Comment out serial port entry and add Xen console entry to inittab.
- inittab=$rootfsdir/etc/inittab
- sed -i -e 's/^T0/#T0/' $inittab
- echo "" >> $inittab
- echo "h0:12345:respawn:/sbin/getty 38400 hvc0" >> $inittab
-}
-
-check_for_xen_extras () {
- prod=`/usr/sbin/dmidecode -s system-product-name`
- if [ "$MANUF" = "Xen" -a "$prod" = "HVM domU" ]; then
- echo "You are installing to a $MANUF $prod virtual machine."
- echo "Would you like to set up config files to prepare for the"
- echo -n "conversion to PV domU? [No]: "
- response=$(get_response "No" "Yes No Y N")
- if [ "$response" == "yes" ] || [ "$response" == "y" ]; then
- setup_xen_extras
- fi
- fi
-}
-
-progress_indicator () {
- case "$1" in
- start) $vyatta_bindir/progress-indicator $SPID &
- ;;
- *)
- if ! rm /tmp/pi.$SPID 2>/dev/null
- then
- sleep 1
- rm /tmp/pi.$SPID 2>/dev/null
- fi
-
- sleep 1
- echo -n -e "\b"
- ;;
- esac
-}
-
-##### Main
-##
-# turn off any mounted swap files
-turnoffswap
-
-# Print welcome and instructions.
-echo "Welcome to the VyOS install program. This script"
-echo "will walk you through the process of installing the"
-echo "VyOS image to a local hard drive."
-echo
-
-response=''
-while [ -z "$response" ]
-do
- echo -n "Would you like to continue? (Yes/No) [Yes]: "
- response=$(get_response "Yes" "Yes No Y N")
- if [ "$response" == "no" ] || [ "$response" == "n" ]; then
- echo "Ok then. Exiting..."
- exit 1
- fi
-done
-
-# some drives don't show up in /proc/partitions so we need to bootstrap them
-echo -n "Probing drives: "
-progress_indicator start
-probe_drives
-progress_indicator stop
-echo "OK"
-
-INSTALL_METHOD=''
-check_for_old_raid
-if [ -z "$INSTALL_METHOD" ]; then
- check_for_new_raid
-fi
-
-if [ -z "$INSTALL_METHOD" ]; then
- echo "The VyOS image will require a minimum ${ROOT_MIN}MB root."
- echo "Would you like me to try to partition a drive automatically"
- echo "or would you rather partition it manually with parted? If"
- echo "you have already setup your partitions, you may skip this step."
- echo
-
- while [ -z "$INSTALL_METHOD" ]
- do
- echo -n "Partition (Auto/Union/Parted/Skip) [Auto]: "
- INSTALL_METHOD=$(get_response "Auto" "Auto Parted Skip Union A P S U")
- done
-
- echo
-fi
-
-# Unless doing union install, must be from live cd
-if [ $INSTALL_METHOD != "union" -a $INSTALL_METHOD != "u" ] &&
- [ -w /live/image -o ! -d /live/image ]
-then
- echo "install-system can only be run from livecd"
- echo "(except if doing union install)"
- exit 1
-fi
-
-# TODO: Note installs assume an LBA BIOS. So no boot partition currently.
-# also note that we are not creating a swap partition right now.
-if [ "$INSTALL_METHOD" == "parted" ] || [ "$INSTALL_METHOD" == "p" ]; then
- setup_method_manual "parted"
-elif [ "$INSTALL_METHOD" == "skip" ] || [ "$INSTALL_METHOD" == "s" ]; then
- setup_method_manual "skip"
-elif [ "$INSTALL_METHOD" == "auto" ] || [ "$INSTALL_METHOD" == "a" ]; then
- setup_method_auto
-elif [ "$INSTALL_METHOD" == "union" ] || [ "$INSTALL_METHOD" == "u" ]; then
- echo "A union install requires an image partition of at least 250mbs."
- echo "If you want to accomodate more than one image on the partition,"
- echo "it should be larger. Each image is roughly 200mbs. This "
- echo "partition will be the bootable partition for this machine."
- echo
-
- UNION=1
- setup_method_auto
-elif [ "$INSTALL_METHOD" == "vyatta" ]; then
- echo "Automated install..."
- echo "unmounting $INSTALL_DRIVE"
- unmount "$INSTALL_DRIVE"
- echo "deleting partitions on $INSTALL_DRIVE"
- delete_partitions "$INSTALL_DRIVE"
- echo "creating config partition"
- create_partitions "$INSTALL_DRIVE" "$ROOT_PARTITION_SIZE" "$ROOT_OFFSET" "yes"
- # mark data partition as bootable
- echo "Marking /dev/$INSTALL_DRIVE partition 1 as bootable" >> $INSTALL_LOG
- parted -s /dev/$INSTALL_DRIVE set 1 boot on >> $INSTALL_LOG 2>&1
- # Must give partition device time to settle
- sleep 5
-fi
-
-# Install the root filesystem
-install_root_filesystem "$ROOT_PARTITION"
-
-# Copy the config files
-copy_config "$CONFIG_PARTITION"
-
-# Modify config to match system
-# Assume user wants to keep password from old config
-if [ ! -d /mnt/config ]; then
- # Disable root login
- set_encrypted_password root "*" $rootfsdir$ofrconfdir/config.boot
-
- echo "Enter password for administrator account"
- change_password vyos
-fi
-
-# restore ssh host keys
-copy_sshkeys
-
-# check for xen part images in /var/xen
-setup_xen_partition_images
-
-# Install grub
-install_grub
-
-check_for_xen_extras
-
-if [ -z "$UNION" ]; then
- # Fix up PAM configuration for login so that invalid users are prompted
- # for password
- sed -i 's/requisite[ \t][ \t]*pam_securetty.so/required pam_securetty.so/' $rootfsdir/etc/pam.d/login
-fi
-
-#
-# Only start the mdadm daemon if we have the root filesystem running
-# on a RAID set. Since this script is the only way that the root filesystem
-# ever gets set up, we can do this configuration here.
-#
-MDADM_CONFIG_FILE=$rootfsdir/etc/default/mdadm
-if [ -e $MDADM_CONFIG_FILE ]; then
- if [ ${INSTALL_DRIVE:0:2} = "md" ]; then
- sed -i -e 's/^START_DAEMON.*$/START_DAEMON=true/' \
- -e 's/^AUTOSTART=.*$/AUTOSTART=true/' $MDADM_CONFIG_FILE
- else
- sed -i -e 's/^START_DAEMON.*$/START_DAEMON=false/' \
- -e 's/^AUTOSTART=.*$/AUTOSTART=false/' $MDADM_CONFIG_FILE
- fi
-fi
-
-postinst_root=$rootfsdir
-writable_root=''
-if [ -n "$UNION" ]; then
- # set up root for postinst
- postinst_root=/mnt/postinst_root
- writable_root=$rootfsdir
- version=`dpkg-query --showformat='${Version}' --show vyatta-version`
- rw_dir=$rootfsdir/boot/$version/live-rw
-
- mkdir -p $postinst_root /mnt/squashfs
- mount -o loop,ro -t squashfs \
- $rootfsdir/boot/$version/$version.squashfs /mnt/squashfs
- mount -t unionfs -o noatime,dirs=$rw_dir=rw:/mnt/squashfs=ro unionfs \
- $postinst_root
-
- # handle start-up config file
- mkdir -p $postinst_root/$ofrconfdir
- if [ -f $rootfsdir/$ofrconfdir/config.boot ]; then
- cp -p $rootfsdir/$ofrconfdir/* $postinst_root/$ofrconfdir/
- fi
-
- # set up /var/run
- pi_fstab=$postinst_root/etc/fstab
- if ! grep -q 'tmpfs /var/run ' $pi_fstab >&/dev/null; then
- # replace the fstab. the default one has header that will cause
- # it to be wiped out on live boot.
- echo 'tmpfs /var/run tmpfs nosuid,nodev 0 0' >$pi_fstab
- fi
-fi
-
-# postinst hook
-if [ -e /opt/vyatta/etc/install-system/postinst ]; then
- echo "running post-install script"
- /opt/vyatta/etc/install-system/postinst $postinst_root $writable_root \
- >>$INSTALL_LOG
-fi
-
-if [ -n "$UNION" ]; then
- umount $postinst_root
- umount /mnt/squashfs
-fi
-
-cp $INSTALL_LOG $rootfsdir/install.log
-
-umount $rootfsdir
-
-echo "Done!"
-echo "Done!" >> $INSTALL_LOG
-
-exit 0
diff --git a/scripts/install/install-functions b/scripts/install/install-functions
index 1551fbb0..d241e040 100755
--- a/scripts/install/install-functions
+++ b/scripts/install/install-functions
@@ -43,9 +43,6 @@ CD_SQUASH_ROOT=/mnt/cdsquash
VYATTA_CFG_DIR=${vyatta_sysconfdir}/config
VYATTA_NEW_CFG_DIR=/config
-# the floppy config dir
-FD_CFG_DIR=/media/floppy/config
-
# PROGRESS_PID can be exported by top-level script
progress_indicator () {
local spid=$PROGRESS_PID
@@ -274,7 +271,7 @@ is_live_cd_boot ()
# Poor check, but whatever. The point is that on installed system
# the image file normally is named after the current version,
# while on livecd it's just "filesystem.squashfs"
- if grep -q -e '^overlayfs.*/filesystem.squashfs' /proc/mounts; then
+ if grep -q -e '^overlay.*/filesystem.squashfs' /proc/mounts; then
return 0
else
return 1
@@ -287,8 +284,8 @@ is_union_install ()
if is_live_cd_boot; then
return 1
fi
- if grep -q ' /live/image [^ ]\+ rw' /proc/mounts \
- && egrep -q '(union|overlay)fs / (union|overlay)fs ' /proc/mounts; then
+ if grep -q 'upperdir=/live/persistence/' /proc/mounts \
+ && egrep -q 'overlay / overlay ' /proc/mounts; then
return 0
else
return 1
@@ -298,7 +295,7 @@ is_union_install ()
# outputs the version string of the current running version.
get_cur_version ()
{
- ver=`dpkg-query --showformat='${Version}' --show vyatta-version`
+ ver=`cat /opt/vyatta/etc/version | awk '{print $2}'`
if [ -z "$ver" ]; then
echo "UNKNOWN"
else
@@ -323,7 +320,7 @@ get_new_version ()
ver_file=${ver_path}
if is_live_cd_boot && [ -f "$ver_file" ]; then
# we are installing from a live CD boot
- ver=`dpkg-query --showformat='${Version}' --show vyatta-version`
+ ver=`cat /opt/vyatta/etc/version | awk '{print $2}'`
echo $ver
return
fi
@@ -337,11 +334,12 @@ gen_mopts ()
local mnttype=$1
local upper=$2
local lower=$3
- local mntpoint=$4
+ local work=$4
+ local mntpoint=$5
case "$1" in
- overlayfs)
- echo "-t $mnttype -o noatime,upperdir=$upper,lowerdir=$lower $mnttype $mntpoint"
+ overlay)
+ echo "-t $mnttype -o noatime,upperdir=$upper,lowerdir=$lower,workdir=$work $mnttype $mntpoint"
;;
*)
echo "-t $mnttype -o noatime,dirs=$upper=rw:$lower=ro $mnttype $mntpoint"
diff --git a/scripts/install/install-get-partition b/scripts/install/install-get-partition
index eee0dc73..5ea4845e 100755
--- a/scripts/install/install-get-partition
+++ b/scripts/install/install-get-partition
@@ -195,6 +195,14 @@ check_for_new_raid () {
drives=$(cat /proc/partitions | awk '{ if ($4!="name") { print $4 } }' \
| egrep -v "[0-9]$" | egrep -v "^$")
+ for instdrv in $drives
+ do
+ if mount | grep iso9660 | grep -q $instdrv
+ then
+ drives=${drives//"$instdrv"/}
+ fi
+ done
+
numdrives=`echo $drives | wc -w`
# Need at least two drives for RAID-1. We don't yet have the code
@@ -251,12 +259,12 @@ check_for_new_raid () {
done
# Need to leave space on both disks between the MBR and the start
- # of the first partition for grub. Grub needs to embed a large
+ # of the first partition for grub. Grub needs to embed a large
# boot image there when booting off RAID devices.
#
# Partition creation variables are in units of megabytes.
part_start_offset=2
- part_diag_size=60
+ data_dev=1
if [ $drivesize1 -lt $drivesize2 ]; then
root_size=$drivesize1
@@ -264,24 +272,6 @@ check_for_new_raid () {
root_size=$drivesize2
fi
- let min_size_with_diag=${MIN_ROOT}+${part_diag_size}
- if [ $root_size -ge $min_size_with_diag ]; then
- echo "Would you like me to create a $part_diag_size MB partition for diagnostics?"
- echo -n "(Yes/No) [No]: "
- diag_response=$(get_response "No" "Yes No Y N")
- if [ "$diag_response" == "yes" ] || [ "$diag_response" == "y" ]; then
- for drive in $drives; do
- echo "Creating diag partition on drive $drive"
- create_partitions "$drive" $part_diag_size $part_start_offset "no"
- sfdisk --change-id /dev/$drive 1 0x6
- done
- data_dev=2
- let part_start_offset+=$part_diag_size
- else
- data_dev=1
- fi
- fi
-
let root_size-=$part_start_offset
for drive in $drives; do
@@ -480,7 +470,7 @@ save_image_config() {
rm -fr /mnt/config
mkdir /mnt/config
- output=$(cp -pR /mnt/tmp/boot/$image_name/live-rw/config/* /mnt/config)
+ output=$(cp -pR /mnt/tmp/boot/$image_name/rw/config/* /mnt/config)
if [ -n "$output" ]; then
echo -e "Warning: error in copying the old config partition.\nSee $INSTALL_LOG for more details."
@@ -492,7 +482,7 @@ save_image_config() {
save_image_keys() {
image_name=$1
- if [ ! -d /mnt/tmp/boot/$image_name/live-rw/etc/ssh ]; then
+ if [ ! -d /mnt/tmp/boot/$image_name/rw/etc/ssh ]; then
echo "No SSH keys found on $image_name, so none can be saved."
return;
fi
@@ -506,7 +496,7 @@ save_image_keys() {
fi
mkdir -p /mnt/ssh
- output=$(cp -p /mnt/tmp/boot/$image_name/live-rw/etc/ssh/ssh_host_* /mnt/ssh)
+ output=$(cp -p /mnt/tmp/boot/$image_name/rw/etc/ssh/ssh_host_* /mnt/ssh)
if [ -n "$output" ]; then
echo -e "Warning: error in copying the old ssh keys."
@@ -552,7 +542,7 @@ save_old_info() {
image_dirs=/mnt/tmp/boot/*
for dir in $image_dirs; do
- if [ -f $dir/live-rw/config/.vyatta_config ]; then
+ if [ -f $dir/rw/config/.vyatta_config ]; then
item=${dir##/mnt/tmp/boot/}
images=($item ${images[@]})
@@ -652,7 +642,7 @@ make_filesystem () {
lecho "Creating filesystem on /dev/$ldrive..."
progress_indicator start
- output=$(mkfs -t $ROOT_FSTYPE /dev/$ldrive 2>&1)
+ output=$(mkfs -L persistence -t $ROOT_FSTYPE /dev/$ldrive 2>&1)
status=$?
if [ "$status" != 0 ]; then
echo -e "Error: couldn't create the root filesystem.\nSee $INSTALL_LOG for further details.\nExiting..."
@@ -679,26 +669,28 @@ create_partitions() {
exit 1
fi
+ # Force FAT label creation
+ lecho "Creating a new disklabel on $ldrive"
+ parted -s /dev/$ldrive mklabel msdos
+
# Make sure you can print disk info using parted
parted --script /dev/$ldrive p >/dev/null 2>&1
- # If unable to read disk, it's likely it needs a disklabel
+ # If we still can't, something has gone terribly wrong
if [ "$?" != "0" ]; then
- lecho "Creating a new disklabel on $ldrive"
- lecho "parted /dev/$ldrive mklabel msdos"
- output=$(parted -s /dev/$ldrive mklabel msdos)
-
- parted --script /dev/$ldrive p >/dev/null 2>&1
- if [ "$?" != "0" ]; then
- echo "Unable to read disk label. Exiting."
- exit 1
- fi
+ echo "Unable to read disk label. Exiting."
+ exit 1
fi
lecho "Creating root partition on /dev/$ldrive"
# Make the root partition
- output=$(parted --script --align optimal /dev/$ldrive mkpart primary 0% $root_part_size)
+ # if optimal_io_size is empty use default of 2048s
+ if [ $(cat /sys/block/$ldrive/queue/optimal_io_size) -gt 0 ]; then
+ output=$(parted --script --align optimal /dev/$ldrive mkpart primary 0% $root_part_size)
+ else
+ output=$(parted --script --align optimal /dev/$ldrive mkpart primary 2048s $root_part_size)
+ fi
status=$?
if [ "$status" != 0 ]; then
echo -e "Error creating primary partition on $ldrive.\nPlease see $INSTALL_LOG for more details.\nExiting..."
diff --git a/scripts/install/install-image b/scripts/install/install-image
index c7323fbf..fd10d0c3 100755
--- a/scripts/install/install-image
+++ b/scripts/install/install-image
@@ -63,7 +63,7 @@ fetch_iso_by_url ()
fi
# This is for statistics collection
- vyos_version=`dpkg-query --showformat='${Version}' --show vyatta-version`
+ vyos_version=`cat /opt/vyatta/etc/version | awk '{print $2}'`
filename="${TEMP_DIR}/${NEW_ISO##*/}"
curl -L -H "User-Agent: VyOS/$vyos_version" $auth -f -o $filename $NEW_ISO
diff --git a/scripts/install/install-image-existing b/scripts/install/install-image-existing
index 7d58cd96..f38e3701 100755
--- a/scripts/install/install-image-existing
+++ b/scripts/install/install-image-existing
@@ -77,7 +77,7 @@ if [ -z "$CURVER" ]; then
fi
# get new version string. this is from the squashfs image.
-NEWVER=`cat ${CD_SQUASH_ROOT}/opt/vyatta/etc/version | grep "Version:" | awk '{print $2,$3}' | sed 's/ /-/g'`
+NEWVER=`cat ${CD_SQUASH_ROOT}/opt/vyatta/etc/version | grep "Version:" | awk '{print $2,$3}' | sed 's/[[:space:]]*$//' | sed 's/ /-/g'`
NEWNAME=$NEWVER
echo -n "What would you like to name this image? [$NEWNAME]: "
@@ -110,10 +110,12 @@ fi
echo "OK. This image will be named: $NEWNAME"
# this is the default if current install is union
-BOOT_DIR=/live/image/boot
+
if [ "$CUR_INSTALL" == 'old' ]; then
BOOT_DIR=/boot
-elif [ "$CUR_INSTALL" != 'union' ]; then
+elif [ "$CUR_INSTALL" == 'union' ]; then
+ BOOT_DIR=`/opt/vyatta/sbin/vyos-persistpath`/boot
+else
echo 'Invalid current install type. Exiting...'
exit 1
fi
@@ -155,11 +157,14 @@ echo "Installing \"$NEWNAME\" image."
# create the new release directories
REL_ROOT=$BOOT_DIR/$NEWNAME
-RW_DIR="$REL_ROOT/live-rw"
+RW_DIR="$REL_ROOT/rw"
if ! mkdir -p "$RW_DIR"; then
failure_exit 'Cannot create directory for new release.'
fi
+WORK_DIR="$REL_ROOT/work"
+mkdir -p "$WORK_DIR"
+
# copy the squashfs image and boot files
echo "Copying new release files..."
squash_img=${CD_ROOT}/live/filesystem.squashfs
@@ -180,20 +185,12 @@ if ! try_mount "-o loop,ro $target_squash $READ_ROOT"; then
fi
# set up root for postinst
-margs=$(gen_mopts "overlayfs" $RW_DIR $READ_ROOT $INST_ROOT)
+margs=$(gen_mopts "overlay" $RW_DIR $READ_ROOT $WORK_DIR $INST_ROOT)
if ! try_mount "$margs"; then
rm -rf $REL_ROOT
failure_exit 'Failed to set up root directory for postinst.'
fi
-# set up /var/run fstab entry
-PI_FSTAB=$INST_ROOT/etc/fstab
-if ! grep -q 'tmpfs /var/run ' $PI_FSTAB >&/dev/null; then
- # replace the fstab. the default one has header that will cause
- # it to be wiped out on live boot.
- echo 'tmpfs /var/run tmpfs nosuid,nodev 0 0' >$PI_FSTAB
-fi
-
#
# Check to make sure we have enough space to copy the config and data dirs...
#
diff --git a/scripts/install/install-image-new b/scripts/install/install-image-new
index 7965b939..d6427500 100755
--- a/scripts/install/install-image-new
+++ b/scripts/install/install-image-new
@@ -62,8 +62,10 @@ echo "OK. This image will be named: $image_name"
# make the dir for the new version
mkdir -p $WRITE_ROOT/boot/$image_name
# make dir for backing store
-rw_dir=$WRITE_ROOT/boot/$image_name/live-rw
+rw_dir=$WRITE_ROOT/boot/$image_name/rw
mkdir -p $rw_dir
+work_dir=$WRITE_ROOT/boot/$image_name/work
+mkdir -p $work_dir
echo Copying squashfs image...
# these are the defaults if installing from a specified ISO image file.
@@ -73,7 +75,7 @@ boot_dir=${CD_SQUASH_ROOT}/boot
boot_files=$(find $boot_dir -maxdepth 1 -type f -o -type l 2>/dev/null)
if [ ! -f "$squash_img" ] || [ -z "$boot_files" ]; then
# maybe installing from a live CD boot?
- squash_img=/live/image/live/filesystem.squashfs
+ squash_img=/lib/live/mount/medium/live/filesystem.squashfs
boot_dir=/boot
boot_files=$(find $boot_dir -maxdepth 1 -type f -o -type l 2>/dev/null)
if [ ! -f "$squash_img" ] || [ -z "$boot_files" ]; then
@@ -88,13 +90,16 @@ cp -p $squash_img $target_squash
echo Copying kernel and initrd images...
cp -dp $boot_files $WRITE_ROOT/boot/$image_name/
+# create persistence.conf file
+echo "/ union" > $WRITE_ROOT/persistence.conf
+
# set up union root for postinst
mkdir -p $INST_ROOT $READ_ROOT
if ! try_mount "-o loop,ro -t squashfs $target_squash $READ_ROOT"; then
echo 'Exiting...'
exit 1
fi
-margs=$(gen_mopts "overlayfs" $rw_dir $READ_ROOT $INST_ROOT)
+margs=$(gen_mopts "overlay" $rw_dir $READ_ROOT $work_dir $INST_ROOT)
if ! try_mount "$margs"; then
echo 'Exiting...'
exit 1
diff --git a/scripts/install/install-postinst-new b/scripts/install/install-postinst-new
index 11cf788e..2457cdd3 100755
--- a/scripts/install/install-postinst-new
+++ b/scripts/install/install-postinst-new
@@ -51,15 +51,6 @@ copy_config () {
config=${VYATTA_NEW_CFG_DIR}/config.boot
fi
- # Second candidate: The config file on floppy, if one exists.
- if [ -f "${FD_CFG_DIR}/config.boot" ]; then
- if [ -z "$config" ]; then
- config="${FD_CFG_DIR}/config.boot"
- else
- config="$config ${FD_CFG_DIR}/config.boot"
- fi
- fi
-
# Third candidate: The default config file
DEF_CONF=$vyatta_sysconfdir/config.boot.default
if [ -f $DEF_CONF ]; then
@@ -175,7 +166,7 @@ setup_xen_extras () {
echo "" >> $grubfile
echo "title vyatta-virt" >> $grubfile
echo "root (hd0,0)" >> $grubfile
- echo "kernel $xen_grub_boot_path/vmlinuz root=/dev/$rootdev boot=live vyatta-union=$xen_grub_boot_path console=hvc0" >> $grubfile
+ echo "kernel $xen_grub_boot_path/vmlinuz root=/dev/$rootdev boot=live vyos-union=$xen_grub_boot_path console=hvc0" >> $grubfile
echo "initrd $xen_grub_boot_path/initrd.img" >> $grubfile
# Add symlink pointing to default image
@@ -259,27 +250,10 @@ if [ -f "$MDADM_CONFIG_FILE" ]; then
fi
fi
-if [ "$INSTALL_TYPE" == 'union' ]; then
- # make /var/run tmpfs
- pi_fstab=$INST_ROOT/etc/fstab
- if ! grep -q 'tmpfs /var/run ' $pi_fstab >&/dev/null; then
- # replace the fstab. the default one has header that will cause
- # it to be wiped out on live boot.
- echo 'tmpfs /var/run tmpfs nosuid,nodev 0 0' >$pi_fstab
- fi
-else
- # not passing the write root to postinst (only needed for union)
+if [ "$INSTALL_TYPE" != 'union' ]; then
WRITE_ROOT=''
fi
-# postinst hook
-if [ -e /opt/vyatta/etc/install-system/postinst ]; then
- echo "running post-install script"
- output=$(/opt/vyatta/etc/install-system/postinst \
- "$INST_ROOT" "$WRITE_ROOT" 2>&1)
- lecho "$output"
-fi
-
becho "Done!"
exit 0
diff --git a/scripts/rl-system.init b/scripts/rl-system.init
index 6a2b8d25..62eac9e7 100755
--- a/scripts/rl-system.init
+++ b/scripts/rl-system.init
@@ -98,8 +98,8 @@ clear_or_override_config_files ()
}
update_interface_config () {
- if [ -d /dev/.udev/vyatta ]; then
- $vyatta_sbindir/vyatta_interface_rescan /dev/.udev/vyatta $BOOTFILE
+ if [ -d /run/udev/vyatta ]; then
+ $vyatta_sbindir/vyatta_interface_rescan /run/udev/vyatta $BOOTFILE
fi
}
@@ -116,6 +116,10 @@ create_ssh_host_keys () {
syslog "Creating ssh v1 host key."
ssh-keygen -q -N '' -t rsa1 -f /etc/ssh/ssh_host_key
fi;
+ if [ ! -f "/etc/ssh/ssh_host_ed25519_key" ]; then
+ syslog "Creating ssh ed25519 host key."
+ ssh-keygen -q -N '' -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
+ fi;
}
set_ipv6_params ()
diff --git a/scripts/snmp/vyatta-snmp-v3.pl b/scripts/snmp/vyatta-snmp-v3.pl
deleted file mode 100755
index 293f2907..00000000
--- a/scripts/snmp/vyatta-snmp-v3.pl
+++ /dev/null
@@ -1,626 +0,0 @@
-#!/usr/bin/perl
-#
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2013 Vyatta, Inc.
-# All Rights Reserved.
-#
-# **** End License ****
-
-use strict;
-use warnings;
-
-use lib "/opt/vyatta/share/perl5/";
-use Vyatta::Config;
-use File::Copy;
-use Getopt::Long;
-use Socket;
-use Socket6;
-
-my $snmp_v3_level = 'service snmp v3';
-my $snmp_init = 'invoke-rc.d snmpd';
-my $snmpd_conf = '/etc/snmp/snmpd.conf';
-my $snmpd_usr_conf = '/usr/share/snmp/snmpd.conf';
-my $snmpd_var_conf = '/var/lib/snmp/snmpd.conf';
-my $snmpd_conf_tmp = "/tmp/snmpd.conf.$$";
-my $snmpd_usr_conf_tmp = "/tmp/snmpd.usr.conf.$$";
-my $snmpd_var_conf_tmp = "/tmp/snmpd.var.conf.$$";
-my $versionfile = '/opt/vyatta/etc/version';
-my $local_agent = 'unix:/var/run/snmpd.socket';
-
-my $oldEngineID = "";
-my $setserialno = "";
-
-my %OIDs = (
- "md5", ".1.3.6.1.6.3.10.1.1.2",
- "sha", ".1.3.6.1.6.3.10.1.1.3",
- "aes", ".1.3.6.1.6.3.10.1.2.4",
- "des", ".1.3.6.1.6.3.10.1.2.2",
- "none", ".1.3.6.1.6.3.10.1.2.1"
-);
-
-# generate a random character hex string
-sub randhex {
- my $length = shift;
- return join "", map {unpack "H*", chr(rand(256))} 1 .. ($length / 2);
-}
-
-sub snmpd_running {
- open(my $pidf, '<', "/var/run/snmpd.pid")
- or return;
- my $pid = <$pidf>;
- close $pidf;
-
- chomp $pid;
- my $exe = readlink "/proc/$pid/exe";
-
- return (defined($exe) && $exe eq "/usr/sbin/snmpd");
-}
-
-sub check_snmp_exit_code {
- my $code = shift;
-
- # snmpd can start/restart with exit code 256 if trap-target is unavailable
- if ($code != 0 && $code != 256) {
- return 1;
- }else {
- return 0;
- }
-}
-
-sub snmpd_stop {
- system("start-stop-daemon --stop --exec /usr/sbin/snmpd --oknodo -R 2 > /dev/null 2>&1");
- if (check_snmp_exit_code($?)) {
- print "ERROR: Can not stop snmpd!\n";
- exit(1);
- }
-}
-
-sub snmpd_start {
- system("$snmp_init start > /dev/null 2>&1");
- if (check_snmp_exit_code($?)) {
- print "ERROR: Can not start snmpd!\n";
- exit(1);
- }
-}
-
-sub snmpd_update {
- system("$snmp_init reload > /dev/null 2>&1");
- if (check_snmp_exit_code($?)) {
- print "ERROR: Can not reload snmpd!\n";
- exit(1);
- }
-}
-
-sub snmpd_restart {
- system("$snmp_init restart > /dev/null 2>&1");
- if (check_snmp_exit_code($?)) {
- print "ERROR: Can not restart snmpd!\n";
- exit(1);
- }
-}
-
-# get vyatta version
-sub get_version {
- my $version = "unknown-version";
-
- if (open(my $f, '<', $versionfile)) {
- while (<$f>) {
- chomp;
- if (m/^Version\s*:\s*(.*)$/) {
- $version = $1;
- last;
- }
- }
- close $f;
- }
- return $version;
-}
-
-sub ipv6_disabled {
- socket(my $s, PF_INET6, SOCK_DGRAM, 0)
- or return 1;
- close($s);
- return;
-}
-
-# write tsm config from current to snmpd_conf
-sub set_tsm {
- my $config = get_snmp_config();
- if ($config->exists("tsm")) {
- my $port = $config->returnValue("tsm port");
- my $local_key = $config->returnValue("tsm local-key");
- system("sed -i 's/^agentaddress.*\$/&,tlstcp:$port,dtlsudp:$port/' $snmpd_conf_tmp");
- system("echo \"[snmp] localCert $local_key\" >> $snmpd_conf_tmp");
- }
-}
-
-# delete all SNMP config files
-# can be called directly
-sub snmp_delete {
- snmpd_stop();
-
- my @files = ($snmpd_conf, $snmpd_usr_conf, $snmpd_var_conf);
- foreach my $file (@files) {
- if (-e $file) {
- unlink($file);
- }
- }
-}
-
-sub get_snmp_config {
- my $config = new Vyatta::Config;
- $config->setLevel($snmp_v3_level);
- return $config;
-}
-
-# write views from vyatta config to snmpd_conf
-sub set_views {
- print "# views \n";
- my $config = get_snmp_config();
- foreach my $view ($config->listNodes("view")) {
- foreach my $oid ($config->listNodes("view $view oid")) {
- my $mask = '';
- $mask = $config->returnValue("view $view oid $oid mask")
- if $config->exists("view $view oid $oid mask");
- if ($config->exists("view $view oid $oid exclude")) {
- print "view $view excluded .$oid $mask\n";
- }else {
- print "view $view included .$oid $mask\n";
- }
- }
- }
- print "\n";
-}
-
-# write groups from vyatta config to snmpd_conf
-sub set_groups {
- print"#access\n# context sec.model sec.level match read write notif\n";
- my $config = get_snmp_config();
- foreach my $group ($config->listNodes("group")) {
- my $mode = $config->returnValue("group $group mode");
- my $view = $config->returnValue("group $group view");
- my $secLevel = $config->returnValue("group $group seclevel");
- if ($mode eq "ro") {
- print "access $group \"\" usm $secLevel exact $view none none\n";
- print "access $group \"\" tsm $secLevel exact $view none none\n";
- }else {
- print "access $group \"\" usm $secLevel exact $view $view none\n";
- print "access $group \"\" tsm $secLevel exact $view $view none\n";
- }
- }
- print "\n";
-}
-
-# write users from vyatta config to snmpd_conf
-sub set_users_in_etc {
-
- print "#group\n";
- my $tsm_counter = 0;
- my $config = get_snmp_config();
- foreach my $user ($config->listNodes("user")) {
- $config->setLevel($snmp_v3_level . " user $user");
- if ($config->exists("group")) {
- my $group = $config->returnValue("group");
- print "group $group usm $user\n";
- print "group $group tsm $user\n";
- }
- if ($config->exists("tsm-key")) {
- my $cert = $config->returnValue("tsm-key");
- $tsm_counter++;
- print "certSecName $tsm_counter $cert --sn $user\n";
- }
- }
-
- print "\n";
-}
-
-# write users from vyatta config to config files in /usr & /var
-sub set_users_to_other {
- open(my $usr_conf, '>>', $snmpd_usr_conf_tmp)
- or die "Couldn't open $snmpd_usr_conf_tmp - $!";
- open(my $var_conf, '>>', $snmpd_var_conf_tmp)
- or die "Couldn't open $snmpd_var_conf_tmp - $!";
-
- print $var_conf "\n";
-
- my $config = get_snmp_config();
- my $needTsm = 0;
- if ($config->exists("tsm")) {
- $needTsm = 1;
- }
-
- my %trap_users = ();
-
- foreach my $trap ($config->listNodes("trap-target")) {
- $trap_users{$config->returnValue("trap-target $trap user")} = 1;
- }
-
- foreach my $user ($config->listNodes("user")) {
- delete $trap_users{$user};
- $config->setLevel($snmp_v3_level . " user $user");
- my $auth_type = $config->returnValue("auth type");
- my $priv_type = $config->returnValue("privacy type");
- if ($config->exists("auth")) {
- if ($config->exists("auth plaintext-key")) {
- my $auth_key = $config->returnValue("auth plaintext-key");
- my $priv_key = '';
- $priv_key = $config->returnValue("privacy plaintext-key")
- if $config->exists("privacy plaintext-key");
- print $var_conf "createUser $user \U$auth_type\E $auth_key \U$priv_type\E $priv_key\n";
- }else {
- my $name_print = get_printable_name($user);
- my $EngineID = $config->returnValue("engineid");
- if ($EngineID eq "") {
- die "ERROR: engineid is null\n";
- }
- my $auth_type_oid = $OIDs{$auth_type};
- my $auth_key_hex = $config->returnValue("auth encrypted-key");
-
- my ($priv_type_oid, $priv_key_hex);
- if ($config->exists("privacy")) {
- $priv_type_oid = $OIDs{$priv_type};
- $priv_key_hex =$config->returnValue("privacy encrypted-key");
- }else {
- $priv_type_oid = $OIDs{'none'};
- $priv_key_hex = '0x';
- }
- print $var_conf "usmUser 1 3 $EngineID $name_print $name_print NULL $auth_type_oid $auth_key_hex $priv_type_oid $priv_key_hex 0x\n";
- }
- }
- my $mode = $config->returnValue("mode");
- my $end = "auth";
- if ($config->exists("privacy")) {
- $end = "priv";
- }
- print $usr_conf $mode . "user $user $end\n";
- if ($needTsm) {
- print $usr_conf $mode . "user -s tsm $user $end\n";
- }
- }
-
- # add users for trap if they are not exists in vyatta config /services/snmp/v3/user
- foreach my $user (keys %trap_users) {
- my $name_print = get_printable_name($user);
- print $var_conf "usmUser 1 3 0x". randhex(26). " $name_print $name_print NULL .1.3.6.1.6.3.10.1.1.2 0x". randhex(32). " .1.3.6.1.6.3.10.1.2.1 0x 0x\n";
- print $usr_conf "rouser $user auth\n";
- }
-
- print $var_conf "setserialno $setserialno\n"
- if !($setserialno eq "");
- print $var_conf "oldEngineID $oldEngineID\n"
- if !($oldEngineID eq "");
-
- close $usr_conf;
- close $var_conf;
-}
-
-# if name contains '-' then it must be printed in hex format
-sub get_printable_name {
- my $name = shift;
- if ($name =~ /-/) {
- my @array = unpack('C*', $name);
- my $stringHex = '0x';
- foreach my $c (@array) {
- $stringHex .= sprintf("%lx", $c);
- }
- return $stringHex;
- }else {
- return "\"$name\"";
- }
-}
-
-# read encrypted keys from config file in /var to vyatta config
-# read additional info from config file in /var to VConfig variable
-# delete plaintext passwords in vyatta config
-sub update_users_vyatta_conf {
- open(my $var_conf, '<', $snmpd_var_conf)
- or die "Couldn't open $snmpd_usr_conf - $!";
- my $config = get_snmp_config();
- while (my $line = <$var_conf>) {
- if ($line =~ /^oldEngineID (.*)$/) {
- my $value = $1;
- if ( $config->exists("engineid")
- &&$config->returnValue("engineid") eq "")
- {
- system("/opt/vyatta/sbin/my_set service snmp v3 engineid $value > /dev/null");
- }
- }
- if ($line =~ /^usmUser /) {
- my @values = split(/ /, $line);
- my $name = $values[4];
- if ($name =~ /^"(.*)"$/) {
- $name = $1;
- }else {
- $name = pack('H*', $name);
- }
-
- # this file contain users for trap-target and vyatta... user
- # these users recreating automatically on each commit
- if ($config->exists("user $name")) {
- system("/opt/vyatta/sbin/my_set service snmp v3 user \"$name\" engineid $values[3] > /dev/null");
- system("/opt/vyatta/sbin/my_set service snmp v3 user \"$name\" auth encrypted-key $values[8] > /dev/null");
- if ($values[10] ne "\"\"" && $values[10] ne "0x") {
- system("/opt/vyatta/sbin/my_set service snmp v3 user \"$name\" privacy encrypted-key $values[10] > /dev/null");
- system("/opt/vyatta/sbin/my_delete service snmp v3 user \"$name\" privacy plaintext-key > /dev/null");
- }
- system("/opt/vyatta/sbin/my_delete service snmp v3 user \"$name\" auth plaintext-key > /dev/null");
- }
- }
- }
- close $var_conf;
-}
-
-# write trap-target hosts from vyatta config to snmpd_conf
-sub set_hosts {
- print "#trap-target\n";
- my $config = get_snmp_config();
- foreach my $target ($config->listNodes("trap-target")) {
- $config->setLevel($snmp_v3_level . " trap-target $target");
- my $auth_key = '';
- if ($config->exists("auth plaintext-key")) {
- $auth_key = "-A " . $config->returnValue("auth plaintext-key");
- }else {
- $auth_key = "-3m " . $config->returnValue("auth encrypted-key");
- }
- my $auth_type = $config->returnValue("auth type");
- my $user = $config->returnValue("user");
- my $port = $config->returnValue("port");
- my $protocol = $config->returnValue("protocol");
- my $type = $config->returnValue("type");
- my $inform_flag = '-Ci';
- $inform_flag = '-Ci' if ($type eq 'inform');
-
- if ($type eq 'trap') {
- $inform_flag = '-e ' . $config->returnValue("engineid");
- }
- my $privacy = '';
- my $secLevel = 'authNoPriv';
- if ($config->exists("privacy")) {
- my $priv_key = '';
- if ($config->exists("privacy plaintext-key")) {
- $priv_key ="-X " . $config->returnValue("privacy plaintext-key");
- }else {
- $priv_key ="-3M " . $config->returnValue("privacy encrypted-key");
- }
- my $priv_type = $config->returnValue("privacy type");
- $privacy = "-x $priv_type $priv_key";
- $secLevel = 'authPriv';
- }
-
- # TODO understand difference between master and local
- # Uses:
- # set -3m / -3M for auth / priv for master
- # or -3k / -3K for local
- # Current use only master
- my $target_print = $target;
- if ($target =~ /:/) {
- $target_print = "[$target]";
- $protocol = $protocol . "6";
- }
- print"trapsess -v 3 $inform_flag -u $user -l $secLevel -a $auth_type $auth_key $privacy $protocol:$target_print:$port\n";
- }
- print "\n";
-}
-
-# check changes in auth and privacy nodes
-# deny set encrypted-key in case engineid wasn't set
-sub check_user_auth_changes {
- my $config = get_snmp_config();
- my $v3engineid = "";
-
- if($config->exists("engineid")){
- $v3engineid=$config->returnValue("engineid");
- }
-
- if ($config->isChanged("user") || $config->isChanged("engineid")) {
- my $haveError = 0;
- foreach my $user ($config->listNodes("user")) {
- $config->setLevel($snmp_v3_level . " user $user");
- if ( $config->exists("engineid")
- &&!($v3engineid eq "")
- &&!($config->returnValue("engineid") eq "")
- &&!($config->returnValue("engineid") eq $v3engineid))
- {
- print"Warning: Encrypted key(s) for snmp v3 user \"$user\" was(were) generated for another SNMP engineid. It won't work. Please recreate this user.\n";
- }
- if ($config->exists("auth")) {
- if (
- !(
- $config->exists("engineid") &&($config->exists("auth encrypted-key")
- ||$config->exists("privacy encrypted-key"))
- )
- )
- {
- $haveError = 1;
- print"Discard encrypted-key on user \"$user\". It's necessary to setup engineid the encrypted-key was generated with.\n";
- }
- my $isAuthKeyChanged = $config->isChanged("auth plaintext-key");
- my $isAuthEKeyChanged = $config->isChanged("auth encrypted-key");
- if ($config->exists("privacy")) {
- my $isPrivKeyChanged =$config->isChanged("privacy plaintext-key");
- my $isPrivEKeyChanged =$config->isChanged("privacy encrypted-key");
- if ( ($isPrivEKeyChanged && !$isAuthEKeyChanged)
- || ($isPrivKeyChanged && !$isAuthKeyChanged))
- {
- $haveError = 1;
- print"Please, set correct auth and privacy for user \"$user\"\n";
- print"Set plaintext-key for auth and privacy or set encrypted-key for both\n";
- }
- }
- }else {
- if ($config->exists("privacy")) {
- $haveError = 1;
- print "Please, delete privacy for user \"$user\"\n";
- }
- }
- }
- if ($haveError) {
- exit(1);
- }
- }
-}
-
-# check relation between user & group & view
-sub check_relation {
- my $config = get_snmp_config();
- my $haveError = 0;
- foreach my $user ($config->listNodes("user")) {
- if ($config->exists("user $user group")) {
- my $group = $config->returnValue("user $user group");
- if (!$config->exists("group $group")) {
- $haveError = 1;
- print"Please, create group \"$group\". It's need for user \"$user\"\n";
- }
- }
- }
- foreach my $group ($config->listNodes("group")) {
- my $view = $config->returnValue("group $group view");
- if (!$config->exists("view $view")) {
- $haveError = 1;
- print"Please, create view \"$view\". It's need for group \"$group\"\n";
- }
- }
- if ($haveError) {
- exit(1);
- }
-}
-
-# check is new tsm port free on system
-sub check_tsm_port {
- my $config = get_snmp_config();
- if ($config->isChanged("tsm port")) {
- my $port = $config->returnValue("tsm port");
- my $reg = ":$port\$";
- my $output = `netstat -anltup | awk '{print \$4}'`;
- foreach my $line (split(/\n/, $output)) {
- if ($line =~ /$reg/) {
- print"Actually port $port is using. It can not be used for tsm.\n";
- exit(1);
- }
- }
- }
-}
-
-# check group seclevel and user auth/privacy
-sub check_seclevel {
- my $config = get_snmp_config();
- my $haveError = 0;
- if ($config->isChanged("user") || $config->isChanged("group")) {
- foreach my $user ($config->listNodes("user")) {
- if ($config->exists("user $user group")) {
- my $group = $config->returnValue("user $user group");
- if ( $config->isChanged("user $user")
- || $config->isChanged("group $group"))
- {
- my $group_seclevel =$config->returnValue("group $group seclevel");
- if ($config->exists("user $user privacy")) {
- if ($group_seclevel eq "auth") {
- print"User \"$user\" have privacy, but group \"$group\" have \"auth\" as seclevel. So auth and priv work both.\n";
- }
- }else {
- if ($group_seclevel eq "priv") {
- print"User \"$user\" will not work, because he haven't privacy, but group \"$group\" have \"priv\" as seclevel.\n";
- $haveError = 1;
- }
- }
- }
- }
- }
- }
- if ($haveError) {
- exit(1);
- }
-}
-
-sub copy_conf_to_tmp {
-
- # these files already contain SNMPv2 configuration
- copy($snmpd_conf, $snmpd_conf_tmp)
- or die "Couldn't copy $snmpd_conf to $snmpd_conf_tmp - $!";
- copy($snmpd_usr_conf, $snmpd_usr_conf_tmp)
- or die "Couldn't copy $snmpd_usr_conf to $snmpd_usr_conf_tmp - $!";
- copy($snmpd_var_conf, $snmpd_var_conf_tmp)
- or die "Couldn't copy $snmpd_var_conf to $snmpd_var_conf_tmp - $!";
-}
-
-# update all vyatta config
-# can be called directly
-sub snmp_update {
-
- copy_conf_to_tmp();
-
- set_tsm();
-
- open(my $fh, '>>', $snmpd_conf_tmp)
- or die "Couldn't open $snmpd_conf_tmp - $!";
-
- select $fh;
-
- set_views();
- set_groups();
- set_hosts();
- set_users_in_etc();
-
- close $fh;
- select STDOUT;
-
- move($snmpd_conf_tmp, $snmpd_conf)
- or die "Couldn't move $snmpd_conf_tmp to $snmpd_conf - $!";
-
- my $config = get_snmp_config();
- if ($config->exists("engineid")) {
- $oldEngineID = $config->returnValue("engineid");
- }
-
- snmpd_stop();
-
- #add newly added users to var config to get encrypted values
- set_users_to_other();
-
- move($snmpd_usr_conf_tmp, $snmpd_usr_conf)
- or die "Couldn't move $snmpd_usr_conf_tmp to $snmpd_usr_conf - $!";
- move($snmpd_var_conf_tmp, $snmpd_var_conf)
- or die "Couldn't move $snmpd_var_conf_tmp to $snmpd_var_conf - $!";
-
- snmpd_start();
- snmpd_stop();
-
- # now we have encrypted user config - start and read it after
- snmpd_start();
- update_users_vyatta_conf();
-}
-
-# validate vyatta config before write it into files
-# can be called directly
-sub snmp_check {
- check_user_auth_changes();
- check_relation();
- check_tsm_port();
- check_seclevel();
-}
-
-my $check_config;
-my $update_snmp;
-my $delete_snmp;
-
-GetOptions(
- "check-config!" => \$check_config,
- "update-snmp!" => \$update_snmp,
- "delete-snmp!" => \$delete_snmp,
- "oldEngineID=s" => \$oldEngineID,
- "setserialno=s" => \$setserialno
-);
-
-snmp_check() if ($check_config);
-snmp_update() if ($update_snmp);
-snmp_delete() if ($delete_snmp);
diff --git a/scripts/snmp/vyatta-snmp.pl b/scripts/snmp/vyatta-snmp.pl
deleted file mode 100755
index fb4e22e7..00000000
--- a/scripts/snmp/vyatta-snmp.pl
+++ /dev/null
@@ -1,340 +0,0 @@
-#!/usr/bin/perl
-#
-# Module: vyatta-snmp.pl
-#
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2007 Vyatta, Inc.
-# All Rights Reserved.
-#
-# Author: Stig Thormodsrud
-# Date: October 2007
-# Description: Script to glue vyatta cli to snmp daemon
-#
-# **** End License ****
-#
-
-use strict;
-use warnings;
-
-use lib "/opt/vyatta/share/perl5/";
-use Vyatta::Config;
-use Vyatta::Misc;
-use NetAddr::IP;
-use Getopt::Long;
-use File::Copy;
-use Socket;
-use Socket6;
-
-my $mibdir = '/opt/vyatta/share/snmp/mibs';
-my $snmp_init = 'invoke-rc.d snmpd';
-my $snmp_conf = '/etc/snmp/snmpd.conf';
-my $snmp_client = '/etc/snmp/snmp.conf';
-my $snmp_tmp = "/tmp/snmpd.conf.$$";
-my $snmp_snmpv3_user_conf = '/usr/share/snmp/snmpd.conf';
-my $snmp_snmpv3_createuser_conf = '/var/lib/snmp/snmpd.conf';
-my $versionfile = '/opt/vyatta/etc/version';
-my $local_agent = 'unix:/var/run/snmpd.socket';
-my $password_file = '/config/snmp/superuser_pass';
-
-my $snmp_level = 'service snmp';
-
-sub snmp_running {
- open(my $pidf, '<', "/var/run/snmpd.pid")
- or return;
- my $pid = <$pidf>;
- close $pidf;
-
- chomp $pid;
- my $exe = readlink "/proc/$pid/exe";
-
- return (defined($exe) && $exe eq "/usr/sbin/snmpd");
-}
-
-sub snmp_stop {
- system("$snmp_init stop > /dev/null 2>&1");
-}
-
-sub snmp_stop {
- system("$snmp_init restart > /dev/null 2>&1");
-}
-
-sub snmp_start {
-
- # we must stop snmpd first for creating vyatta user
- system("$snmp_init stop > /dev/null 2>&1");
- open(my $fh, '>', $snmp_tmp)
- or die "Couldn't open $snmp_tmp - $!";
-
- select $fh;
- snmp_get_constants();
- snmp_get_values();
- snmp_get_traps();
- close $fh;
- select STDOUT;
-
- snmp_client_config();
-
- move($snmp_tmp, $snmp_conf)
- or die "Couldn't move $snmp_tmp to $snmp_conf - $!";
-}
-
-sub get_version {
- my $version = "unknown-version";
-
- if (open(my $f, '<', $versionfile)) {
- while (<$f>) {
- chomp;
- if (m/^Version\s*:\s*(.*)$/) {
- $version = $1;
- last;
- }
- }
- close $f;
- }
- return $version;
-}
-
-# convert address to snmpd transport syntax
-sub transport_syntax {
- my ($addr, $port) = @_;
- my $ip = new NetAddr::IP $addr;
- die "$addr: not a valid IP address" unless $ip;
-
- my $version = $ip->version();
- return "udp:$addr:$port" if ($version == 4);
- return "udp6:[$addr]:$port" if ($version == 6);
- die "$addr: unknown IP version $version";
-}
-
-# Test if IPv6 is possible by opening a socket
-sub ipv6_disabled {
- socket(my $s, PF_INET6, SOCK_DGRAM, 0)
- or return 1;
- close($s);
- return;
-}
-
-# Find SNMP agent listening addresses
-sub get_listen_address {
- my $config = new Vyatta::Config;
- my @listen;
-
- $config->setLevel('service snmp listen-address');
- my @address = $config->listNodes();
-
- if(@address) {
- foreach my $addr (@address) {
- my $port = $config->returnValue("$addr port");
- push @listen, transport_syntax($addr, $port);
- }
- } else {
-
- # default if no address specified
- @listen = ('udp:161');
- push @listen, 'udp6:161' unless ipv6_disabled();
- return @listen;
- }
-
- return @listen;
-}
-
-sub snmp_get_constants {
- my $version = get_version();
- my $now = localtime;
- my @addr = get_listen_address();
-
- # add local unix domain target for use by operational commands
- unshift @addr, $local_agent;
-
- print "# autogenerated by vyatta-snmp.pl on $now\n";
- print "sysDescr $version\n";
- print "sysObjectID 1.3.6.1.4.1.44641\n";
- print "sysServices 14\n";
- print "master agentx\n"; # maybe needed by lldpd
- print "agentaddress ", join(',',@addr), "\n";
-
- # add hook to read IF-MIB::ifAlias from sysfs
- print "pass .1.3.6.1.2.1.31.1.1.1.18 /opt/vyatta/sbin/if-mib-alias\n";
-
- print "smuxpeer .1.3.6.1.4.1.3317.1.2.2\n"; # ospfd
- print "smuxpeer .1.3.6.1.4.1.3317.1.2.5\n"; # bgpd
- print "smuxpeer .1.3.6.1.4.1.3317.1.2.3\n"; # ripd
- print "smuxpeer .1.3.6.1.4.1.3317.1.2.9\n"; # mribd
- print "smuxpeer .1.3.6.1.2.1.83\n"; # mribd
- print "smuxpeer .1.3.6.1.4.1.3317.1.2.8\n"; # pimd
- print "smuxpeer .1.3.6.1.2.1.157\n"; # pimd
- print "smuxsocket localhost\n";
-}
-
-# generate a random character hex string
-sub randhex {
- my $length = shift;
- return join "", map {unpack "H*", chr(rand(256))} 1..($length/2);
-}
-
-# output snmpd.conf file syntax for community
-sub print_community {
- my ($config, $community) = @_;
- my $ro = $config->returnValue('authorization');
- $ro = 'ro' unless $ro;
-
- my @clients = $config->returnValues('client');
- my @networks = $config->returnValues('network');
-
- my @restriction = (@clients, @networks);
- if (!@restriction) {
- print $ro . "community $community\n";
- print $ro . "community6 $community\n" unless ipv6_disabled();
- return;
- }
-
- foreach my $addr (@restriction) {
- my $ip = new NetAddr::IP $addr;
- die "$addr: Not a valid IP address" unless $ip;
-
- if ($ip->version() == 4) {
- print $ro . "community $community $addr\n";
- } elsif ($ip->version() == 6) {
- print $ro . "community6 $community $addr\n";
- } else {
- die "$addr: bad IP version ", $ip->version();
- }
- }
-}
-
-sub snmp_get_values {
- my $config = new Vyatta::Config;
-
- my @communities = $config->listNodes("service snmp community");
- foreach my $community (@communities) {
- $config->setLevel("service snmp community $community");
- print_community($config, $community);
- }
-
- $config->setLevel("service snmp smux-peer");
- my @smuxpeers = $config->returnValues();
- foreach my $smuxpeer (@smuxpeers) {
- print "smuxpeer $smuxpeer \n";
- }
-
- $config->setLevel($snmp_level);
- my $contact = $config->returnValue("contact");
- if (defined $contact) {
- print "SysContact $contact \n";
- }
-
- my $description = $config->returnValue("description");
- if (defined $description) {
- print "SysDescr $description \n";
- }
-
- my $location = $config->returnValue("location");
- if (defined $location) {
- print "SysLocation $location \n";
- }
-}
-
-sub snmp_get_traps {
- my $config = new Vyatta::Config;
- $config->setLevel($snmp_level);
-
- # linkUp/Down configure the Event MIB tables to monitor
- # the ifTable for network interfaces being taken up or down
- # for making internal queries to retrieve any necessary information
-
- # create an internal snmpv3 user of the form 'vyattaxxxxxxxxxxxxxxxx'
- my $vyatta_user = "vyatta" . randhex(16);
- snmp_create_snmpv3_user($vyatta_user);
- snmp_write_snmpv3_user($vyatta_user);
- print "iquerySecName $vyatta_user\n";
-
- # Modified from the default linkUpDownNotification
- # to include more OIDs and poll more frequently
- print <<EOF;
-notificationEvent linkUpTrap linkUp ifIndex ifDescr ifType ifAdminStatus ifOperStatus
-notificationEvent linkDownTrap linkDown ifIndex ifDescr ifType ifAdminStatus ifOperStatus
-monitor -r 10 -e linkUpTrap "Generate linkUp" ifOperStatus != 2
-monitor -r 10 -e linkDownTrap "Generate linkDown" ifOperStatus == 2
-EOF
-
- my @trap_targets = $config->listNodes("trap-target");
- return unless @trap_targets;
-
- foreach my $trap_target (@trap_targets) {
- my $port = $config->returnValue("trap-target $trap_target port");
- my $community= $config->returnValue("trap-target $trap_target community");
-
- print "trap2sink $trap_target";
- print ":$port" if $port;
- print " $community" if $community;
- print "\n";
- }
-}
-
-# Configure SNMP client parameters
-sub snmp_client_config {
- my $config = new Vyatta::Config;
- $config->setLevel($snmp_level);
-
- open(my $cf, '>', $snmp_client)
- or die "Couldn't open $snmp_client - $!";
-
- my $version = get_version();
- my $now = localtime;
- print {$cf} "# autogenerated by vyatta-snmp.pl on $now\n";
-
- my $trap_source = $config->returnValue('trap-source');
- print {$cf} "clientaddr $trap_source\n" if ($trap_source);
- close $cf;
-}
-
-sub snmp_create_snmpv3_user {
-
- my $vyatta_user = shift;
- my $passphrase = randhex(32);
-
- my $createuser = "createUser $vyatta_user MD5 \"$passphrase\" DES";
- open(my $fh, '>', $snmp_snmpv3_createuser_conf) || die "Couldn't open $snmp_snmpv3_createuser_conf - $!";
- print $fh $createuser;
- close $fh;
-
- open(my $pass_file, '>', $password_file) || die "Couldn't open $password_file - $!";
- print $pass_file $passphrase;
- close $pass_file;
-}
-
-sub snmp_write_snmpv3_user {
-
- my $vyatta_user = shift;
- my $user = "rwuser $vyatta_user\n";
- open(my $fh, '>', $snmp_snmpv3_user_conf) || die "Couldn't open $snmp_snmpv3_user_conf - $!";
- print $fh $user;
- close $fh;
-}
-
-#
-# main
-#
-my $update_snmp;
-my $stop_snmp;
-my $restart_snmp;
-
-GetOptions(
- "update-snmp!" => \$update_snmp,
- "restart-snmp!" => \$restart_snmp,
- "stop-snmp!" => \$stop_snmp
-);
-
-snmp_start() if ($update_snmp);
-snmp_restart() if ($restart_snmp);
-snmp_stop() if ($stop_snmp);
diff --git a/scripts/system/vyatta_check_snmp_name.pl b/scripts/system/vyatta_check_snmp_name.pl
deleted file mode 100755
index 599fe398..00000000
--- a/scripts/system/vyatta_check_snmp_name.pl
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/perl
-
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2010 Vyatta, Inc.
-# All Rights Reserved.
-#
-# **** End License ****
-
-use strict;
-use warnings;
-
-foreach my $name (@ARGV) {
- die "$name : illegal characters in name\n"
- if (!($name =~ /^[a-zA-Z0-9]*$/));
-
- # Usernames may only be up to 32 characters long.
- die "$name: name may only be up to 32 characters long\n"
- if (length($name) > 32);
-}
-
-exit 0;
diff --git a/scripts/system/vyatta_check_username.pl b/scripts/system/vyatta_check_username.pl
index 30917ecb..9ecc42db 100755
--- a/scripts/system/vyatta_check_username.pl
+++ b/scripts/system/vyatta_check_username.pl
@@ -68,7 +68,7 @@ foreach my $user (@ARGV) {
# User does not exist in system, its okay
my $uid = getpwnam($user);
- next unless defined($uid);
+ next unless defined($uid) and $uid ne "1001";
# System accounts should not be listed in vyatta configuration
# 1000 is SYS_UID_MIN
diff --git a/scripts/system/vyatta_interface_rescan b/scripts/system/vyatta_interface_rescan
index eb45da60..2e8ad8ca 100755
--- a/scripts/system/vyatta_interface_rescan
+++ b/scripts/system/vyatta_interface_rescan
@@ -98,7 +98,7 @@ sub get_phy {
return $1;
}
-# vyatta_net_name leaves files in /dev/.udev/vyatta
+# vyatta_net_name leaves files in /run/udev/vyatta
# the filename is the interface and the contents are the hardware id
sub interface_rescan {
my ($VYATTAUDEV, $BOOTFILE) = @_;
diff --git a/scripts/system/vyatta_update_console.pl b/scripts/system/vyatta_update_console.pl
index 7c36ec7f..ff7c2df1 100755
--- a/scripts/system/vyatta_update_console.pl
+++ b/scripts/system/vyatta_update_console.pl
@@ -16,8 +16,7 @@
#
# **** End License ****
-# Update console configuration in /etc/inittab and grub
-# based on Vyatta configuration
+# Update console configuration in systemd and grub based on Vyatta configuration
use strict;
use warnings;
@@ -26,6 +25,7 @@ use lib "/opt/vyatta/share/perl5";
use Vyatta::Config;
use File::Compare;
use File::Copy;
+use experimental 'smartmatch';
die "$0 expects no arguments\n" if (@ARGV);
@@ -44,59 +44,66 @@ sub update {
}
}
-my $INITTAB = "/etc/inittab";
-my $TMPTAB = "/tmp/inittab.$$";
+sub update_getty{
+ my $directory = "/etc/systemd/system";
+ my $config = new Vyatta::Config;
+ $config->setLevel("system console device");
+ my @ttys;
+
+ foreach my $tty ($config->listNodes()) {
+ push(@ttys, "serial-getty\@$tty.service");
+ }
+
+ opendir DIR, $directory or die "Couldn't open dir '$directory': $!";
+ while (my $file = readdir(DIR)) {
+ next unless ($file =~ /^serial-getty/);
+ if ( not $file ~~ @ttys ) {
+ system("systemctl stop $file");
+ if (-e "$directory/getty.target.wants/$file") {
+ unlink "$directory/getty.target.wants/$file"
+ or die "Failed to remove file $file: $!\n";
+ }
+ if (-e "$directory/$file") {
+ unlink "$directory/$file"
+ or die "Failed to remove file $file: $!\n";
+ }
+ system("systemctl daemon-reload");
+ }
+ }
+ closedir DIR;
-sub update_inittab {
- open(my $inittab, '<', $INITTAB)
- or die "Can't open $INITTAB: $!";
+ foreach my $tty ($config->listNodes()) {
+ my $SGETTY = "/lib/systemd/system/serial-getty\@.service";
+ my $TMPGETTY = "/etc/systemd/system/serial-getty\@$tty.service";
+ my $SYMGETTY = "/etc/systemd/system/getty.target.wants/serial-getty\@$tty.service";
- open(my $tmp, '>', $TMPTAB)
- or die "Can't open $TMPTAB: $!";
+ open(my $sgetty, '<', $SGETTY)
+ or die "Can't open $SGETTY: $!";
- # Clone original inittab but remove all references to serial lines
- # and Xen consoles
- print {$tmp} grep {!/^T|^# Vyatta|^h/} <$inittab>;
- close $inittab;
+ open(my $tmp, '>', $TMPGETTY)
+ or die "Can't open $TMPGETTY: $!";
- my $config = new Vyatta::Config;
- $config->setLevel("system console device");
+ my $speed = $config->returnValue("$tty speed");
+ if ($tty =~ /^hvc\d/) {
+ $speed = 38400 unless $speed;
+ } else {
+ $speed = 9600 unless $speed;
+ }
- print {$tmp} "# Vyatta console configuration (do not modify)\n";
-
- my $serial_id = 0;
- my $xen_id = 0;
-
- foreach my $tty ($config->listNodes()) {
- my $speed = $config->returnValue("$tty speed");
- if ($tty =~ /^hvc\d/) {
- $speed = 38400 unless $speed;
- printf {$tmp} "h%d:23:respawn:", $xen_id;
- printf {$tmp} "/sbin/getty %d %s\n", $speed, $tty;
- $xen_id++;
- } else {
- $speed = 9600 unless $speed;
- printf {$tmp} "T%d:23:respawn:", $serial_id;
- if ($config->exists("$tty modem")) {
- printf {$tmp} "/sbin/mgetty -x0 -s %d %s\n", $speed, $tty;
- } else {
- printf {$tmp} "/sbin/getty -L %s %d vt100\n", $tty, $speed;
- }
-
- # id field is limited to 4 characters
- if (++$serial_id >= 1000) {
- warn "Ignoring $tty only 1000 serial devices supported\n";
- last;
- }
- }
+ while (<$sgetty>) {
+ if (/^ExecStart=/) {
+ $_ =~ s/115200,38400,9600/$speed/g;
+ }
+ print {$tmp} $_;
}
+ close $sgetty;
close $tmp;
-
- if (update($INITTAB, $TMPTAB)) {
-
- # This is same as telinit q - it tells init to re-examine inittab
- kill 1, 1;
+ symlink("$TMPGETTY","$SYMGETTY");
+ system("systemctl daemon-reload");
+ if ( system("systemctl status serial-getty\@$tty.service 2>&1 > /dev/null")) {
+ system("systemctl start serial-getty\@$tty.service");
}
+ }
}
my $GRUBCFG = "/boot/grub/grub.cfg";
@@ -135,7 +142,7 @@ sub update_grub {
update($GRUBCFG, $GRUBTMP);
}
-update_inittab;
+update_getty;
update_grub;
exit 0;
diff --git a/scripts/system/vyatta_update_hosts.pl b/scripts/system/vyatta_update_hosts.pl
deleted file mode 100755
index 22b141ab..00000000
--- a/scripts/system/vyatta_update_hosts.pl
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Module: vyatta_update_hosts.pl
-#
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2012-2013 Vyatta, Inc.
-# All Rights Reserved.
-#
-# Description:
-# Script to update '/etc/hosts' on commit of 'system host-name' and
-# 'system domain-name' config.
-#
-# **** End License ****
-#
-
-use strict;
-use English;
-use lib "/opt/vyatta/share/perl5/";
-
-use File::Temp qw(tempfile);
-use Vyatta::File qw(touch);
-use Vyatta::Config;
-use Getopt::Long;
-
-my $HOSTS_CFG = '/etc/hosts';
-my $HOSTS_TMPL = "/tmp/hosts.XXXXXX";
-my $HOSTNAME_CFG = '/etc/hostname';
-my $MAILNAME_CFG = '/etc/mailname';
-my $restart_services = 1;
-
-sub set_hostname {
- my ( $hostname ) = @_;
- system("hostname $hostname");
- open (my $f, '>', $HOSTNAME_CFG)
- or die("$0: Error! Unable to open $HOSTNAME_CFG for output: $!\n");
- print $f "$hostname\n";
- close ($f);
-}
-
-sub set_mailname {
- my ( $mailname ) = @_;
- open (my $f, '>', $MAILNAME_CFG)
- or die("$0: Error! Unable to open $MAILNAME_CFG for output: $!\n");
- print $f "$mailname\n";
- close ($f);
-}
-
-if ($EUID != 0) {
- printf("This program must be run by root.\n");
- exit 1;
-}
-
-GetOptions("restart-services!" => \$restart_services);
-
-my $vc = new Vyatta::Config();
-
-$vc->setLevel('system');
-my $host_name = $vc->returnValue('host-name');
-my $domain_name = $vc->returnValue('domain-name');
-my $mail_name;
-my $hosts_line = "127.0.1.1\t ";
-
-if (! defined $host_name) {
- $host_name = 'vyatta';
-}
-$mail_name = $host_name;
-
-if (defined $domain_name) {
- $mail_name .= '.' . $domain_name;
- $hosts_line .= $host_name . '.' . $domain_name;
-}
-$hosts_line .= " $host_name\t #vyatta entry\n";
-
-my ($out, $tempname) = tempfile($HOSTS_TMPL, UNLINK => 1)
- or die "Can't create temp file: $!";
-
-if (! -e $HOSTS_CFG) {
- touch $HOSTS_CFG;
-}
-open (my $in, '<', $HOSTS_CFG)
- or die("$0: Error! Unable to open '$HOSTS_CFG' for input: $!\n");
-
-while (my $line = <$in>) {
- if ($line =~ m:^127.0.1.1:) {
- next;
- }
- print $out $line;
-}
-print $out $hosts_line;
-
-close ($in);
-close ($out);
-
-system("cp $tempname $HOSTS_CFG") == 0
- or die "Can't copy $tempname to $HOSTS_CFG: $!";
-
-set_hostname $host_name;
-set_mailname $mail_name;
-
-# Restart services that use the system hostname;
-# add more ase needed.
-if ($restart_services) {
- system("invoke-rc.d rsyslog restart");
-}
diff --git a/scripts/system/vyatta_update_ntp.pl b/scripts/system/vyatta_update_ntp.pl
deleted file mode 100755
index 36a2807e..00000000
--- a/scripts/system/vyatta_update_ntp.pl
+++ /dev/null
@@ -1,120 +0,0 @@
-#! /usr/bin/perl
-
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# This code was originally developed by Vyatta, Inc.
-# Portions created by Vyatta are Copyright (C) 2007 Vyatta, Inc.
-# All Rights Reserved.
-#
-# **** End License ****
-
-# Filter ntp.conf - remove old servers and add current ones
-
-use strict;
-use lib "/opt/vyatta/share/perl5";
-use Vyatta::Config;
-use NetAddr::IP;
-use Getopt::Long;
-
-my $dhclient_script = 0;
-
-GetOptions("dhclient-script=i" => \$dhclient_script,
-);
-
-sub ntp_format {
- my ($cidr_or_host) = @_;
- my $ip = NetAddr::IP->new($cidr_or_host);
- if (defined($ip)) {
- my $address = $ip->addr();
- my $mask = $ip->mask();
-
- if ($ip->masklen() == 32) {
- if ($ip->version() == 6) {
- return "-6 $address";
- } else {
- return "$address";
- }
- } else {
- if ($ip->version() == 6) {
- return "-6 $address mask $mask";
- } else {
- return "$address mask $mask";
- }
- }
- } else {
- return undef;
- }
-}
-
-my @ntp;
-if (-e '/etc/ntp.conf') {
- open (my $file, '<', '/etc/ntp.conf')
- or die("$0: Error! Unable to open '/etc/ntp.conf' for input: $!\n");
- @ntp = <$file>;
- close ($file);
-}
-
-open (my $output, '>', '/etc/ntp.conf')
- or die("$0: Error! Unable to open '/etc/ntp.conf' for output: $!\n");
-
-my $cfg = new Vyatta::Config;
-$cfg->setLevel("system ntp");
-
-foreach my $line (@ntp) {
- if ($line =~ /^# VyOS CLI configuration options/) {
- print $output $line;
- print $output "\n";
- last;
- } else {
- print $output $line;
- }
-}
-
-my @servers;
-my @clients;
-
-if ($dhclient_script == 1) {
- @servers = $cfg->listOrigNodes("server");
- @clients = $cfg->returnOrigValues("client address");
-} else {
- @servers = $cfg->listNodes("server");
- @clients = $cfg->returnValues("client address");
-}
-
-if (scalar(@servers) > 0) {
- print $output "# Servers\n\n";
- foreach my $server (@servers) {
- my $server_addr = ntp_format($server);
- if (defined($server_addr)) {
- print $output "server $server_addr iburst";
- for my $property (qw(dynamic noselect preempt prefer)) {
- if ($dhclient_script == 1) {
- print $output " $property" if ($cfg->existsOrig("server $server $property"));
- } else {
- print $output " $property" if ($cfg->exists("server $server $property"));
- }
- }
- print $output "\nrestrict $server_addr nomodify notrap nopeer noquery\n";
- }
- }
- print $output "\n";
-}
-
-if (scalar(@clients) > 0) {
- print $output "# Clients\n\n";
- foreach my $client (@clients) {
- my $address = ntp_format($client);
- print $output "restrict $address nomodify notrap nopeer\n";
- }
- print $output "\n";
-}
-
-exit 0;
diff --git a/scripts/system/vyatta_update_resolv.pl b/scripts/system/vyatta_update_resolv.pl
index 51617fce..de09a760 100755
--- a/scripts/system/vyatta_update_resolv.pl
+++ b/scripts/system/vyatta_update_resolv.pl
@@ -30,7 +30,6 @@ use Vyatta::Config;
my $dhclient_script = 0;
my $config_mode = 0;
-my $ntp_config = 0;
GetOptions("dhclient-script=i" => \$dhclient_script,
"config-mode=i" => \$config_mode,
@@ -45,7 +44,6 @@ my $disable_dhcp_nameservers = undef;
if ($config_mode == 1) {
$disable_dhcp_nameservers = $vc->exists('disable-dhcp-nameservers');
- $ntp_config = $vc->exists('ntp server');
} else {
$disable_dhcp_nameservers = $vc->existsOrig('disable-dhcp-nameservers');
}
@@ -53,7 +51,6 @@ if ($config_mode == 1) {
if ($dhclient_script == 1) {
@search_domains = $vc->returnOrigValues('domain-search domain');
$domain_name = $vc->returnOrigValue('domain-name');
- $ntp_config = $vc->existsOrig('ntp server');
} else {
@search_domains = $vc->returnValues('domain-search domain');
$domain_name = $vc->returnValue('domain-name');
@@ -132,7 +129,6 @@ if ($domain_name && length($domain_name) > 0) {
if (($dhclient_script == 1) || ($config_mode == 1)) {
my @current_dhcp_nameservers;
- my $restart_ntp = 0;
# code below to add new name-servers received from dhcp client, but only if disable-dhcp-nameservers
# hasn't been enabled.
@@ -168,7 +164,6 @@ if (($dhclient_script == 1) || ($config_mode == 1)) {
or die "$! error trying to overwrite";
print $rf "#nameserver written by vyatta_update_resolv.pl (dhcp)\nnameserver\t$ns\n";
close $rf;
- $restart_ntp = 1;
}
}
}
@@ -206,7 +201,6 @@ if (($dhclient_script == 1) || ($config_mode == 1)) {
$cmd = "sed -i -n '/nameserver\t$dhcpnameserver/".'{n;x;d;};x;1d;p;${x;p;}'."' /etc/resolv.conf";
}
system($cmd);
- $restart_ntp = 1;
}
} else {
for my $dhcpnameserver (@dhcp_nameservers_in_resolvconf) {
@@ -225,18 +219,9 @@ if (($dhclient_script == 1) || ($config_mode == 1)) {
$cmd = "sed -i -n '/nameserver\t$dhcpnameserver/".'{n;x;d;};x;1d;p;${x;p;}'."' /etc/resolv.conf";
}
system($cmd);
- $restart_ntp = 1;
}
}
}
- if ($restart_ntp == 1) {
- # this corresponds to what is done in name-server/node.def as a fix for bug 1300
- if ($ntp_config == 1) {
- system("sudo /opt/vyatta/sbin/vyatta_update_ntp.pl --dhclient-script $dhclient_script");
- my $cmd_ntp_restart = "if [ -f /etc/ntp.conf ] && grep -q '^server' /etc/ntp.conf; then /usr/sbin/invoke-rc.d ntp restart >&/dev/null; fi &";
- system($cmd_ntp_restart);
- }
- }
}
# The following will re-write '/etc/resolv.conf' line by line,
diff --git a/scripts/system/vyatta_update_sysctl.pl b/scripts/system/vyatta_update_sysctl.pl
index ddf10115..6e33c5d0 100644
--- a/scripts/system/vyatta_update_sysctl.pl
+++ b/scripts/system/vyatta_update_sysctl.pl
@@ -62,7 +62,7 @@ sub set_sysctl_value {
my $ovalue = get_sysctl_value($sysctl_opt);
if ($nvalue ne $ovalue) {
- my $cmd = "$SYSCTL -w $sysctl_opt=$nvalue 2>&1 1>&-";
+ my $cmd = "$SYSCTL -w $sysctl_opt=$nvalue 2>&1> /dev/null";
system($cmd);
if ($? >> 8) {
die "exec of $SYSCTL failed: '$cmd'";
diff --git a/scripts/system/vyatta_update_syslog.pl b/scripts/system/vyatta_update_syslog.pl
index dd834c92..37d017e3 100755
--- a/scripts/system/vyatta_update_syslog.pl
+++ b/scripts/system/vyatta_update_syslog.pl
@@ -93,7 +93,7 @@ sub print_outchannel {
# Force outchannel size to be 1k more than logrotate config to guarantee rotation
$size = ($size + 5) * 1024;
print $fh "\$outchannel $channel,$target,$size,/usr/sbin/logrotate ${LOGROTATE_CFG_DIR}/$channel\n";
- print $fh join( ';', @{ $entries{$target}{selector} } ), " \$$channel\n";
+ print $fh join( ';', @{ $entries{$target}{selector} } ), " :omfile:\$$channel\n";
}
my $config = new Vyatta::Config;
diff --git a/scripts/system/vyatta_update_telnet b/scripts/system/vyatta_update_telnet
deleted file mode 100755
index f50eef79..00000000
--- a/scripts/system/vyatta_update_telnet
+++ /dev/null
@@ -1,84 +0,0 @@
-#! /bin/bash
-# Script to control telnet daemon parameters
-# and block changes when logged in over telnet
-
-# Block changes to telnet daemon when logged in over telnet
-pid=$(who -um | awk -F " " '{print $7}')
-if [ -n "$pid" ]; then
- if ps --pid $(ps --pid $pid -o ppid=) -o cmd= | grep -q telnetd
- then
- echo "Please configure telnet settings via ssh or console."
- exit 1
- fi
-fi
-
-usage() {
- echo "Usage: $0 enable <port>"
- echo " $0 disable"
- echo " $0 allow-root {true|false}"
- exit 1;
-}
-
-allow-root() {
- case "$1" in
- true) ;;
- false) ;;
- *) echo "Expect true or false"
- usage ;;
- esac
-
- sudo sed -i -e '/^# Pseudo-terminal (telnet)/,$d' /etc/securetty
-
- if [ $1 = "false" ]; then
- return
- fi
-
- sudo sh -c "cat >>/etc/securetty" <<EOF
-# Pseudo-terminal (telnet)
-pts/0
-pts/1
-pts/2
-pts/3
-pts/4
-pts/5
-pts/6
-pts/7
-pts/8
-pts/9
-pts/10
-pts/11
-pts/12
-pts/13
-pts/14
-pts/15
-pts/16
-pts/17
-pts/18
-pts/19
-EOF
-
-}
-
-case "$1" in
- allow-root)
- allow-root $2
- ;;
-
- enable)
- if [ -z "$2" ]
- then echo "Missing port number";
- usage
- fi
- exec sudo /opt/vyatta/sbin/telnetd.init restart $2 $3
- ;;
-
- disable)
- exec sudo /opt/vyatta/sbin/telnetd.init stop
- ;;
-
- *)
- echo "Unknown argument $1";
- usage
- ;;
-esac
-
diff --git a/scripts/vyatta-address b/scripts/vyatta-address
index afe60191..072f27e6 100755
--- a/scripts/vyatta-address
+++ b/scripts/vyatta-address
@@ -28,10 +28,10 @@ case $1 in
delete)
# Get current address from interface when using DHCP
if [[ "$3" = "dhcp" ]]; then
- lease_file=/var/lib/dhcp3/dhclient_"$2".leases;
+ lease_file=/var/lib/dhcp/dhclient_"$2".leases;
ip_address=$(sed -n 's/^\s\sfixed-address\s\(.*\);/\1/p' $lease_file | sed -n '$p');
elif [[ "$3" = "dhcpv6" ]]; then
- lease_file=/var/lib/dhcp3/dhclient_v6_"$2".leases;
+ lease_file=/var/lib/dhcp/dhclient_v6_"$2".leases;
ip_address=$(sed -n 's/^\s\s\s\siaaddr\s\(.*\)\s{/\1/p' $lease_file | sed -n '$p');
else
ip_address=$3;
diff --git a/scripts/vyatta-bridge.pl b/scripts/vyatta-bridge.pl
index 36d59212..7602c2ce 100755
--- a/scripts/vyatta-bridge.pl
+++ b/scripts/vyatta-bridge.pl
@@ -35,7 +35,7 @@ use lib "/opt/vyatta/share/perl5/";
use Vyatta::Interface;
use Vyatta::Config;
-my $BRCTL = 'sudo /usr/sbin/brctl';
+my $BRCTL = 'sudo /sbin/brctl';
die "Usage: $0 ACTION ethX\n" unless ($#ARGV == 1);
diff --git a/scripts/vyatta-dhcp-helper.pl b/scripts/vyatta-dhcp-helper.pl
index 40291654..6febbaf9 100644
--- a/scripts/vyatta-dhcp-helper.pl
+++ b/scripts/vyatta-dhcp-helper.pl
@@ -18,7 +18,7 @@ sub get_dhcp_router {
if (!Vyatta::Misc::is_dhcp_enabled($dhcp_iface,0)) {
return "127.0.0.1";
}
- my $lease = "/var/lib/dhcp3/dhclient_${dhcp_iface}_lease";
+ my $lease = "/var/lib/dhcp/dhclient_${dhcp_iface}_lease";
my $router = `grep new_routers= $lease | cut -d"'" -f2`;
my @r = split(/,/, $router);
$router = $r[0];
diff --git a/scripts/vyatta-dhcpv6-client.pl b/scripts/vyatta-dhcpv6-client.pl
index 384d4d62..74cc4db2 100755
--- a/scripts/vyatta-dhcpv6-client.pl
+++ b/scripts/vyatta-dhcpv6-client.pl
@@ -98,9 +98,9 @@ GetOptions("start" => \$start_flag,
die "Error: Interface name must be specified with --ifname parameter.\n"
unless $ifname;
-my $pidfile = "/var/lib/dhcp3/dhclient_v6_$ifname.pid";
-my $leasefile = "/var/lib/dhcp3/dhclient_v6_$ifname.leases";
-my $conffile = "/var/lib/dhcp3/dhclient_v6_$ifname.conf";
+my $pidfile = "/var/lib/dhcp/dhclient_v6_$ifname.pid";
+my $leasefile = "/var/lib/dhcp/dhclient_v6_$ifname.leases";
+my $conffile = "/var/lib/dhcp/dhclient_v6_$ifname.conf";
my $cmdname = "/sbin/dhclient";
if ($release_flag) {
diff --git a/scripts/vyatta-grub-setup b/scripts/vyatta-grub-setup
index 11e73846..ea4dc905 100755
--- a/scripts/vyatta-grub-setup
+++ b/scripts/vyatta-grub-setup
@@ -1,7 +1,7 @@
#!/bin/sh
#
# Module: grup-setup
-#
+#
# **** License ****
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -15,11 +15,11 @@
# This code was originally developed by Vyatta, Inc.
# Portions created by Vyatta are Copyright (C) 2006, 2007 Vyatta, Inc.
# All Rights Reserved.
-#
+#
# Author: Robert Bays
# Date: 2006
# Description:
-#
+#
# **** End License ****
#
# Vyatta grub customization setup script.
@@ -55,7 +55,7 @@ ROOT_PARTITION="$1"
GRUB_OPTIONS="$2"
ROOTFSDIR="$3"
-[ "$ROOT_PARTITION" ] || exit 1
+[ "$ROOT_PARTITION" ] || exit 1
# Grub options
if [ "$GRUB_OPTIONS" ]
@@ -103,7 +103,7 @@ else
fi
if eval "$UNION"; then
- GRUB_OPTIONS="boot=live quiet vyatta-union=/boot/$livedir"
+ GRUB_OPTIONS="boot=live quiet vyos-union=/boot/$livedir"
union_xen_kernel_version=$(ls $ROOTFSDIR/boot/$livedir/vmlinuz*-xen* \
2>/dev/null \
| awk -F/ '{ print $6 }' \
@@ -114,7 +114,7 @@ if eval "$UNION"; then
2> /dev/null | grep -v xen \
| awk -F/ '{ print $6 }' | sed 's/vmlinuz//g' \
| sort -r)
-else
+else
# Read UUID off of filesystem and use it to tell GRUB where to mount drive
# This allows device to move around and grub will still find it
uuid=$(dumpe2fs -h /dev/${ROOT_PARTITION} 2>/dev/null | awk '/^Filesystem UUID/ {print $3}')
@@ -133,11 +133,6 @@ if [ -n "$xen_kernel_version" ] || [ -n "$union_xen_kernel_version" ]; then
default_console=0
fi
-# Check for diagnostic partition residing in first partition of drive
-# holding the root partition.
-
-diag_drive_number=""
-
if [ ${ROOT_PARTITION:0:2} = "md" ]; then
# Select the first disk in the RAID group to look for diag partition on
root_disks=`echo /sys/block/$ROOT_PARTITION/slaves/*`
@@ -149,20 +144,6 @@ else
root_disk=${ROOT_PARTITION:0:${#ROOT_PARTITION}-1}
fi
-# If the root partition is not occupying the first partition, then we
-# can look for a diag partition there.
-if [ "$ROOT_PARTITION" != "${root_disk}1" ]; then
- first_part_fstype=`fdisk -l /dev/$root_disk | grep ^/dev/${root_disk}1 | awk '{ print $6 }'`
-
- if [ "$first_part_fstype" = "FAT16" -o "$first_part_fstype" = "Dell" ]; then
- # Translate the Linux drive letter (e.g. the "a" in "/dev/sda") into
- # a drive number that grub uses. i.e. "a" = 0, "b" = 1, etc.
- diag_drive_letter=${root_disk:2:1}
- diag_drive_number=`echo $diag_drive_letter | od -t u1 -N 1 | awk '{ print $2 }'`
- let diag_drive_number-=97
- fi
-fi
-
(
# create the grub.cfg file for grub
# The "default=" line selects which boot option will be used by default.
@@ -175,18 +156,17 @@ fi
echo "terminal_output --append serial"
if [ ${ROOT_PARTITION:0:2} = "md" ]; then
+ uuid_root_disk=`/sbin/tune2fs -l /dev/${root_disk}1 | grep UUID | awk '{print $3}'`
+ uuid_root_md=`/sbin/tune2fs -l /dev/md${ROOT_PARTITION#md} | grep UUID | awk '{print $3}'`
echo ""
- echo -e "insmod raid"
- echo -e "root ($ROOT_PARTITION)"
+ echo -e "insmod part_msdos"
+ echo -e "insmod diskfilter"
+ echo -e "insmod ext2"
+ echo -e "insmod mdraid1x"
+ echo -e "set root='mduuid/${uuid_root_disk}'"
+ echo -e "search --no-floppy --fs-uuid --set=root ${uuid_root_md}"
fi
- echo ""
- echo "echo -n Press ESC to enter the Grub menu..."
- echo "if sleep --verbose --interruptible 5 ; then"
- echo -e "\tterminal_input console serial"
- echo "fi"
- echo ""
-
# create xen kernels if they exist
XEN_OPTS='dom0_mem=512M xenheap_megabytes=128'
if [ -n "$xen_kernel_version" ]; then
@@ -232,7 +212,7 @@ fi
echo -e "\tlinux /boot/$livedir/vmlinuz $GRUB_OPTIONS $usb_console"
echo -e "\tinitrd /boot/$livedir/initrd.img"
echo -e "}"
-
+
elif [ -n "$union_kernel_versions" ]; then
for kversion in $union_kernel_versions; do
echo
@@ -260,8 +240,8 @@ fi
echo -e "\tlinux /boot/vmlinuz $GRUB_OPTIONS $VGA_LOGO $vty_console"
echo -e "\tinitrd /boot/initrd.img"
echo -e "}"
-
- # Set the second system boot option.
+
+ # Set the second system boot option.
# Make the serial port be the default console in this one.
echo
echo -e "menuentry \"VyOS $version (Serial console)\" {"
@@ -294,19 +274,19 @@ fi
fi
fi
- # Set options for root password reset. Offer
+ # Set options for root password reset. Offer
# options for both serial and KVM console.
reset_boot_path=/boot
if eval "$UNION"; then
reset_boot_path=/boot/$livedir
fi
-
+
echo
echo -e "menuentry \"Lost password change $version (KVM console)\" {"
echo -e "\tlinux $reset_boot_path/vmlinuz $GRUB_OPTIONS $NOSELINUX $vty_console init=$pass_reset"
echo -e "\tinitrd $reset_boot_path/initrd.img"
echo -e "}"
-
+
echo
echo -e "menuentry \"Lost password change $version (Serial console)\" {"
echo -e "\tlinux $reset_boot_path/vmlinuz $GRUB_OPTIONS $NOSELINUX $serial_console init=$pass_reset"
@@ -319,14 +299,6 @@ fi
echo -e "\tinitrd $reset_boot_path/initrd.img"
echo -e "}"
- if [ -n "$diag_drive_number" ]; then
- echo
- echo -e "menuentry \"Diagnostics\" {"
- echo -e "\tchainloader (hd$diag_drive_number,1)+1"
- echo -e "}"
- fi
-
-
) >"$ROOTFSDIR"/boot/grub/grub.cfg
( [ -s /boot/grub/menu.lst ] &&
diff --git a/scripts/vyatta-interfaces.pl b/scripts/vyatta-interfaces.pl
index d04ad395..a91a66e8 100755
--- a/scripts/vyatta-interfaces.pl
+++ b/scripts/vyatta-interfaces.pl
@@ -363,15 +363,15 @@ sub dhcp {
unlink($release_file);
} elsif ($request eq "start") {
print "Starting DHCP client on $intf ...\n";
- touch("/var/lib/dhcp3/$intf");
+ touch("/var/lib/dhcp/$intf");
run_dhclient($intf);
} elsif ($request eq "stop") {
print "Stopping DHCP client on $intf ...\n";
stop_dhclient($intf);
- unlink("/var/lib/dhcp3/dhclient_$intf\_lease");
- unlink("/var/lib/dhcp3/$intf");
+ unlink("/var/lib/dhcp/dhclient_$intf\_lease");
+ unlink("/var/lib/dhcp/$intf");
unlink("/var/run/vyatta/dhclient/dhclient_release_$intf");
- unlink("/var/lib/dhcp3/dhclient_$intf\.conf");
+ unlink("/var/lib/dhcp/dhclient_$intf\.conf");
} else {
die "Unknown DHCP request: $request\n";
}
diff --git a/scripts/vyatta-load-user-key.pl b/scripts/vyatta-load-user-key.pl
index 5c34b6ab..651a08b1 100755
--- a/scripts/vyatta-load-user-key.pl
+++ b/scripts/vyatta-load-user-key.pl
@@ -103,7 +103,7 @@ sub geturl {
sub validate_keytype {
my ($keytype) = @_;
- if ($keytype eq 'ssh-rsa' || $keytype eq 'ssh-dss') {
+ if ($keytype eq 'ssh-rsa' || $keytype eq 'ssh-dss' || $keytype eq 'ecdsa-sha2-nistp256' || $keytype eq 'ecdsa-sha2-nistp384' || $keytype eq 'ecdsa-sha2-nistp521' || $keytype eq 'ssh-ed25519') {
return 1;
}
return 0;
@@ -135,7 +135,7 @@ sub getkeys {
my $comment;
$comment = join(' ', @fields);
- die "Unknown key type $keytype : must be ssh-rsa or ssh-dss\n"
+ die "Unknown key type $keytype : must be one of ssh-rsa, ssh-dss, ecdsa-sha2-nistp* or ssh-ed25519\n"
unless validate_keytype $keytype;
my $cmd
diff --git a/scripts/vyatta-system-nameservers b/scripts/vyatta-system-nameservers
index 99019fd1..9c688e80 100755
--- a/scripts/vyatta-system-nameservers
+++ b/scripts/vyatta-system-nameservers
@@ -36,14 +36,6 @@ restart_dnsmasq () {
fi
}
-restart_ntp () {
- # restart ntp if ntp is configured
- if [ -f /etc/ntp.conf ] && grep -q "^server" /etc/ntp.conf; then
- sudo /opt/vyatta/sbin/vyatta_update_ntp.pl
- /usr/sbin/invoke-rc.d ntp restart >&/dev/null
- fi
-}
-
update_system_nameservers () {
nameserver=$1
touch /etc/resolv.conf
@@ -70,7 +62,6 @@ update_system_nameservers () {
mv -f /etc/resolv_tmp.conf /etc/resolv.conf
fi
restart_dnsmasq
- restart_ntp
}
delete_system_nameserver () {
@@ -79,7 +70,6 @@ delete_system_nameserver () {
# remove specified nameserver
sed -i "/$nameserver$/d" /etc/resolv.conf
restart_dnsmasq
- restart_ntp
}
#
diff --git a/scripts/vyatta-update-grub.pl b/scripts/vyatta-update-grub.pl
index a9e646ed..e4110ee0 100755
--- a/scripts/vyatta-update-grub.pl
+++ b/scripts/vyatta-update-grub.pl
@@ -25,7 +25,7 @@ use warnings;
use Getopt::Long;
use File::Temp qw/ :mktemp /;
-my $UNION_BOOT_DIR = '/live/image/boot';
+my $UNION_BOOT_DIR = `/opt/vyatta/sbin/vyos-persistpath` . '/boot';
my $UNION_GRUB_CFG_DIR = "$UNION_BOOT_DIR/grub";
my $DISK_BOOT_DIR = '/boot';
my $DISK_GRUB_CFG_DIR= '/boot/grub';
diff --git a/scripts/vyatta-update-tunnel.pl b/scripts/vyatta-update-tunnel.pl
index d4c652d0..de5019ab 100644
--- a/scripts/vyatta-update-tunnel.pl
+++ b/scripts/vyatta-update-tunnel.pl
@@ -10,7 +10,7 @@ GetOptions("interface=s" => \$iface,
"tunnel=s" => \$tunnel,
"option=s" => \$option
);
-my $FILE_DHCP_HOOK = "/etc/dhcp3/dhclient-exit-hooks.d/tunnel-$tunnel";
+my $FILE_DHCP_HOOK = "/etc/dhcp/dhclient-exit-hooks.d/tunnel-$tunnel";
my $dhcp_hook = '';
if ($option eq 'create') {
$dhcp_hook =<<EOS;
diff --git a/scripts/vyatta_net_name b/scripts/vyatta_net_name
index 90dd8615..53ae9fba 100755
--- a/scripts/vyatta_net_name
+++ b/scripts/vyatta_net_name
@@ -23,7 +23,7 @@ use Fcntl qw(:flock);
my $BOOTFILE = "/opt/vyatta/etc/config/config.boot";
my $VYATTACFG = "/opt/vyatta/config/active";
-my $UDEVDIR = "/dev/.udev/";
+my $UDEVDIR = "/run/udev/";
my $VYATTAUDEV = $UDEVDIR . "vyatta";
my $LOCKFILE = $UDEVDIR . ".vyatta-lock";
my $UDEVLOG = $UDEVDIR . "log/";
diff --git a/scripts/vyos-intfwatchd b/scripts/vyos-intfwatchd
deleted file mode 100644
index b8bde3f3..00000000
--- a/scripts/vyos-intfwatchd
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/perl
-#
-# Module: vyos-restore-static-ipv6.pl
-#
-# **** License ****
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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.
-#
-# Copyright (C) 2014 VyOS Development Group
-#
-# **** End License ****
-
-use lib "/opt/vyatta/share/perl5";
-use strict;
-use warnings;
-use POSIX;
-use Fcntl;
-use Sys::Syslog;
-use Vyatta::Config;
-use Vyatta::Interface;
-use Data::Dumper;
-
-use constant
-{
- # Program settings
- PROGRAM_NAME => "vyos-intfwatchd",
- PROGRAM_VERSION => "1.0",
- PID_FILE => "/var/run/vyos-intfwatchd.pid",
-
- # Program exit codes
- SUCCESS => 0,
- ERROR => 1,
-
- # Subroutine error codes
- SUB_ERROR => 0,
- SUB_SUCCESS => 1,
-
- # Fcntl file lock/unlock constants
- SET_EXCLUSIVE_LOCK => 2,
- UNLOCK => 8
-};
-
-my $debug = 0;
-
-sub daemonize
-{
- syslog("info", "%s", "Starting in daemon mode");
-
- my $pid = fork();
- if (!defined($pid))
- {
- # Fork failed
- die "Could not spawn child process: $!, exiting";
- }
- elsif ($pid > 0)
- {
- # Child has been spawned succefully,
- # parent should terminate now
- exit(SUCCESS);
- }
- chdir("/");
- umask(0);
- setsid();
-
- # Close standard i/o stream descriptors
- open STDIN, "/dev/null" or die "Can't read /dev/null: $!";
- open STDOUT, ">>/dev/null" or die "Can't write to /dev/null: $!";
- open STDERR, ">>/dev/null" or die "Can't write to /dev/null: $!";
-}
-
-sub writePid
-{
- my ($pid, $fh) = @_;
-
- unless (flock($fh, SET_EXCLUSIVE_LOCK))
- {
- syslog("err", "%s", "Could not lock PID file: $!");
- exit(ERROR);
- }
-
- print($fh $pid);
-}
-
-sub releasePid
-{
- my $fh = shift;
- flock($fh, UNLOCK);
- close($fh);
- unlink(PID_FILE);
-}
-
-
-daemonize();
-my $pidFile = PID_FILE;
-unless (open PID_HANDLE, ">$pidFile")
-{
- syslog("err", "%s", "Could not create PID file: $!");
- exit(1);
-}
-writePid($$, \*PID_HANDLE);
-
-my $config = new Vyatta::Config();
-
-my $ip_monitor = "ip monitor link";
-unless (open(HANDLE, "$ip_monitor|"))
-{
- syslog("err", "%s", qq{Could not start IP monitor: $!\n});
- exit(1);
-}
-
-sub terminate
-{
- my $error = shift;
- syslog("notice", "%s", PROGRAM_NAME." is terminating");
- releasePid(\*PID_HANDLE);
- exit(0);
-}
-
-$SIG{'INT'} = \&terminate;
-$SIG{'TERM'} = \&terminate;
-$SIG{'KILL'} = sub { exit(0); };
-
-# This solution should be bad enough to be fixed immediately
-# when feasible.
-
-while(<HANDLE>)
-{
- if( $_ =~ /^[0-9]+:\s+([^@]+)(@.*)*:\s+<.*UP,.*>/ )
- {
- my $intf_name = $1;
- my $intf = new Vyatta::Interface($intf_name);
- my $intf_addr_path = $intf->path() . " address";
-
- # Get IPv6 addresses
- my @addresses = grep /:/, $config->returnEffectiveValues($intf_addr_path);
- print Dumper(@addresses) if $debug;
-
- foreach my $address (@addresses)
- {
- system("ip address add $address dev $intf_name");
- if( $? != 0 )
- {
- syslog("err", "%s", "Could not add address $address: $!");
- }
- else
- {
- syslog("notice", "%s", "Restoring address $address on interface $intf_name");
- }
- }
-
- $intf = undef;
- }
-}
-
diff --git a/scripts/vyos-persistpath b/scripts/vyos-persistpath
new file mode 100755
index 00000000..d7199b09
--- /dev/null
+++ b/scripts/vyos-persistpath
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+if grep -q -e '^overlay.*/filesystem.squashfs' /proc/mounts; then
+ # Live CD boot
+ exit 2
+
+elif grep -q 'upperdir=/live/persistence/' /proc/mounts && egrep -q 'overlay / overlay ' /proc/mounts; then
+ # union boot
+
+ boot_device=`grep -o 'upperdir=/live/persistence/[^/]*/boot' /proc/mounts | cut -d / -f 4`
+ persist_path="/lib/live/mount/persistence/$boot_device"
+
+ echo $persist_path
+ exit 0
+else
+ # old style boot
+
+ exit 1
+fi \ No newline at end of file
diff --git a/sysconf/filecaps b/sysconf/filecaps
index 98ada7a3..96eadff4 100644
--- a/sysconf/filecaps
+++ b/sysconf/filecaps
@@ -9,10 +9,9 @@ cap_net_admin=pe /sbin/xtables-multi
cap_net_admin=pe /usr/sbin/ipset
cap_net_admin=pe /usr/sbin/conntrack
cap_net_admin=pe /usr/sbin/arp
-cap_net_admin=pe /usr/sbin/brctl
+cap_net_admin=pe /sbin/brctl
# Raw sockets
-cap_net_raw=pe /usr/bin/tshark
cap_net_raw=pe /usr/sbin/tcpdump
cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
@@ -20,8 +19,7 @@ cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
cap_net_admin,cap_sys_admin=pe /sbin/sysctl
# Module install
-cap_sys_module=pe /sbin/modprobe
-cap_sys_module=pe /sbin/rmmod
+cap_sys_module=pe /bin/kmod
# Set time
cap_sys_time=pe /bin/date
diff --git a/sysconf/level b/sysconf/level
index 83c60e05..9da13bf5 100644
--- a/sysconf/level
+++ b/sysconf/level
@@ -1,2 +1,2 @@
-admin:quaggavty,vyattacfg,sudo,adm,dip,disk,fuse
+admin:quaggavty,vyattacfg,sudo,adm,dip,disk
operator:quaggavty,vyattaop,operator,adm,dip
diff --git a/sysconf/netdevice b/sysconf/netdevice
index 71fc310d..43634748 100644
--- a/sysconf/netdevice
+++ b/sysconf/netdevice
@@ -1,6 +1,7 @@
# device name to CLI path matching
lo loopback
eth ethernet
+lan ethernet
ifb input
peth pseudo-ethernet
br bridge
diff --git a/sysconf/pam_radius.cfg b/sysconf/pam_radius.cfg
index 02ffc1c8..ba3037ea 100644
--- a/sysconf/pam_radius.cfg
+++ b/sysconf/pam_radius.cfg
@@ -1,11 +1,14 @@
-Name: Radius client
+Name: RADIUS authentication
Default: yes
-Priority: 512
+Priority: 257
Auth-Type: Primary
Auth:
- sufficient pam_radius_auth.so try_first_pass
-Auth-Initial:
- sufficient pam_radius_auth.so
+ [authinfo_unavail=ignore success=end default=ignore] /lib/security/pam_radius_auth.so
+
Account-Type: Primary
Account:
- sufficient pam_radius_auth.so
+ [authinfo_unavail=ignore success=end perm_denied=bad default=ignore] /lib/security/pam_radius_auth.so
+
+Session-Type: Additional
+Session:
+ [authinfo_unavail=ignore success=ok default=ignore] /lib/security/pam_radius_auth.so
diff --git a/sysconf/rsyslog.conf b/sysconf/rsyslog.conf
index 56c7e15c..7db872bf 100644
--- a/sysconf/rsyslog.conf
+++ b/sysconf/rsyslog.conf
@@ -12,6 +12,9 @@ $ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides --MARK-- message capability
+$OmitLocalLogging no
+$SystemLogSocketName /run/systemd/journal/syslog
+
$KLogPath /proc/kmsg
# provides UDP syslog reception
@@ -54,8 +57,11 @@ $IncludeConfig /etc/rsyslog.d/*.conf
#### RULES ####
###############
+daemon.* /var/log/messages
+
# Log authorization failure messages
auth,authpriv.* /var/log/auth.log
# Emergencies are sent to everybody logged in.
-*.emerg *
+*.emerg :omusrmsg:*
+
diff --git a/sysconf/sudoers b/sysconf/sudoers
index b6c50423..998e7083 100644
--- a/sysconf/sudoers
+++ b/sysconf/sudoers
@@ -36,7 +36,7 @@ Cmnd_Alias DMIDECODE = /usr/sbin/dmidecode
Cmnd_Alias DISK = /usr/bin/lsof, /sbin/fdisk -l *, /sbin/sfdisk -d *
Cmnd_Alias DATE = /bin/date, /usr/sbin/ntpdate
Cmnd_Alias PPPOE_CMDS = /sbin/pppd, /sbin/poff, /usr/sbin/pppstats
-Cmnd_Alias PCAPTURE = /usr/bin/tshark, /usr/bin/tcpdump
+Cmnd_Alias PCAPTURE = /usr/bin/tcpdump
Cmnd_Alias HWINFO = /usr/bin/lspci
Cmnd_Alias FORCE_CLUSTER = /usr/share/heartbeat/hb_takeover, \
/usr/share/heartbeat/hb_standby
diff --git a/sysconf/vyatta-sysctl.conf b/sysconf/vyatta-sysctl.conf
index 3fe560b6..3e5717f1 100644
--- a/sysconf/vyatta-sysctl.conf
+++ b/sysconf/vyatta-sysctl.conf
@@ -67,3 +67,7 @@ net.ipv4.conf.all.send_redirects=1
# Increase size of buffer for netlink
net.core.rmem_max=2097152
+
+# Do not forget IPv6 addresses when a link goes down
+net.ipv6.conf.default.keep_addr_on_down=1
+net.ipv6.conf.all.keep_addr_on_down=1
diff --git a/templates/interfaces/bonding/node.tag/dhcpv6-options/node.def b/templates/interfaces/bonding/node.tag/dhcpv6-options/node.def
index 225bd926..d25533f9 100644
--- a/templates/interfaces/bonding/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/bonding/node.tag/dhcpv6-options/node.def
@@ -27,7 +27,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/bonding/node.tag/vif-s/node.tag/dhcpv6-options/node.def b/templates/interfaces/bonding/node.tag/vif-s/node.tag/dhcpv6-options/node.def
index 86b5560f..d6fea411 100644
--- a/templates/interfaces/bonding/node.tag/vif-s/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/bonding/node.tag/vif-s/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/bonding/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def b/templates/interfaces/bonding/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
index ef4c13ad..0be14824 100644
--- a/templates/interfaces/bonding/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/bonding/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/bonding/node.tag/vif/node.tag/dhcpv6-options/node.def b/templates/interfaces/bonding/node.tag/vif/node.tag/dhcpv6-options/node.def
index 81e7055d..41975dea 100644
--- a/templates/interfaces/bonding/node.tag/vif/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/bonding/node.tag/vif/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/bridge/node.def b/templates/interfaces/bridge/node.def
index c20b361c..8525cb9e 100644
--- a/templates/interfaces/bridge/node.def
+++ b/templates/interfaces/bridge/node.def
@@ -5,7 +5,7 @@ help: Bridge interface name
val_help: <brN>; Bridge interface name
syntax:expression: pattern $VAR(@) "^br[0-9]+$" ; "Must be (br0 - br999)"
-create: /usr/sbin/brctl addbr $VAR(@)
+create: /sbin/brctl addbr $VAR(@)
if [ -n "$VAR(mac/@)" ] ; then
ip li set dev $VAR(@) address $VAR(mac/@)
fi
@@ -17,4 +17,4 @@ delete: if ! /opt/vyatta/sbin/vyatta-bridgegroup-depedency.pl \
exit 1
fi
ip link set $VAR(@) down;
- /usr/sbin/brctl delbr $VAR(@);
+ /sbin/brctl delbr $VAR(@);
diff --git a/templates/interfaces/bridge/node.tag/aging/node.def b/templates/interfaces/bridge/node.tag/aging/node.def
index a67a7ca3..ab83140f 100644
--- a/templates/interfaces/bridge/node.tag/aging/node.def
+++ b/templates/interfaces/bridge/node.tag/aging/node.def
@@ -6,5 +6,5 @@ syntax:expression: $VAR(@) == 0 || ( $VAR(@) >= 10 && $VAR(@) < 1000000 ) ;
val_help: 0; Disable retaining address in bridge (always flood)
val_help: u32:10-1000000; Address aging time for bridge seconds (default 300)
-update: /usr/sbin/brctl setageing $VAR(../@) $VAR(@)
-delete: /usr/sbin/brctl setageing $VAR(../@) 300
+update: /sbin/brctl setageing $VAR(../@) $VAR(@)
+delete: /sbin/brctl setageing $VAR(../@) 300
diff --git a/templates/interfaces/bridge/node.tag/dhcpv6-options/node.def b/templates/interfaces/bridge/node.tag/dhcpv6-options/node.def
index 225bd926..d25533f9 100644
--- a/templates/interfaces/bridge/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/bridge/node.tag/dhcpv6-options/node.def
@@ -27,7 +27,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/bridge/node.tag/forwarding-delay/node.def b/templates/interfaces/bridge/node.tag/forwarding-delay/node.def
index 21de2454..7783339b 100644
--- a/templates/interfaces/bridge/node.tag/forwarding-delay/node.def
+++ b/templates/interfaces/bridge/node.tag/forwarding-delay/node.def
@@ -2,4 +2,4 @@ type: u32
help: Forwarding delay
syntax:expression:$VAR(@) <= 200; "Forwarding delay must be between 0 and 200"
val_help: u32:0-200; Spanning Tree Protocol forwarding delay in seconds (default 15)
-update: /usr/sbin/brctl setfd $VAR(../@) $VAR(@)
+update: /sbin/brctl setfd $VAR(../@) $VAR(@)
diff --git a/templates/interfaces/bridge/node.tag/hello-time/node.def b/templates/interfaces/bridge/node.tag/hello-time/node.def
index 8f48b8be..f6d54d73 100644
--- a/templates/interfaces/bridge/node.tag/hello-time/node.def
+++ b/templates/interfaces/bridge/node.tag/hello-time/node.def
@@ -3,5 +3,5 @@ default: 2
help: Hello packet advertisment interval
syntax:expression: $VAR(@) <= 30; "Bridge Hello interval must be between 0 and 30 seconds"
val_help: u32:0-30; Spanning Tree Protocol hello advertisement interval (default 2)
-update: /usr/sbin/brctl sethello $VAR(../@) $VAR(@)
-delete: /usr/sbin/brctl sethello $VAR(../@) 2
+update: /sbin/brctl sethello $VAR(../@) $VAR(@)
+delete: /sbin/brctl sethello $VAR(../@) 2
diff --git a/templates/interfaces/bridge/node.tag/max-age/node.def b/templates/interfaces/bridge/node.tag/max-age/node.def
index b30e5e9e..452313ad 100644
--- a/templates/interfaces/bridge/node.tag/max-age/node.def
+++ b/templates/interfaces/bridge/node.tag/max-age/node.def
@@ -5,6 +5,6 @@ syntax:expression: $VAR(@) >= 6 && $VAR(@) <= 200 ;
"Bridge max aging value must be between 6 and 200"
val_help: u32:6-200; Bridge maximum aging time value (default 20)
-update: /usr/sbin/brctl setmaxage $VAR(../@) $VAR(@)
-delete: /usr/sbin/brctl setmaxage $VAR(../@) 20
+update: /sbin/brctl setmaxage $VAR(../@) $VAR(@)
+delete: /sbin/brctl setmaxage $VAR(../@) 20
diff --git a/templates/interfaces/bridge/node.tag/priority/node.def b/templates/interfaces/bridge/node.tag/priority/node.def
index ba17f841..3e35dc67 100644
--- a/templates/interfaces/bridge/node.tag/priority/node.def
+++ b/templates/interfaces/bridge/node.tag/priority/node.def
@@ -4,5 +4,5 @@ default: 32768
syntax:expression:$VAR(@) < 65536 ; "Bridge priority must be between 0 and 65535 (multiples of 4096)"
val_help: u32:0-65535; Bridge priority (default 32768)
-update: /usr/sbin/brctl setbridgeprio $VAR(../@) $VAR(@)
-delete: /usr/sbin/brctl setbridgeprio $VAR(../@) 32768
+update: /sbin/brctl setbridgeprio $VAR(../@) $VAR(@)
+delete: /sbin/brctl setbridgeprio $VAR(../@) 32768
diff --git a/templates/interfaces/bridge/node.tag/stp/node.def b/templates/interfaces/bridge/node.tag/stp/node.def
index d24a3261..63000648 100644
--- a/templates/interfaces/bridge/node.tag/stp/node.def
+++ b/templates/interfaces/bridge/node.tag/stp/node.def
@@ -6,13 +6,13 @@ val_help: false; Disable Spanning Tree Protocol (default)
update: if [ "$VAR(@)" == "true" ]; then
if [ -z "$VAR(../../forwarding-delay)" ]; then
- /usr/sbin/brctl setfd $VAR(../@) 15
+ /sbin/brctl setfd $VAR(../@) 15
else
- /usr/sbin/brctl setfd $VAR(../@) $VAR(../../forwarding-delay)
+ /sbin/brctl setfd $VAR(../@) $VAR(../../forwarding-delay)
fi
- /usr/sbin/brctl stp $VAR(../@) on
+ /sbin/brctl stp $VAR(../@) on
else
- /usr/sbin/brctl stp $VAR(../@) off
- /usr/sbin/brctl setfd $VAR(../@) 0
+ /sbin/brctl stp $VAR(../@) off
+ /sbin/brctl setfd $VAR(../@) 0
fi
-delete:/usr/sbin/brctl stp $VAR(../@) off
+delete:/sbin/brctl stp $VAR(../@) off
diff --git a/templates/interfaces/ethernet/node.def b/templates/interfaces/ethernet/node.def
index bdbdb0d5..2af57e0a 100644
--- a/templates/interfaces/ethernet/node.def
+++ b/templates/interfaces/ethernet/node.def
@@ -4,13 +4,18 @@ type: txt
help: Ethernet interface name
allowed: /opt/vyatta/sbin/vyatta-interfaces.pl --show=ethernet
val_help: <ethN>; Ethernet interface name
-syntax:expression: pattern $VAR(@) "^eth[0-9]+$" \
+syntax:expression: pattern $VAR(@) "^(eth|lan)[0-9]+$" \
; "interface ethernet $VAR(@): not a valid name"
syntax:expression: exec \
"if [ ! -d /sys/class/net/$VAR(@) ]; then \
echo \"interface ethernet $VAR(@): does not exist\";
exit 1; \
+ fi
+
+ if ip link show | awk '{print $2 }' | grep -ao \"lan[0-9]@$VAR(@)\" > /dev/null 2>&1 ; then \
+ echo \"interface ethernet $VAR(@): is a switch master interface and not configurable, please use 'lan' interfaces\";
+ exit 1; \
fi"
begin: rm -f /tmp/speed-duplex.$VAR(@)
@@ -26,7 +31,14 @@ begin: rm -f /tmp/speed-duplex.$VAR(@)
create: if ! cli-shell-api exists interfaces ethernet $VAR(@) disable;
- then ip link set $VAR(@) up
+ then
+ case "$VAR(@)" in
+ *lan*)
+ masterint=$(ip link show $VAR(@) | awk 'NR==1{print $2 }' | grep -ao "eth[0-9]")
+ ip link set $masterint up
+ ;;
+ esac
+ ip link set $VAR(@) up
fi
/opt/vyatta/sbin/vyatta-link-detect $VAR(@) on
diff --git a/templates/interfaces/ethernet/node.tag/dhcpv6-options/node.def b/templates/interfaces/ethernet/node.tag/dhcpv6-options/node.def
index 225bd926..d25533f9 100644
--- a/templates/interfaces/ethernet/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/ethernet/node.tag/dhcpv6-options/node.def
@@ -27,7 +27,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def
index 31237d3b..9116b354 100644
--- a/templates/interfaces/ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$ifname.conf
+ conffile=/var/lib/dhcp/dhclient_v6_$ifname.conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/ethernet/node.tag/vif-s/node.tag/ip/proxy-arp-pvlan/node.def b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/ip/proxy-arp-pvlan/node.def
new file mode 100644
index 00000000..e1ab1f00
--- /dev/null
+++ b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/ip/proxy-arp-pvlan/node.def
@@ -0,0 +1,3 @@
+help: Enable private VLAN proxy ARP on this interface
+create:expression: "sudo sh -c \"echo 1 > /proc/sys/net/ipv4/conf/$VAR(../../../@).$VAR(../../@)/proxy_arp_pvlan\" "
+delete:expression: "sudo sh -c \"echo 0 > /proc/sys/net/ipv4/conf/$VAR(../../../@).$VAR(../../@)/proxy_arp_pvlan\" "
diff --git a/templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
index c5ecf92a..ddebe05b 100644
--- a/templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$ifname.conf
+ conffile=/var/lib/dhcp/dhclient_v6_$ifname.conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/ip/proxy-arp-pvlan/node.def b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/ip/proxy-arp-pvlan/node.def
new file mode 100644
index 00000000..ce1dcc41
--- /dev/null
+++ b/templates/interfaces/ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/ip/proxy-arp-pvlan/node.def
@@ -0,0 +1,3 @@
+help: Enable private VLAN proxy ARP on this interface
+create:expression: "sudo sh -c \"echo 1 > /proc/sys/net/ipv4/conf/$VAR(../../../../@).$VAR(../../../@).$VAR(../../@)/proxy_arp_pvlan\" "
+delete:expression: "sudo sh -c \"echo 0 > /proc/sys/net/ipv4/conf/$VAR(../../../../@).$VAR(../../../@).$VAR(../../@)/proxy_arp_pvlan\" "
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def
index 31237d3b..9116b354 100644
--- a/templates/interfaces/ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$ifname.conf
+ conffile=/var/lib/dhcp/dhclient_v6_$ifname.conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/ethernet/node.tag/vif/node.tag/ip/proxy-arp-pvlan/node.def b/templates/interfaces/ethernet/node.tag/vif/node.tag/ip/proxy-arp-pvlan/node.def
new file mode 100644
index 00000000..49bec357
--- /dev/null
+++ b/templates/interfaces/ethernet/node.tag/vif/node.tag/ip/proxy-arp-pvlan/node.def
@@ -0,0 +1,3 @@
+help: Enable private VLAN proxy ARP on this interface
+create:expression: "sudo sh -c \"echo 1 > /proc/sys/net/ipv4/conf/$VAR(../../../@).$VAR(../../@)/proxy_arp_pvlan\" "
+delete:expression: "sudo sh -c \"echo 0 > /proc/sys/net/ipv4/conf/$VAR(../../../@).$VAR(../../@)/proxy_arp_pvlan\" "
diff --git a/templates/interfaces/l2tpv3/node.def b/templates/interfaces/l2tpv3/node.def
index fb3d1475..973256bf 100644
--- a/templates/interfaces/l2tpv3/node.def
+++ b/templates/interfaces/l2tpv3/node.def
@@ -1,5 +1,5 @@
tag:
-priority: 460
+priority: 800
type: txt
help: L2TPv3 interface
val_help: <l2tpethN>; L2TPv3 interface name
@@ -48,9 +48,9 @@ create:
delete:
ip link set $VAR(@) down
- if [ -n "$VAR(./tunnel-id@/)" ] && [ -n "$VAR(./session-id@/)" ] ; then
- ip l2tp del session $VAR(./tunnel-id/@) session_id $VAR(./session-id/@)
+ if [ -n "$VAR(./tunnel-id/@)" ] && [ -n "$VAR(./session-id/@)" ] ; then
+ ip l2tp del session tunnel_id $VAR(./tunnel-id/@) session_id $VAR(./session-id/@)
fi
- if [ -n "$VAR(./tunnel-id@/)" ] ; then
+ if [ -n "$VAR(./tunnel-id/@)" ] ; then
ip l2tp del tunnel tunnel_id $VAR(./tunnel-id/@)
fi
diff --git a/templates/interfaces/pseudo-ethernet/node.tag/dhcpv6-options/node.def b/templates/interfaces/pseudo-ethernet/node.tag/dhcpv6-options/node.def
index 225bd926..d25533f9 100644
--- a/templates/interfaces/pseudo-ethernet/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/pseudo-ethernet/node.tag/dhcpv6-options/node.def
@@ -27,7 +27,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def b/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def
index 86b5560f..d6fea411 100644
--- a/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def b/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
index ef4c13ad..0be14824 100644
--- a/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/pseudo-ethernet/node.tag/vif-s/node.tag/vif-c/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def b/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def
index 86b5560f..d6fea411 100644
--- a/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def
+++ b/templates/interfaces/pseudo-ethernet/node.tag/vif/node.tag/dhcpv6-options/node.def
@@ -26,7 +26,7 @@ end:
exit 0
fi
- conffile=/var/lib/dhcp3/dhclient_v6_$VAR(../@).conf
+ conffile=/var/lib/dhcp/dhclient_v6_$VAR(../@).conf
if [ ! -e $conffile ]; then
echo "Conf file $conffile doesn't exist"
exit 0
diff --git a/templates/interfaces/tunnel/node.def b/templates/interfaces/tunnel/node.def
index 720bf64f..1e50a1dd 100644
--- a/templates/interfaces/tunnel/node.def
+++ b/templates/interfaces/tunnel/node.def
@@ -63,8 +63,11 @@ create:
if [ "$VAR(./encapsulation/@)" == "gre" ] && [ -z $VAR(./remote-ip/) ]; then
ip tunnel add $VAR(@) local $LIP mode gre $KEY $TTL $TOS
elif [ "$VAR(./encapsulation/@)" == "sit" ] && [ -n "$VAR(./6rd-prefix/@)" ]; then
+ if [ -n "$VAR(./6rd-relay-prefix/@)" ]; then
+ RP="6rd-relay_prefix $VAR(./6rd-relay-prefix/@)"
+ fi
ip tunnel add $VAR(@) remote $VAR(./remote-ip/@) mode sit
- ip tunnel 6rd dev $VAR(@) 6rd-prefix $VAR(./6rd-prefix/@)
+ ip tunnel 6rd dev $VAR(@) 6rd-prefix $VAR(./6rd-prefix/@) $RP
else
ip tunnel add $VAR(@) local $LIP remote $VAR(./remote-ip/@) mode $VAR(./encapsulation/@) $KEY $TTL $TOS
fi
diff --git a/templates/interfaces/tunnel/node.tag/6rd-relay-prefix/node.def b/templates/interfaces/tunnel/node.tag/6rd-relay-prefix/node.def
new file mode 100644
index 00000000..0f877e2d
--- /dev/null
+++ b/templates/interfaces/tunnel/node.tag/6rd-relay-prefix/node.def
@@ -0,0 +1,10 @@
+multi:
+type: ipv4net
+val_help: ipv4net; IPv4 prefix of interface for 6rd
+help: 6rd relay prefix
+
+syntax:expression: exec "/opt/vyatta/sbin/valid_address $VAR(@)"
+
+create:expression: "true"
+update:expression: "false" ; \
+ "6rd-relay-prefix can only be modified at tunnel creation for $VAR(../@)"
diff --git a/templates/interfaces/tunnel/node.tag/dhcp-interface/node.def b/templates/interfaces/tunnel/node.tag/dhcp-interface/node.def
index 60fbae34..de0450d7 100644
--- a/templates/interfaces/tunnel/node.tag/dhcp-interface/node.def
+++ b/templates/interfaces/tunnel/node.tag/dhcp-interface/node.def
@@ -2,7 +2,7 @@ type: txt
help: DHCP interface that supplies the local IP address for this tunnel
allowed:
local -a array ;
- array=( /var/lib/dhcp3/eth* /var/lib/dhcp3/br* /var/lib/dhcp3/bond* ) ;
+ array=( /var/lib/dhcp/eth* /var/lib/dhcp/br* /var/lib/dhcp/bond* ) ;
echo -n ${array[@]##*/}
create:
sudo /opt/vyatta/sbin/vyatta-update-tunnel.pl --interface=$VAR(@) --tunnel=$VAR(../@) --option=create
diff --git a/templates/interfaces/tunnel/node.tag/local-ip/node.def b/templates/interfaces/tunnel/node.tag/local-ip/node.def
index 03d134e9..4a1cbc15 100644
--- a/templates/interfaces/tunnel/node.tag/local-ip/node.def
+++ b/templates/interfaces/tunnel/node.tag/local-ip/node.def
@@ -17,8 +17,7 @@ update:if ! /opt/vyatta/sbin/local_ip $VAR(@)
sudo ip tunnel cha $VAR(../@) local $VAR(@)
if [ -e "/opt/vyatta/sbin/dmvpn-config.pl" ]; then
sudo /opt/vyatta/sbin/dmvpn-config.pl \
- --config_file='/etc/dmvpn.conf' \
- --secrets_file='/etc/dmvpn.secrets' \
+ --config_file='/etc/swanctl/swanctl.conf' \
--init_script='/etc/init.d/ipsec' \
--tunnel_context --tun_id=$VAR(../@) || exit 1
fi
diff --git a/templates/interfaces/tunnel/node.tag/parameters/ip/key/node.def b/templates/interfaces/tunnel/node.tag/parameters/ip/key/node.def
index b9ed181e..1142d2de 100644
--- a/templates/interfaces/tunnel/node.tag/parameters/ip/key/node.def
+++ b/templates/interfaces/tunnel/node.tag/parameters/ip/key/node.def
@@ -1,8 +1,8 @@
type: u32
help: Tunnel key
-syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 999999; \
- "Must be between 0-999999 for $VAR(../../../@)"
-val_help: u32:0-999999; Tunnel key
+syntax:expression: $VAR(@) >= 0 && $VAR(@) <= 4294967295; \
+ "Must be between 0-4294967295 for $VAR(../../../@)"
+val_help: u32:0-4294967295; Tunnel key
syntax:expression: exec " \
if [ -n \"`ip tunnel show $VAR(../../../@) | grep $VAR(../../../@) `\" ]; then \
diff --git a/templates/service/dns/forwarding/cache-size/node.def b/templates/service/dns/forwarding/cache-size/node.def
deleted file mode 100644
index 9285dbbd..00000000
--- a/templates/service/dns/forwarding/cache-size/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-type: u32
-default:150
-help: DNS forwarding cache size
-syntax:expression: ($VAR(@) >=0 && $VAR(@) < 10001) ; "Cache size must be between 0 and 10000"
-val_help: u32:0-10000; DNS forwarding cache size
diff --git a/templates/service/dns/forwarding/dhcp/node.def b/templates/service/dns/forwarding/dhcp/node.def
deleted file mode 100644
index 700f703e..00000000
--- a/templates/service/dns/forwarding/dhcp/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-multi:
-type: txt
-help: Use nameservers received from DHCP server for specified interface
-commit:expression: exec "/opt/vyatta/sbin/vyatta-dns-forwarding.pl --dhcp-interface $VAR(@)"
-allowed:
- local -a array ;
- array=( /var/lib/dhcp3/eth* /var/lib/dhcp3/br* ) ;
- echo -n ${array[@]##*/}
diff --git a/templates/service/dns/forwarding/domain/node.def b/templates/service/dns/forwarding/domain/node.def
deleted file mode 100644
index bdd82752..00000000
--- a/templates/service/dns/forwarding/domain/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-tag:
-type: txt
-help: DNS domain to forward to a local server
-commit:expression: $VAR(./server/) != ""; "Error: No server configured for the domain $VAR(@)"
diff --git a/templates/service/dns/forwarding/domain/node.tag/server/node.def b/templates/service/dns/forwarding/domain/node.tag/server/node.def
deleted file mode 100644
index 8f40a299..00000000
--- a/templates/service/dns/forwarding/domain/node.tag/server/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-multi:
-type: ipv4
-help: DNS server to forward queries
diff --git a/templates/service/dns/forwarding/ignore-hosts-file/node.def b/templates/service/dns/forwarding/ignore-hosts-file/node.def
deleted file mode 100644
index 08a89ca8..00000000
--- a/templates/service/dns/forwarding/ignore-hosts-file/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Do not use local /etc/hosts file in name resolution
diff --git a/templates/service/dns/forwarding/listen-on/node.def b/templates/service/dns/forwarding/listen-on/node.def
deleted file mode 100644
index 3d1c748f..00000000
--- a/templates/service/dns/forwarding/listen-on/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-multi:
-type: txt
-help: Interface to listen for DNS queries [REQUIRED]
-allowed: /opt/vyatta/sbin/vyatta-interfaces.pl --show=all
-commit:expression: exec "/opt/vyatta/sbin/vyatta-interfaces.pl --dev=$VAR(@) --warn"
diff --git a/templates/service/dns/forwarding/name-server/node.def b/templates/service/dns/forwarding/name-server/node.def
deleted file mode 100644
index 3ed4c459..00000000
--- a/templates/service/dns/forwarding/name-server/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-multi:
-type: ipv4
-help: DNS server to forward queries
diff --git a/templates/service/dns/forwarding/node.def b/templates/service/dns/forwarding/node.def
deleted file mode 100644
index ae7a9d3c..00000000
--- a/templates/service/dns/forwarding/node.def
+++ /dev/null
@@ -1,10 +0,0 @@
-priority: 918
-help: DNS forwarding
-commit:expression: $VAR(./listen-on) != ""; "At least one interface must be configured for DNS forwarding parameter 'listen-on'"
-delete:expression: "touch /tmp/dnsmasq.$PPID"
-end:expression: "if [ -f \"/tmp/dnsmasq.$PPID\" ]; then \
- sudo /opt/vyatta/sbin/vyatta-dns-forwarding.pl --stop-dnsforwarding \
- rm /tmp/dnsmasq.$PPID; \
- else \
- sudo /opt/vyatta/sbin/vyatta-dns-forwarding.pl --update-dnsforwarding; \
- fi; "
diff --git a/templates/service/dns/forwarding/system/node.def b/templates/service/dns/forwarding/system/node.def
deleted file mode 100644
index a37676de..00000000
--- a/templates/service/dns/forwarding/system/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: DNS forwarding to system nameservers
-commit:expression: exec "/opt/vyatta/sbin/vyatta-dns-forwarding.pl --system-nameserver"
diff --git a/templates/service/snmp/community/node.def b/templates/service/snmp/community/node.def
deleted file mode 100644
index d7e3ade7..00000000
--- a/templates/service/snmp/community/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-tag:
-type: txt
-help: Community name [REQUIRED]
-syntax:expression: pattern $VAR(@) "^[^%]+$" ; \
- "Community string may not contain %"
diff --git a/templates/service/snmp/community/node.tag/authorization/node.def b/templates/service/snmp/community/node.tag/authorization/node.def
deleted file mode 100644
index 3d306d59..00000000
--- a/templates/service/snmp/community/node.tag/authorization/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "ro"
-allowed: echo ro rw
-help: Authorization type (rw or ro) (default: ro)
-syntax:expression: $VAR(@) in "ro", "rw"; "Authorization type must be either rw or ro"
-
-
-
diff --git a/templates/service/snmp/community/node.tag/client/node.def b/templates/service/snmp/community/node.tag/client/node.def
deleted file mode 100644
index 37493268..00000000
--- a/templates/service/snmp/community/node.tag/client/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-multi:
-type: ipv4,ipv6
-help: IP address of SNMP client allowed to contact system
diff --git a/templates/service/snmp/community/node.tag/network/node.def b/templates/service/snmp/community/node.tag/network/node.def
deleted file mode 100644
index d9afa4e5..00000000
--- a/templates/service/snmp/community/node.tag/network/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-multi:
-type: ipv4net,ipv6net
-help: Subnet of SNMP client(s) allowed to contact system
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $VAR(@)"
diff --git a/templates/service/snmp/contact/node.def b/templates/service/snmp/contact/node.def
deleted file mode 100644
index 63a368cc..00000000
--- a/templates/service/snmp/contact/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: Contact information
-
-syntax:expression: pattern $VAR(@) "^[[:print:]]{1,255}$" ; \
- "Contact information is limited to 255 characters or less"
-
diff --git a/templates/service/snmp/description/node.def b/templates/service/snmp/description/node.def
deleted file mode 100644
index cd88099a..00000000
--- a/templates/service/snmp/description/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: Description information
-
-syntax:expression: pattern $VAR(@) "^[[:print:]]{1,255}$" ; \
- "Description is limited to 255 characters or less"
-
diff --git a/templates/service/snmp/listen-address/node.def b/templates/service/snmp/listen-address/node.def
deleted file mode 100644
index 9a9c591f..00000000
--- a/templates/service/snmp/listen-address/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-tag:
-type: ipv4,ipv6
-help: IP address to listen for incoming SNMP requests
diff --git a/templates/service/snmp/listen-address/node.tag/port/node.def b/templates/service/snmp/listen-address/node.tag/port/node.def
deleted file mode 100644
index b37939bd..00000000
--- a/templates/service/snmp/listen-address/node.tag/port/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: u32
-default: 161
-help: Port for SNMP service
-
-val_help: u32:1-65535; Numeric IP port
-syntax:expression: $VAR(@) > 0 && $VAR(@) <= 65535 ; \
- "Port number must be in range 1 to 65535"
diff --git a/templates/service/snmp/location/node.def b/templates/service/snmp/location/node.def
deleted file mode 100644
index 903b405f..00000000
--- a/templates/service/snmp/location/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: Location information
-
-syntax:expression: pattern $VAR(@) "^[[:print:]]{1,255}$" ; \
- "Location is limited to 255 characters or less"
-
diff --git a/templates/service/snmp/node.def b/templates/service/snmp/node.def
deleted file mode 100644
index 9fb161dc..00000000
--- a/templates/service/snmp/node.def
+++ /dev/null
@@ -1,27 +0,0 @@
-priority: 980
-help: Simple Network Management Protocol (SNMP)
-commit:expression: $VAR(community/) != "" || $VAR(community6/) != "" || $VAR(v3/) != "" \
- ; "must configure a community or community6 or v3"
-
-create: if [ ! -d "/config/snmp" ]; then sudo mkdir /config/snmp ; fi
-delete: touch /tmp/snmp.$PPID
-end:if [ -f "/tmp/snmp.$PPID" ]
- then
- sudo /opt/vyatta/sbin/vyatta-snmp.pl --stop-snmp;
- rm /tmp/snmp.$PPID;
- sudo rm -f /etc/snmp/snmpd.conf;
- else
- if [ -n "$VAR(v3/)" ]; then
- sudo /opt/vyatta/sbin/vyatta-snmp-v3.pl --check-config;
- if [ $? != 0 ]; then
- exit 1;
- fi
- fi
- sudo /opt/vyatta/sbin/vyatta-snmp.pl --update-snmp;
- if [ -n "$VAR(v3/)" ]
- then
- sudo /opt/vyatta/sbin/vyatta-snmp-v3.pl --update-snmp;
- else
- sudo invoke-rc.d snmpd start > /dev/null 2>&1;
- fi
- fi
diff --git a/templates/service/snmp/smux-peer/node.def b/templates/service/snmp/smux-peer/node.def
deleted file mode 100644
index 638e9367..00000000
--- a/templates/service/snmp/smux-peer/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-multi:
-type: txt
-help: Register a subtree for SMUX-based processing
-val_help: oid; Object Identifier
diff --git a/templates/service/snmp/trap-source/node.def b/templates/service/snmp/trap-source/node.def
deleted file mode 100644
index a4b2617f..00000000
--- a/templates/service/snmp/trap-source/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: ipv4,ipv6
-help: SNMP trap source address
diff --git a/templates/service/snmp/trap-target/node.def b/templates/service/snmp/trap-target/node.def
deleted file mode 100644
index cf0c963c..00000000
--- a/templates/service/snmp/trap-target/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-tag:
-type: ipv4,ipv6
-help: Address of trap target
diff --git a/templates/service/snmp/trap-target/node.tag/community/node.def b/templates/service/snmp/trap-target/node.tag/community/node.def
deleted file mode 100644
index 3b4068a8..00000000
--- a/templates/service/snmp/trap-target/node.tag/community/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Community used when sending trap information
diff --git a/templates/service/snmp/trap-target/node.tag/port/node.def b/templates/service/snmp/trap-target/node.tag/port/node.def
deleted file mode 100644
index d5ee579a..00000000
--- a/templates/service/snmp/trap-target/node.tag/port/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: u32
-help: Destination port used for trap notification
-
-val_help: u32:1-65535; Numeric IP port
-syntax:expression: $VAR(@) > 0 && $VAR(@) <= 65535 ; \
- "Port number must be in range 1 to 65535"
diff --git a/templates/service/snmp/v3/engineid/node.def b/templates/service/snmp/v3/engineid/node.def
deleted file mode 100644
index f8de80cc..00000000
--- a/templates/service/snmp/v3/engineid/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Specifies the EngineID as a hex value (e.g., 0xff42)
-syntax:expression: pattern $VAR(@) "^(0x){0,1}([0-9a-f][0-9a-f]){1,18}$" ; "id must contain an even number (from 2 to 36) of hex digits"
diff --git a/templates/service/snmp/v3/group/node.def b/templates/service/snmp/v3/group/node.def
deleted file mode 100644
index 95d0413c..00000000
--- a/templates/service/snmp/v3/group/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-tag:
-type: txt
-help: Specifies the group with name groupname
-syntax:expression: pattern $VAR(@) "^[^\(\)\|\&-]+$" ; "illegal characters in name"
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_check_snmp_name.pl $VAR(@)"
-commit:expression: $VAR(view/) != "" ; "must specify view"
-commit:expression: $VAR(mode/) != "" ; "must specify mode"
-commit:expression: $VAR(seclevel/) != "" ; "must specify security level"
diff --git a/templates/service/snmp/v3/group/node.tag/mode/node.def b/templates/service/snmp/v3/group/node.tag/mode/node.def
deleted file mode 100644
index a6d36de5..00000000
--- a/templates/service/snmp/v3/group/node.tag/mode/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "ro"
-help: Defines the read/write access
-syntax:expression: $VAR(@) in "ro", "rw"
-allowed: echo ro rw
-
-val_help: ro;
-val_help: rw;
diff --git a/templates/service/snmp/v3/group/node.tag/seclevel/node.def b/templates/service/snmp/v3/group/node.tag/seclevel/node.def
deleted file mode 100644
index 2b0aa67b..00000000
--- a/templates/service/snmp/v3/group/node.tag/seclevel/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: txt
-help: Defines security level
-syntax:expression: $VAR(@) in "auth", "priv"
-allowed: echo auth priv
-
-val_help: priv;
-val_help: auth;
diff --git a/templates/service/snmp/v3/group/node.tag/view/node.def b/templates/service/snmp/v3/group/node.tag/view/node.def
deleted file mode 100644
index af7d33c9..00000000
--- a/templates/service/snmp/v3/group/node.tag/view/node.def
+++ /dev/null
@@ -1,11 +0,0 @@
-type: txt
-help: Defines the name of view
-allowed: list=`cli-shell-api listNodes service snmp v3 view`
- echo $list
-syntax:expression:exec "regex=\"(^| )$VAR(@)( |$)\"; \
- if [[ \"$VAR(/service/snmp/v3/view/@@)\" =~ $regex ]] ; \
- then \
- exit 0; \
- else \
- exit 1; \
- fi" ; "You must create \"$VAR(@)\" view first"
diff --git a/templates/service/snmp/v3/node.def b/templates/service/snmp/v3/node.def
deleted file mode 100644
index f89d2328..00000000
--- a/templates/service/snmp/v3/node.def
+++ /dev/null
@@ -1,30 +0,0 @@
-help: Simple Network Management Protocol (SNMP) v3
-
-create: if [ ! -d "/config/snmp/tls" ]; then
- sudo mkdir /config/snmp/tls ;
- if [ -d "/etc/snmp/tls" ] ; then
- sudo mv /etc/snmp/tls/* /config/snmp/tls > /dev/null 2>&1;
- sudo chmod -R 600 /config/snmp/tls;
- sudo rmdir /etc/snmp/tls > /dev/null 2>&1;
- sudo rm /etc/snmp/tls > /dev/null 2>&1;
- fi
- sudo ln -s /config/snmp/tls /etc/snmp/tls;
- fi
- lnk=`readlink /etc/snmp/tls`
- if [ "$lnk" != "/config/snmp/tls" ]; then
- sudo rm -f /etc/snmp/tls;
- sudo ln -s /config/snmp/tls /etc/snmp/tls;
- fi
-
-begin: if [ -d "/config/snmp/tls" ]; then
- sudo chown -R snmp /config/snmp/tls;
- sudo chmod -R 600 /config/snmp/tls;
- fi
-
-delete: touch /tmp/snmp-v3.$PPID
-
-end:if [ -f "/tmp/snmp-v3.$PPID" ]
- then
- sudo /opt/vyatta/sbin/vyatta-snmp-v3.pl --delete-snmp
- rm /tmp/snmp-v3.$PPID
- fi \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.def b/templates/service/snmp/v3/trap-target/node.def
deleted file mode 100644
index 6c2717a8..00000000
--- a/templates/service/snmp/v3/trap-target/node.def
+++ /dev/null
@@ -1,14 +0,0 @@
-tag:
-type: txt
-help: Defines SNMP target for inform or traps for IP
-syntax:expression: exec "/opt/vyatta/sbin/valid_address $VAR(@)/20"
-commit:expression: $VAR(type/) != ""; "must specify type"
-commit:expression: $VAR(auth/) != ""; "must specify auth"
-commit:expression: $VAR(protocol/) != ""; "must specify protocol"
-commit:expression: $VAR(user/) != ""; "must specify user"
-commit:expression: $VAR(port/) != ""; "must specify port"
-commit:expression: $VAR(type/@) == "inform" || ( $VAR(type/@) == "trap" && $VAR(engineid/) != "" ); \
- "must specify engineid if type is 'trap'"
-
-val_help: <x.x.x.x>; IP address of trap target
-val_help: <h:h:h:h:h:h:h:h>; IPv6 address of trap target \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/auth/encrypted-key/node.def b/templates/service/snmp/v3/trap-target/node.tag/auth/encrypted-key/node.def
deleted file mode 100644
index 2365b055..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/auth/encrypted-key/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Defines the encrypted password for authentication
-syntax:expression: pattern $VAR(@) "^0x[0-9a-f]*$" ; "key must start from '0x' and contain hex digits" \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/auth/node.def b/templates/service/snmp/v3/trap-target/node.tag/auth/node.def
deleted file mode 100644
index 5c7df0ef..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/auth/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-help: Defines the authentication
-commit:expression: $VAR(type/) != "" ; "must specify type"
-commit:expression: $VAR(encrypted-key/) != "" || $VAR(plaintext-key/) != "" ; "must specify encrypted-key or plaintext-key"
-commit:expression: !($VAR(encrypted-key/) != "" && $VAR(plaintext-key/) != "") ; "must specify only one of encrypted-key and plaintext-key" \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/auth/plaintext-key/node.def b/templates/service/snmp/v3/trap-target/node.tag/auth/plaintext-key/node.def
deleted file mode 100644
index 34563e73..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/auth/plaintext-key/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Defines the clear text password for authentication
-syntax:expression: pattern $VAR(@) "^.{8,}$" ; "key must contain 8 or more characters"
diff --git a/templates/service/snmp/v3/trap-target/node.tag/auth/type/node.def b/templates/service/snmp/v3/trap-target/node.tag/auth/type/node.def
deleted file mode 100644
index 5a2ffc52..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/auth/type/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "md5"
-help: Defines the protocol using for authentication
-syntax:expression: $VAR(@) in "md5", "sha"
-allowed: echo md5 sha
-
-val_help: md5; Message Digest 5
-val_help: sha; Secure Hash Algorithm \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/engineid/node.def b/templates/service/snmp/v3/trap-target/node.tag/engineid/node.def
deleted file mode 100644
index 45d522ea..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/engineid/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Defines the engineID. (needs for trap)
-syntax:expression: pattern $VAR(@) "^(0x){0,1}([0-9a-f][0-9a-f]){1,18}$" ; "id must contain from 2 to 36 hex digits" \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/port/node.def b/templates/service/snmp/v3/trap-target/node.tag/port/node.def
deleted file mode 100644
index b38cd1e5..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/port/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: u32
-default: 162
-help: Specifies the TCP/UDP port of a destination for SNMP traps/informs.
-
-val_help: u32:1-65535; Numeric IP port
-syntax:expression: $VAR(@) > 0 && $VAR(@) <= 65535 ; \
- "Port number must be in range 1 to 65535"
diff --git a/templates/service/snmp/v3/trap-target/node.tag/privacy/encrypted-key/node.def b/templates/service/snmp/v3/trap-target/node.tag/privacy/encrypted-key/node.def
deleted file mode 100644
index 4e762b9f..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/privacy/encrypted-key/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Defines the encrypted key for privacy protocol
-syntax:expression: pattern $VAR(@) "^0x[0-9a-f]*$" ; "key must start from '0x' and contain hex digits" \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/privacy/node.def b/templates/service/snmp/v3/trap-target/node.tag/privacy/node.def
deleted file mode 100644
index 900cfc9d..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/privacy/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-help: Defines the privacy
-commit:expression: $VAR(type/) != "" ; "must specify type"
-commit:expression: $VAR(encrypted-key/) != "" || $VAR(plaintext-key/) != "" ; "must specify encrypted-key or plaintext-key"
-commit:expression: !($VAR(encrypted-key/) != "" && $VAR(plaintext-key/) != "") ; "must specify only one of encrypted-key and plaintext-key"
diff --git a/templates/service/snmp/v3/trap-target/node.tag/privacy/plaintext-key/node.def b/templates/service/snmp/v3/trap-target/node.tag/privacy/plaintext-key/node.def
deleted file mode 100644
index a2442637..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/privacy/plaintext-key/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Defines the clear text key for privacy protocol
-syntax:expression: pattern $VAR(@) "^.{8,}$" ; "key must contain 8 or more characters"
diff --git a/templates/service/snmp/v3/trap-target/node.tag/privacy/type/node.def b/templates/service/snmp/v3/trap-target/node.tag/privacy/type/node.def
deleted file mode 100644
index bbfd5331..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/privacy/type/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "des"
-help: Defines the protocol for privacy
-syntax:expression: $VAR(@) in "des", "aes"
-allowed: echo des aes
-
-val_help: des; Data Encryption Standard
-val_help: aes; Advanced Encryption Standard \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/protocol/node.def b/templates/service/snmp/v3/trap-target/node.tag/protocol/node.def
deleted file mode 100644
index ce96ca38..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/protocol/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "udp"
-help: Defines protocol for notification between TCP and UDP
-syntax:expression: $VAR(@) in "tcp", "udp"
-allowed: echo tcp udp
-
-val_help: tcp;
-val_help: udp; \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/type/node.def b/templates/service/snmp/v3/trap-target/node.tag/type/node.def
deleted file mode 100644
index f678ae69..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/type/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "inform"
-help: Specifies the type of notification between inform and trap
-syntax:expression: $VAR(@) in "inform", "trap"
-allowed: echo inform trap
-
-val_help: inform;
-val_help: trap; \ No newline at end of file
diff --git a/templates/service/snmp/v3/trap-target/node.tag/user/node.def b/templates/service/snmp/v3/trap-target/node.tag/user/node.def
deleted file mode 100644
index a0ed8cbf..00000000
--- a/templates/service/snmp/v3/trap-target/node.tag/user/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-type: txt
-help: Defines username for authentication
-allowed: list=`cli-shell-api listNodes service snmp v3 user`
- echo $list
diff --git a/templates/service/snmp/v3/tsm/local-key/node.def b/templates/service/snmp/v3/tsm/local-key/node.def
deleted file mode 100644
index a630dff8..00000000
--- a/templates/service/snmp/v3/tsm/local-key/node.def
+++ /dev/null
@@ -1,14 +0,0 @@
-type: txt
-help: Defines the server certificate fingerprint or key-file name.
-allowed: if sudo [ -d /etc/snmp/tls/certs ]; then
- sudo ls /etc/snmp/tls/certs 2> /dev/null
- else
- sudo ls /config/snmp/tls/certs 2> /dev/null
- fi
-syntax:expression: pattern $VAR(@) "^[0-9A-F]{2}(:[0-9A-F]{2}){19}$" ||
- exec "if sudo [ -f /etc/snmp/tls/certs/$VAR(@) -o -f /config/snmp/tls/certs/$VAR(@) ]; \
- then \
- exit 0; \
- else \
- exit 1; \
- fi" ; "value can be finger print key or filename in /config/snmp/tls/certs/ folder" \ No newline at end of file
diff --git a/templates/service/snmp/v3/tsm/node.def b/templates/service/snmp/v3/tsm/node.def
deleted file mode 100644
index 3d12f21d..00000000
--- a/templates/service/snmp/v3/tsm/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Specifies that the snmpd uses encryption.
-commit:expression: $VAR(port/) != "" ; "must specify port"
-commit:expression: $VAR(local-key/) != "" ; "must specify local-key" \ No newline at end of file
diff --git a/templates/service/snmp/v3/tsm/port/node.def b/templates/service/snmp/v3/tsm/port/node.def
deleted file mode 100644
index 86fd6cca..00000000
--- a/templates/service/snmp/v3/tsm/port/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: u32
-default: 10161
-help: Defines the port for tsm.
-
-val_help: u32:1-65535; Numeric IP port
-syntax:expression: $VAR(@) > 0 && $VAR(@) <= 65535 ; \
- "Port number must be in range 1 to 65535"
diff --git a/templates/service/snmp/v3/user/node.def b/templates/service/snmp/v3/user/node.def
deleted file mode 100644
index 32e0f61f..00000000
--- a/templates/service/snmp/v3/user/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-tag:
-type: txt
-help: Specifies the user with name username
-syntax:expression: pattern $VAR(@) "^[^\(\)\|\&-]+$" ; "illegal characters in name"
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_check_snmp_name.pl $VAR(@)"
-commit:expression: $VAR(auth/) != "" || $VAR(tsm-key/) != ""; "must specify auth or tsm-key"
-commit:expression: $VAR(mode/) != ""; "must specify mode"
diff --git a/templates/service/snmp/v3/user/node.tag/auth/encrypted-key/node.def b/templates/service/snmp/v3/user/node.tag/auth/encrypted-key/node.def
deleted file mode 100644
index 3cf6bd31..00000000
--- a/templates/service/snmp/v3/user/node.tag/auth/encrypted-key/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Defines the encrypted key for authentication protocol
diff --git a/templates/service/snmp/v3/user/node.tag/auth/node.def b/templates/service/snmp/v3/user/node.tag/auth/node.def
deleted file mode 100644
index 68959a8e..00000000
--- a/templates/service/snmp/v3/user/node.tag/auth/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Specifies the auth
-commit:expression: $VAR(type/) != "" ; "must specify type"
-commit:expression: $VAR(plaintext-key/) != "" || $VAR(encrypted-key/) != "" ; "must specify plaintext-key or encrypted-key" \ No newline at end of file
diff --git a/templates/service/snmp/v3/user/node.tag/auth/plaintext-key/node.def b/templates/service/snmp/v3/user/node.tag/auth/plaintext-key/node.def
deleted file mode 100644
index 7be1bc65..00000000
--- a/templates/service/snmp/v3/user/node.tag/auth/plaintext-key/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: Defines the key in the clear text for authentication protocol
-syntax:expression: pattern $VAR(@) "^.{8,}$" ; "key must contain 8 or more characters"
-
-update:expression: $VAR(../encrypted-key/@) = "" && $VAR(../../engineid/@) = ""
-update:expression: $VAR(../../../engineid/@) != "" || $VAR(../../../engineid/@) = ""
diff --git a/templates/service/snmp/v3/user/node.tag/auth/type/node.def b/templates/service/snmp/v3/user/node.tag/auth/type/node.def
deleted file mode 100644
index 5a2ffc52..00000000
--- a/templates/service/snmp/v3/user/node.tag/auth/type/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "md5"
-help: Defines the protocol using for authentication
-syntax:expression: $VAR(@) in "md5", "sha"
-allowed: echo md5 sha
-
-val_help: md5; Message Digest 5
-val_help: sha; Secure Hash Algorithm \ No newline at end of file
diff --git a/templates/service/snmp/v3/user/node.tag/engineid/node.def b/templates/service/snmp/v3/user/node.tag/engineid/node.def
deleted file mode 100644
index 84cf1443..00000000
--- a/templates/service/snmp/v3/user/node.tag/engineid/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-type: txt
-help: Specifies the EngineID
-syntax:expression: pattern $VAR(@) "^(0x){0,1}([0-9a-f][0-9a-f]){1,18}$" ; "id must contain from 2 to 36 hex digits"
diff --git a/templates/service/snmp/v3/user/node.tag/group/node.def b/templates/service/snmp/v3/user/node.tag/group/node.def
deleted file mode 100644
index 66543579..00000000
--- a/templates/service/snmp/v3/user/node.tag/group/node.def
+++ /dev/null
@@ -1,11 +0,0 @@
-type: txt
-help: Specifies group for user name
-allowed: list=`cli-shell-api listNodes service snmp v3 group`
- echo $list
-syntax:expression:exec "regex=\"(^| )$VAR(@)( |$)\"; \
- if [[ \"$VAR(/service/snmp/v3/group/@@)\" =~ $regex ]] ; \
- then \
- exit 0; \
- else \
- exit 1; \
- fi" ; "You must create \"$VAR(@)\" group first"
diff --git a/templates/service/snmp/v3/user/node.tag/mode/node.def b/templates/service/snmp/v3/user/node.tag/mode/node.def
deleted file mode 100644
index 9855f5fb..00000000
--- a/templates/service/snmp/v3/user/node.tag/mode/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "ro"
-help: Specifies the mode for access rights of user, read only or write
-syntax:expression: $VAR(@) in "ro", "rw"
-allowed: echo ro rw
-
-val_help: ro;
-val_help: rw;
diff --git a/templates/service/snmp/v3/user/node.tag/privacy/encrypted-key/node.def b/templates/service/snmp/v3/user/node.tag/privacy/encrypted-key/node.def
deleted file mode 100644
index 8feef111..00000000
--- a/templates/service/snmp/v3/user/node.tag/privacy/encrypted-key/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-type: txt
-help: Defines the encrypted key for privacy protocol
diff --git a/templates/service/snmp/v3/user/node.tag/privacy/node.def b/templates/service/snmp/v3/user/node.tag/privacy/node.def
deleted file mode 100644
index 94bf850c..00000000
--- a/templates/service/snmp/v3/user/node.tag/privacy/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Specifies the privacy
-commit:expression: $VAR(type/) != "" ; "must specify type"
-commit:expression: $VAR(plaintext-key/) != "" || $VAR(encrypted-key/) != "" ; "must specify plaintext-key or encrypted-key" \ No newline at end of file
diff --git a/templates/service/snmp/v3/user/node.tag/privacy/plaintext-key/node.def b/templates/service/snmp/v3/user/node.tag/privacy/plaintext-key/node.def
deleted file mode 100644
index a9543530..00000000
--- a/templates/service/snmp/v3/user/node.tag/privacy/plaintext-key/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-type: txt
-help: Defines the key in the clear text for protocol for privacy
-syntax:expression: pattern $VAR(@) "^.{8,}$" ; "key must contain 8 or more characters"
-
-update:expression: $VAR(../encrypted-key/@) = "" && $VAR(../../engineid/@) = ""
-update:expression: $VAR(../../../engineid/@) != "" || $VAR(../../../engineid/@) = "" \ No newline at end of file
diff --git a/templates/service/snmp/v3/user/node.tag/privacy/type/node.def b/templates/service/snmp/v3/user/node.tag/privacy/type/node.def
deleted file mode 100644
index bbfd5331..00000000
--- a/templates/service/snmp/v3/user/node.tag/privacy/type/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-type: txt
-default: "des"
-help: Defines the protocol for privacy
-syntax:expression: $VAR(@) in "des", "aes"
-allowed: echo des aes
-
-val_help: des; Data Encryption Standard
-val_help: aes; Advanced Encryption Standard \ No newline at end of file
diff --git a/templates/service/snmp/v3/user/node.tag/tsm-key/node.def b/templates/service/snmp/v3/user/node.tag/tsm-key/node.def
deleted file mode 100644
index b41be079..00000000
--- a/templates/service/snmp/v3/user/node.tag/tsm-key/node.def
+++ /dev/null
@@ -1,14 +0,0 @@
-type: txt
-help: Specifies finger print or file name of TSM certificate.
-allowed: if sudo [ -d /etc/snmp/tls/certs ]; then
- sudo ls /etc/snmp/tls/certs 2> /dev/null
- else
- sudo ls /config/snmp/tls/certs 2> /dev/null
- fi
-syntax:expression: pattern $VAR(@) "^[0-9A-F]{2}(:[0-9A-F]{2}){19}$" ||
- exec "if sudo [ -f /etc/snmp/tls/certs/$VAR(@) -o -f /config/snmp/tls/certs/$VAR(@) ]; \
- then \
- exit 0; \
- else \
- exit 1; \
- fi" ; "value can be finger print key or filename in /etc/snmp/tls/certs folder" \ No newline at end of file
diff --git a/templates/service/snmp/v3/view/node.def b/templates/service/snmp/v3/view/node.def
deleted file mode 100644
index 1fa589ae..00000000
--- a/templates/service/snmp/v3/view/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-tag:
-type: txt
-help: Specifies the view with name viewname
-syntax:expression: pattern $VAR(@) "^[^\(\)\|\&-]+$" ; "illegal characters in name"
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_check_snmp_name.pl $VAR(@)"
-commit:expression: $VAR(oid/) != ""; "must configure an oid"
diff --git a/templates/service/snmp/v3/view/node.tag/oid/node.def b/templates/service/snmp/v3/view/node.tag/oid/node.def
deleted file mode 100644
index ca2a5c5d..00000000
--- a/templates/service/snmp/v3/view/node.tag/oid/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-tag:
-type: txt
-help: Specifies the oid
-syntax:expression: pattern $VAR(@) "^[0-9]+(\\.[0-9]+)*$" ; "oid must start from a number"
diff --git a/templates/service/snmp/v3/view/node.tag/oid/node.tag/exclude/node.def b/templates/service/snmp/v3/view/node.tag/oid/node.tag/exclude/node.def
deleted file mode 100644
index df3611cb..00000000
--- a/templates/service/snmp/v3/view/node.tag/oid/node.tag/exclude/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Exclude is optional argument.
diff --git a/templates/service/snmp/v3/view/node.tag/oid/node.tag/mask/node.def b/templates/service/snmp/v3/view/node.tag/oid/node.tag/mask/node.def
deleted file mode 100644
index bc500afe..00000000
--- a/templates/service/snmp/v3/view/node.tag/oid/node.tag/mask/node.def
+++ /dev/null
@@ -1,4 +0,0 @@
-type: txt
-help: Defines a bit-mask that is indicating which subidentifiers of the associated subtree OID should be regarded as significant.
-syntax:expression: pattern $VAR(@) "^[0-9a-f]{2}([\\.:][0-9a-f]{2})*$" ; \
- "MASK is a list of hex octets, separated by '.' or ':'" \ No newline at end of file
diff --git a/templates/service/ssh/allow-root/node.def b/templates/service/ssh/allow-root/node.def
deleted file mode 100644
index c1e6abf2..00000000
--- a/templates/service/ssh/allow-root/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-help: Enable root login over ssh
-
-create: sudo sed -i -e '/^PermitRootLogin/s/no/yes/' /etc/ssh/sshd_config
-
-delete: sudo sed -i -e '/^PermitRootLogin/s/yes/no/' /etc/ssh/sshd_config
diff --git a/templates/service/ssh/ciphers/node.def b/templates/service/ssh/ciphers/node.def
deleted file mode 100644
index 7eab846e..00000000
--- a/templates/service/ssh/ciphers/node.def
+++ /dev/null
@@ -1,29 +0,0 @@
-type: txt
-help: Allowed ciphers
-val_help: txt; Cipher string
-val_help: 3des-cbc; 3DES CBC
-val_help: aes128-cbc; AES 128 CBC
-val_help: aes192-cbc; AES 192 CBC
-val_help: aes256-cbc; AES 256 CBC
-val_help: aes128-ctr; AES 128 CTR
-val_help: aes192-ctr; AES 192 CTR
-val_help: aes256-ctr; AES 256 CTR
-val_help: arcfour128; AC4 128
-val_help: arcfour256; AC4 256
-val_help: arcfour; AC4
-val_help: blowfish-cbc; Blowfish CBC
-val_help: cast128-cbc; CAST 128 CBC
-comp_help: Multiple ciphers can be specified as a comma-separated list.
-
-syntax:expression: pattern $VAR(@) "^((3des-cbc|aes128-cbc|aes192-cbc|aes256-cbc|aes128-ctr|aes192-ctr|\
-aes256-ctr|arcfour128|arcfour256|arcfour|\
-blowfish-cbc|cast128-cbc)(,|$))+$"; \
-"$VAR(@) is not a valid cipher list"
-
-create: sudo sed -i -e '$ a \
-Ciphers $VAR(@)' /etc/ssh/sshd_config
-
-delete: sudo sed -i -e '/^Ciphers $VAR(@)$/d' /etc/ssh/sshd_config
-
-update: sudo sed -i -e '/^Ciphers/c \
-Ciphers $VAR(@)' /etc/ssh/sshd_config
diff --git a/templates/service/ssh/disable-host-validation/node.def b/templates/service/ssh/disable-host-validation/node.def
deleted file mode 100644
index fff28dbd..00000000
--- a/templates/service/ssh/disable-host-validation/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-help: Don't validate the remote host name with DNS
-
-update: sudo sed -i -e '/^UseDNS/s/yes/no/' /etc/ssh/sshd_config
-
-delete: sudo sed -i -e '/^UseDNS/s/no/yes/' /etc/ssh/sshd_config
-
diff --git a/templates/service/ssh/disable-password-authentication/node.def b/templates/service/ssh/disable-password-authentication/node.def
deleted file mode 100644
index 59abacfc..00000000
--- a/templates/service/ssh/disable-password-authentication/node.def
+++ /dev/null
@@ -1,5 +0,0 @@
-help: Don't allow unknown user to login with password
-
-update: sudo sed -i -e '/^PasswordAuthentication/s/yes/no/' /etc/ssh/sshd_config
-
-delete: sudo sed -i -e '/^PasswordAuthentication/s/no/yes/' /etc/ssh/sshd_config
diff --git a/templates/service/ssh/listen-address/node.def b/templates/service/ssh/listen-address/node.def
deleted file mode 100644
index aeff03f2..00000000
--- a/templates/service/ssh/listen-address/node.def
+++ /dev/null
@@ -1,10 +0,0 @@
-multi:
-type: ipv4,ipv6
-help: Local addresses SSH service should listen on
-val_help: ipv4: IP address to listen for incoming connections
-val_help: ipv6: IPv6 address to listen for incoming connections
-
-create: sudo sed -i -e '/^Port/a \
-ListenAddress $VAR(@)' /etc/ssh/sshd_config
-
-delete: sudo sed -i -e '/^ListenAddress $VAR(@)$/d' /etc/ssh/sshd_config
diff --git a/templates/service/ssh/macs/node.def b/templates/service/ssh/macs/node.def
deleted file mode 100644
index ee6c60e1..00000000
--- a/templates/service/ssh/macs/node.def
+++ /dev/null
@@ -1,10 +0,0 @@
-type: txt
-help: Specifies the available MAC (message authentication code) algorithms. The MAC algorithm is used in protocol version 2 for data integrity protection. Multiple algorithms must be comma-separated. See 'man sshd_config' for supported MACs.
-
-create: sudo sed -i -e '$ a \
-MACs $VAR(@)' /etc/ssh/sshd_config
-
-delete: sudo sed -i -e '/^MACs $VAR(@)$/d' /etc/ssh/sshd_config
-
-update: sudo sed -i -e '/^MACs/c \
-MACs $VAR(@)' /etc/ssh/sshd_config \ No newline at end of file
diff --git a/templates/service/ssh/node.def b/templates/service/ssh/node.def
deleted file mode 100644
index 7117a2fd..00000000
--- a/templates/service/ssh/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-priority: 500 # After syslog and logins
-help: Secure SHell (SSH) protocol
-delete:sudo /usr/sbin/invoke-rc.d ssh stop
- sudo sh -c "echo 'SSHD_OPTS=' > /etc/default/ssh"
-end: if [ -z "$VAR(port/@)" ]; then exit 0; fi
- STR="SSHD_OPTS=\"-p $VAR(port/@)\""
- sudo sh -c "echo '$STR' > /etc/default/ssh"
- sudo /usr/sbin/invoke-rc.d ssh restart
diff --git a/templates/service/ssh/port/node.def b/templates/service/ssh/port/node.def
deleted file mode 100644
index d4f53378..00000000
--- a/templates/service/ssh/port/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: u32
-default: 22
-help: Port for SSH service
-val_help: u32:1-65535; Numeric IP port
-
-syntax:expression: $VAR(@) > 0 && $VAR(@) <= 65535 ; \
- "Port number must be in range 1 to 65535"
diff --git a/templates/service/telnet/allow-root/node.def b/templates/service/telnet/allow-root/node.def
deleted file mode 100644
index 39c78062..00000000
--- a/templates/service/telnet/allow-root/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-help: Enable root login over telnet
-create: /opt/vyatta/sbin/vyatta_update_telnet allow-root true
-delete:/opt/vyatta/sbin/vyatta_update_telnet allow-root false
diff --git a/templates/service/telnet/listen-address/node.def b/templates/service/telnet/listen-address/node.def
deleted file mode 100644
index cd016628..00000000
--- a/templates/service/telnet/listen-address/node.def
+++ /dev/null
@@ -1,7 +0,0 @@
-type: ipv4,ipv6
-help: Local addresses telnet should listen on
-val_help: ipv4: IP address to listen for incoming connections
-val_help: ipv6: IPv6 address to listen for incoming connections
-
-commit:expression: exec "/opt/vyatta/sbin/local_ip $VAR(@)"; \
- "IP address $VAR(@) doesn\'t exist on this system"
diff --git a/templates/service/telnet/node.def b/templates/service/telnet/node.def
deleted file mode 100644
index e173d243..00000000
--- a/templates/service/telnet/node.def
+++ /dev/null
@@ -1,8 +0,0 @@
-priority: 500 # After syslog and logins
-help: Enable/disable Network Virtual Terminal Protocol (TELNET) protocol
-update: touch /tmp/vyatta-telnet.$PPID
-delete: /opt/vyatta/sbin/vyatta_update_telnet disable
-end: if [ -f /tmp/vyatta-telnet.$PPID ]; then
- rm -f /tmp/vyatta-telnet.$PPID
- /opt/vyatta/sbin/vyatta_update_telnet enable $VAR(port/@) $VAR(listen-address/@)
- fi
diff --git a/templates/service/telnet/port/node.def b/templates/service/telnet/port/node.def
deleted file mode 100644
index c4db688a..00000000
--- a/templates/service/telnet/port/node.def
+++ /dev/null
@@ -1,9 +0,0 @@
-type: u32
-default: 23
-help: Port for TELNET service
-
-val_help: u32:1-65535; Numeric IP port
-syntax:expression: $VAR(@) > 0 && $VAR(@) <= 65535 ; \
- "Port number must be in range 1 to 65535"
-commit:expression: exec "sudo /opt/vyatta/sbin/is_port_available.pl $VAR(@)"; \
- "Port $VAR(@) is already in use!"
diff --git a/templates/system/console/device/node.tag/speed/node.def b/templates/system/console/device/node.tag/speed/node.def
index e7515dca..3a117301 100644
--- a/templates/system/console/device/node.tag/speed/node.def
+++ b/templates/system/console/device/node.tag/speed/node.def
@@ -1,5 +1,5 @@
type: u32
-help: Console baud rate
+help: Console baud rate. New rate will take effect on reboot.
allowed: echo 1200 2400 4800 9600 19200 38400 57600 115200
syntax:expression: $VAR(@) in 1200, 2400, 4800, 9600, 19200, 38400, \
57600, 115200 ; "unknown baud rate"
diff --git a/templates/system/domain-name/node.def b/templates/system/domain-name/node.def
deleted file mode 100644
index 4866ddf8..00000000
--- a/templates/system/domain-name/node.def
+++ /dev/null
@@ -1,12 +0,0 @@
-priority: 400
-type: txt
-help: System domain name
-
-# Allow letter-number-hyphen in label (but can not start or end with hyphen)
-syntax:expression: exec "/opt/vyatta/sbin/vyatta_check_domainname.pl $VAR(../host-name).$VAR(@)"
-
-update: sudo /opt/vyatta/sbin/vyatta_update_resolv.pl
- sudo /opt/vyatta/sbin/vyatta_update_hosts.pl --no-restart-services
-
-delete: sudo /opt/vyatta/sbin/vyatta_update_resolv.pl
- sudo /opt/vyatta/sbin/vyatta_update_hosts.pl --no-restart-services
diff --git a/templates/system/host-name/node.def b/templates/system/host-name/node.def
deleted file mode 100644
index 00798bef..00000000
--- a/templates/system/host-name/node.def
+++ /dev/null
@@ -1,12 +0,0 @@
-priority: 100
-type: txt
-help: System host name (default: vyos)
-default: "vyos"
-syntax:expression: pattern $VAR(@) "^[[:alnum:]][-.[:alnum:]]*[[:alnum:]]$"
- ; "invalid host name $VAR(@)"
-
-syntax:expression: pattern $VAR(@) "^.{1,63}$" ; "invalid host-name length"
-
-update: sudo /opt/vyatta/sbin/vyatta_update_hosts.pl
-
-delete: sudo /opt/vyatta/sbin/vyatta_update_hosts.pl
diff --git a/templates/system/login/user/node.tag/authentication/public-keys/node.tag/type/node.def b/templates/system/login/user/node.tag/authentication/public-keys/node.tag/type/node.def
index 5ad1c58b..bf789e06 100644
--- a/templates/system/login/user/node.tag/authentication/public-keys/node.tag/type/node.def
+++ b/templates/system/login/user/node.tag/authentication/public-keys/node.tag/type/node.def
@@ -1,4 +1,4 @@
type: txt
help: Public key type
-allowed: echo "ssh-dss ssh-rsa"
-syntax:expression: $VAR(@) in "ssh-rsa", "ssh-dss" ; "Unknown key type"
+allowed: echo "ssh-dss ssh-rsa ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 ssh-ed25519"
+syntax:expression: $VAR(@) in "ssh-rsa", "ssh-dss", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "ssh-ed25519"; "Unknown key type"
diff --git a/templates/system/ntp/client/address/node.def b/templates/system/ntp/client/address/node.def
deleted file mode 100644
index a48a2b5a..00000000
--- a/templates/system/ntp/client/address/node.def
+++ /dev/null
@@ -1,6 +0,0 @@
-multi:
-type: ipv4net,ipv6net
-help: IP address
-
-val_help: ipv4net; IP address and prefix length
-val_help: ipv6net; IPv6 address and prefix length
diff --git a/templates/system/ntp/client/node.def b/templates/system/ntp/client/node.def
deleted file mode 100644
index dd849f8f..00000000
--- a/templates/system/ntp/client/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Network Time Protocol (NTP) client
diff --git a/templates/system/ntp/node.def b/templates/system/ntp/node.def
deleted file mode 100644
index 38e67e05..00000000
--- a/templates/system/ntp/node.def
+++ /dev/null
@@ -1,16 +0,0 @@
-priority: 400
-help: Network Time Protocol (NTP) configuration
-
-end:
- sudo /opt/vyatta/sbin/vyatta_update_ntp.pl
- if grep -q '^server' /etc/ntp.conf
- then
- if pgrep -f -u ntp /usr/sbin/ntpd > /dev/null
- then
- sudo /usr/sbin/invoke-rc.d ntp force-reload
- else
- sudo /usr/sbin/invoke-rc.d ntp start
- fi
- else
- sudo /usr/sbin/invoke-rc.d ntp stop
- fi
diff --git a/templates/system/ntp/server/node.def b/templates/system/ntp/server/node.def
deleted file mode 100644
index 383bd992..00000000
--- a/templates/system/ntp/server/node.def
+++ /dev/null
@@ -1,3 +0,0 @@
-tag:
-type: txt
-help: Network Time Protocol (NTP) server
diff --git a/templates/system/ntp/server/node.tag/dynamic/node.def b/templates/system/ntp/server/node.tag/dynamic/node.def
deleted file mode 100644
index 2d68de16..00000000
--- a/templates/system/ntp/server/node.tag/dynamic/node.def
+++ /dev/null
@@ -1,2 +0,0 @@
-help: Allow server to be configured even if not reachable
-
diff --git a/templates/system/ntp/server/node.tag/noselect/node.def b/templates/system/ntp/server/node.tag/noselect/node.def
deleted file mode 100644
index e2e061b5..00000000
--- a/templates/system/ntp/server/node.tag/noselect/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Marks the server as unused
diff --git a/templates/system/ntp/server/node.tag/preempt/node.def b/templates/system/ntp/server/node.tag/preempt/node.def
deleted file mode 100644
index ca89efa1..00000000
--- a/templates/system/ntp/server/node.tag/preempt/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Specifies the association as preemptable rather than the default persistent
diff --git a/templates/system/ntp/server/node.tag/prefer/node.def b/templates/system/ntp/server/node.tag/prefer/node.def
deleted file mode 100644
index 4855fd41..00000000
--- a/templates/system/ntp/server/node.tag/prefer/node.def
+++ /dev/null
@@ -1 +0,0 @@
-help: Marks the server as preferred
diff --git a/templates/system/options/ctrl-alt-del-action/node.def b/templates/system/options/ctrl-alt-del-action/node.def
index 3bbf2a81..a853b151 100644
--- a/templates/system/options/ctrl-alt-del-action/node.def
+++ b/templates/system/options/ctrl-alt-del-action/node.def
@@ -12,15 +12,15 @@ syntax:expression: $VAR(@) in "ignore", "reboot", "poweroff"; "Value must be ign
end:
if [ $VAR(@) == "ignore" ]; then
- sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:/' \
- /etc/inittab"
+ sudo sh -c "ln -sf /dev/null \
+ /lib/systemd/system/ctrl-alt-del.target"
elif [ $VAR(@) == "reboot" ]; then
- sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:\/sbin\/reboot/' \
- /etc/inittab"
+ sudo sh -c "ln -sf /lib/systemd/system/reboot.target \
+ /lib/systemd/system/ctrl-alt-del.target"
elif [ $VAR(@) == "poweroff" ]; then
- sudo sh -c "sed -i -e 's/^ca.*/ca:12345:ctrlaltdel:\/sbin\/shutdown -h now/' \
- /etc/inittab"
+ sudo sh -c "ln -sf /lib/systemd/system/poweroff.target \
+ /lib/systemd/system/ctrl-alt-del.target"
fi
- # Reload /etc/inittab for change to take effect
- sudo /sbin/init q
+ # Reload systemd daemon for change to take effect
+ sudo /bin/systemctl daemon-reload
diff --git a/templates/system/options/enable-popularity-contest/node.def b/templates/system/options/enable-popularity-contest/node.def
deleted file mode 100644
index 3f048352..00000000
--- a/templates/system/options/enable-popularity-contest/node.def
+++ /dev/null
@@ -1,9 +0,0 @@
-help: Send anonymous system statistic to VyOS maintainers
-
-create:
- sudo sh -c 'echo "#!/bin/sh" > /etc/cron.weekly/01vyos-popcon'
- sudo sh -c 'echo "/opt/vyatta/bin/vyos-popcon.pl 2>&1 >/var/log/popcon.log" >> /etc/cron.weekly/01vyos-popcon'
- sudo sh -c 'chmod +x /etc/cron.weekly/01vyos-popcon'
-
-delete:
- sudo rm -f /etc/cron.weekly/01vyos-popcon
diff --git a/templates/system/static-host-mapping/host-name/node.def b/templates/system/static-host-mapping/host-name/node.def
index 09bc9dbe..9d815965 100644
--- a/templates/system/static-host-mapping/host-name/node.def
+++ b/templates/system/static-host-mapping/host-name/node.def
@@ -12,10 +12,10 @@ end: sudo sh -c "
touch /etc/hosts
sed -i '/ $VAR(@) .*#vyatta entry/d' /etc/hosts
if [ -z \"$VAR(./inet/@)\" ]; then
- if cli-shell-api existsActive service dns forwarding; then /etc/init.d/dnsmasq restart >&/dev/null; fi
+ if cli-shell-api existsActive service dns forwarding; then /etc/init.d/pdns-recursor restart >&/dev/null; fi
exit 0
fi
declare -a aliases=( $VAR(alias/@@) )
echo -e \"$VAR(inet/@)\\t $VAR(@) \${aliases[*]} \\t #vyatta entry\" >> /etc/hosts
- if cli-shell-api existsActive service dns forwarding; then /etc/init.d/dnsmasq restart >&/dev/null; fi"
+ if cli-shell-api existsActive service dns forwarding; then /etc/init.d/pdns-recursor restart >&/dev/null; fi"
diff --git a/templates/system/sysctl/custom/node.def b/templates/system/sysctl/custom/node.def
index 4e6480ea..a072b2ba 100644
--- a/templates/system/sysctl/custom/node.def
+++ b/templates/system/sysctl/custom/node.def
@@ -1,5 +1,5 @@
tag:
priority: 318
type: txt
-help: Define specific sysctl option to modify
+help: Define specific sysctl options to modify
val_help: <sysctl_option> ; Name of sysctl option you want to modify