sync with OpenBSD -current
This commit is contained in:
parent
36c45cb00b
commit
0bc0a510b3
74 changed files with 19354 additions and 553 deletions
|
@ -2960,6 +2960,15 @@
|
||||||
./usr/share/relink/usr/sbin/sshd/sshd.tar
|
./usr/share/relink/usr/sbin/sshd/sshd.tar
|
||||||
./usr/share/snmp
|
./usr/share/snmp
|
||||||
./usr/share/snmp/mibs
|
./usr/share/snmp/mibs
|
||||||
|
./usr/share/snmp/mibs/BRIDGE-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/IANA-RTPROTO-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/IANA-STORAGE-MEDIA-TYPE-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/IANAifType-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/IF-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/INET-ADDRESS-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/IP-FORWARD-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/IP-MIB.txt
|
||||||
./usr/share/snmp/mibs/OPENBSD-BASE-MIB.txt
|
./usr/share/snmp/mibs/OPENBSD-BASE-MIB.txt
|
||||||
./usr/share/snmp/mibs/OPENBSD-CARP-MIB.txt
|
./usr/share/snmp/mibs/OPENBSD-CARP-MIB.txt
|
||||||
./usr/share/snmp/mibs/OPENBSD-MEM-MIB.txt
|
./usr/share/snmp/mibs/OPENBSD-MEM-MIB.txt
|
||||||
|
@ -2967,6 +2976,18 @@
|
||||||
./usr/share/snmp/mibs/OPENBSD-RELAYD-MIB.txt
|
./usr/share/snmp/mibs/OPENBSD-RELAYD-MIB.txt
|
||||||
./usr/share/snmp/mibs/OPENBSD-SENSORS-MIB.txt
|
./usr/share/snmp/mibs/OPENBSD-SENSORS-MIB.txt
|
||||||
./usr/share/snmp/mibs/OPENBSD-SNMPD-CONF.txt
|
./usr/share/snmp/mibs/OPENBSD-SNMPD-CONF.txt
|
||||||
|
./usr/share/snmp/mibs/SNMP-FRAMEWORK-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/SNMP-USM-AES-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/SNMP-USM-HMAC-SHA2-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/SNMPv2-CONF.txt
|
||||||
|
./usr/share/snmp/mibs/SNMPv2-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/SNMPv2-SMI.txt
|
||||||
|
./usr/share/snmp/mibs/SNMPv2-TC.txt
|
||||||
|
./usr/share/snmp/mibs/SNMPv2-TM.txt
|
||||||
|
./usr/share/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/UUID-TC-MIB.txt
|
||||||
|
./usr/share/snmp/mibs/VM-MIB.txt
|
||||||
./usr/share/tabset
|
./usr/share/tabset
|
||||||
./usr/share/tabset/std
|
./usr/share/tabset/std
|
||||||
./usr/share/tabset/stdcrt
|
./usr/share/tabset/stdcrt
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: uselocale.c,v 1.8 2022/07/25 21:29:16 guenther Exp $ */
|
/* $OpenBSD: uselocale.c,v 1.9 2024/02/05 06:48:04 anton Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2017, 2022 Ingo Schwarze <schwarze@openbsd.org>
|
* Copyright (c) 2017, 2022 Ingo Schwarze <schwarze@openbsd.org>
|
||||||
*
|
*
|
||||||
|
@ -273,10 +273,10 @@ child_func(void *arg)
|
||||||
TEST_R(nl_langinfo, "UTF-8", CODESET);
|
TEST_R(nl_langinfo, "UTF-8", CODESET);
|
||||||
TEST_R(nl_langinfo_l, "UTF-8", CODESET, _LOCALE_UTF8);
|
TEST_R(nl_langinfo_l, "UTF-8", CODESET, _LOCALE_UTF8);
|
||||||
TEST_R(nl_langinfo_l, "US-ASCII", CODESET, _LOCALE_C);
|
TEST_R(nl_langinfo_l, "US-ASCII", CODESET, _LOCALE_C);
|
||||||
TEST_R(isalpha, _L, 0x65); /* e */
|
TEST_R(isalpha, _CTYPE_L, 0x65); /* e */
|
||||||
TEST_R(isalpha_l, _L, 0x65, _LOCALE_UTF8);
|
TEST_R(isalpha_l, _CTYPE_L, 0x65, _LOCALE_UTF8);
|
||||||
TEST_R(isalpha_l, _L, 0x65, _LOCALE_C);
|
TEST_R(isalpha_l, _CTYPE_L, 0x65, _LOCALE_C);
|
||||||
TEST_R(isalpha_l, _L, 0x65, _LOCALE_C);
|
TEST_R(isalpha_l, _CTYPE_L, 0x65, _LOCALE_C);
|
||||||
TEST_R(isalpha, 0, 0x30); /* 0 */
|
TEST_R(isalpha, 0, 0x30); /* 0 */
|
||||||
TEST_R(isalpha_l, 0, 0x30, _LOCALE_UTF8);
|
TEST_R(isalpha_l, 0, 0x30, _LOCALE_UTF8);
|
||||||
TEST_R(isalpha_l, 0, 0x30, _LOCALE_C);
|
TEST_R(isalpha_l, 0, 0x30, _LOCALE_C);
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
# $OpenBSD: Makefile,v 1.30 2023/09/11 19:03:53 mpi Exp $
|
# $OpenBSD: Makefile,v 1.31 2024/02/05 15:30:04 mpi Exp $
|
||||||
|
|
||||||
BTRACE?= /usr/sbin/btrace
|
BTRACE?= /usr/sbin/btrace
|
||||||
ALLOWDT!= sysctl -n kern.allowdt 2>/dev/null
|
ALLOWDT!= sysctl -n kern.allowdt 2>/dev/null
|
||||||
|
|
||||||
# scripts that don't need /dev/dt
|
# scripts that don't need /dev/dt
|
||||||
BT_LANG_SCRIPTS= arithm beginend beginend-argn boolean comments delete \
|
BT_LANG_SCRIPTS= arithm beginend beginend-argn boolean comments \
|
||||||
exit histempty if \
|
delete exit histempty if \
|
||||||
map mapclear mapempty mapsyntax mapzero map-unnamed \
|
map mapclear mapempty mapsyntax mapzero map-unnamed \
|
||||||
maxoperand min+max+sum multismts nsecs+var \
|
maxoperand min+max+sum multismts nsecs+var \
|
||||||
precedence print read-map-after-clear staticv-empty \
|
precedence print read-map-after-clear staticv-empty \
|
||||||
|
@ -14,7 +14,7 @@ BT_LANG_SCRIPTS= arithm beginend beginend-argn boolean comments delete \
|
||||||
BT_ARG_LANG_SCRIPTS= staticv str
|
BT_ARG_LANG_SCRIPTS= staticv str
|
||||||
|
|
||||||
# scripts that use kernel probes
|
# scripts that use kernel probes
|
||||||
BT_KERN_SCRIPTS= empty-stmts filters mapoverwrite multiprobe
|
BT_KERN_SCRIPTS= argn empty-stmts filters mapoverwrite multiprobe
|
||||||
|
|
||||||
REGRESS_EXPECTED_FAILURES= run-maxoperand
|
REGRESS_EXPECTED_FAILURES= run-maxoperand
|
||||||
|
|
||||||
|
|
6
regress/usr.sbin/btrace/argn.bt
Normal file
6
regress/usr.sbin/btrace/argn.bt
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
interval:hz:100
|
||||||
|
{
|
||||||
|
printf("%d %s %d %s %d %s %d %s %d %s\n",
|
||||||
|
arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
|
||||||
|
exit();
|
||||||
|
}
|
1
regress/usr.sbin/btrace/argn.ok
Normal file
1
regress/usr.sbin/btrace/argn.ok
Normal file
|
@ -0,0 +1 @@
|
||||||
|
0 0 0 0 0 0 0 0 0 0
|
|
@ -16,7 +16,7 @@ syscall:open:return
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
interval:hz:1
|
interval:hz:100
|
||||||
{
|
{
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
BEGIN
|
BEGIN
|
||||||
{
|
{
|
||||||
@map[8 - 1] = count();
|
@map[8 - 1, "test"] = count();
|
||||||
printf("=> Print with one element\n");
|
printf("=> Print with one element\n");
|
||||||
print(@map);
|
print(@map);
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ BEGIN
|
||||||
printf("=> Print after zero:\n");
|
printf("=> Print after zero:\n");
|
||||||
print(@map);
|
print(@map);
|
||||||
|
|
||||||
@map[7] = count();
|
@map[7, "test"] = count();
|
||||||
@map[5] = 42;
|
@map[5] = 42;
|
||||||
@map[3 + 1] = 9999;
|
@map[3 + 1] = 9999;
|
||||||
@map[897123] = 9997;
|
@map[897123] = 9997;
|
||||||
|
@ -17,12 +17,12 @@ BEGIN
|
||||||
print(@map, @top);
|
print(@map, @top);
|
||||||
|
|
||||||
printf("=> Using printf:\n");
|
printf("=> Using printf:\n");
|
||||||
printf("%d + %d\n", @map[4], @map[7]);
|
printf("%d + %d\n", @map[4], @map[7, "test"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
END
|
END
|
||||||
{
|
{
|
||||||
@map[7] = count();
|
@map[7, "test"] = count();
|
||||||
printf("=> Print all map:\n");
|
printf("=> Print all map:\n");
|
||||||
print(@map);
|
print(@map);
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
=> Print with one element
|
=> Print with one element
|
||||||
@map[7]: 1
|
@map[7, test]: 1
|
||||||
=> Print after zero:
|
=> Print after zero:
|
||||||
@map[7]: 0
|
@map[7, test]: 0
|
||||||
=> Print top 2:
|
=> Print top 2:
|
||||||
@map[4]: 9999
|
@map[4]: 9999
|
||||||
@map[897123]: 9997
|
@map[897123]: 9997
|
||||||
|
@ -11,5 +11,5 @@
|
||||||
@map[4]: 9999
|
@map[4]: 9999
|
||||||
@map[897123]: 9997
|
@map[897123]: 9997
|
||||||
@map[5]: 42
|
@map[5]: 42
|
||||||
@map[7]: 2
|
@map[7, test]: 2
|
||||||
=> Print after clear:
|
=> Print after clear:
|
||||||
|
|
|
@ -10,7 +10,7 @@ BEGIN
|
||||||
/*
|
/*
|
||||||
* Overwrite map periodically to ensure there's no double-free.
|
* Overwrite map periodically to ensure there's no double-free.
|
||||||
*/
|
*/
|
||||||
interval:hz:1
|
interval:hz:100
|
||||||
{
|
{
|
||||||
if (@counter >= 10)
|
if (@counter >= 10)
|
||||||
exit();
|
exit();
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
BEGIN,
|
BEGIN,
|
||||||
interval:hz:2
|
interval:hz:50
|
||||||
{
|
{
|
||||||
printf("multi\n");
|
printf("multi\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
interval:hz:1
|
interval:hz:100
|
||||||
{
|
{
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.\" $OpenBSD: ddb.4,v 1.106 2023/09/19 11:36:33 claudio Exp $
|
.\" $OpenBSD: ddb.4,v 1.107 2024/02/05 21:33:00 jmc Exp $
|
||||||
.\" $NetBSD: ddb.4,v 1.5 1994/11/30 16:22:09 jtc Exp $
|
.\" $NetBSD: ddb.4,v 1.5 1994/11/30 16:22:09 jtc Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Mach Operating System
|
.\" Mach Operating System
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
.\" any improvements or extensions that they make and grant Carnegie Mellon
|
.\" any improvements or extensions that they make and grant Carnegie Mellon
|
||||||
.\" the rights to redistribute these changes.
|
.\" the rights to redistribute these changes.
|
||||||
.\"
|
.\"
|
||||||
.Dd $Mdocdate: September 19 2023 $
|
.Dd $Mdocdate: February 5 2024 $
|
||||||
.Dt DDB 4
|
.Dt DDB 4
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
|
@ -622,20 +622,11 @@ Prints a list of all breakpoints that have been set with the
|
||||||
.Ic break
|
.Ic break
|
||||||
command.
|
command.
|
||||||
.\" --------------------
|
.\" --------------------
|
||||||
.It Xo
|
.It Ic show buf Ar addr
|
||||||
.Ic show buf
|
|
||||||
.Op Cm /f
|
|
||||||
.Ar addr
|
|
||||||
.Xc
|
|
||||||
Prints the
|
Prints the
|
||||||
.Vt struct buf
|
.Vt struct buf
|
||||||
at
|
at
|
||||||
.Ar addr .
|
.Ar addr .
|
||||||
If the
|
|
||||||
.Cm /f
|
|
||||||
modifier is specified output will also include
|
|
||||||
.Li softdep
|
|
||||||
printout, if those are available.
|
|
||||||
.\" --------------------
|
.\" --------------------
|
||||||
.It Ic show extents
|
.It Ic show extents
|
||||||
Prints a detailed list of all extents.
|
Prints a detailed list of all extents.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.\" $OpenBSD: mfii.4,v 1.7 2018/03/27 07:01:42 jsg Exp $
|
.\" $OpenBSD: mfii.4,v 1.8 2024/02/05 19:07:45 deraadt Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 2012 David Gwynne <dlg@openbsd.org>
|
.\" Copyright (c) 2012 David Gwynne <dlg@openbsd.org>
|
||||||
.\"
|
.\"
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
.\"
|
.\"
|
||||||
.Dd $Mdocdate: March 27 2018 $
|
.Dd $Mdocdate: February 5 2024 $
|
||||||
.Dt MFII 4
|
.Dt MFII 4
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
|
@ -47,6 +47,10 @@ SAS3504
|
||||||
SAS3508
|
SAS3508
|
||||||
.It
|
.It
|
||||||
SAS3516
|
SAS3516
|
||||||
|
.It
|
||||||
|
SAS3816
|
||||||
|
.It
|
||||||
|
SAS3916
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
These controllers support RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID 50 and
|
These controllers support RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, RAID 50 and
|
||||||
|
|
1472
share/snmp/BRIDGE-MIB.txt
Normal file
1472
share/snmp/BRIDGE-MIB.txt
Normal file
File diff suppressed because it is too large
Load diff
1540
share/snmp/HOST-RESOURCES-MIB.txt
Normal file
1540
share/snmp/HOST-RESOURCES-MIB.txt
Normal file
File diff suppressed because it is too large
Load diff
102
share/snmp/IANA-RTPROTO-MIB.txt
Normal file
102
share/snmp/IANA-RTPROTO-MIB.txt
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
IANA-RTPROTO-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
|
||||||
|
TEXTUAL-CONVENTION FROM SNMPv2-TC;
|
||||||
|
|
||||||
|
ianaRtProtoMIB MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201604250000Z" -- April 25, 2016
|
||||||
|
ORGANIZATION "IANA"
|
||||||
|
CONTACT-INFO
|
||||||
|
" Internet Assigned Numbers Authority
|
||||||
|
Internet Corporation for Assigned Names and Numbers
|
||||||
|
12025 Waterfront Drive, Suite 300
|
||||||
|
Los Angeles, CA 90094-2536
|
||||||
|
|
||||||
|
Phone: +1 310 301 5800
|
||||||
|
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 "201604250000Z" -- April 25, 2016
|
||||||
|
DESCRIPTION "Corrected typographical error in revision date."
|
||||||
|
|
||||||
|
REVISION "201604060000Z" -- April 6, 2016
|
||||||
|
DESCRIPTION "Added ttdp(20)."
|
||||||
|
|
||||||
|
REVISION "201208300000Z" -- August 30, 2012
|
||||||
|
DESCRIPTION "Added dhcp(19)."
|
||||||
|
|
||||||
|
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]
|
||||||
|
dhcp (19), -- DHCP [RFC2132]
|
||||||
|
ttdp (20) -- Train Topology Discovery Protocol (TTDP) [IEC 61375-2-5]
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
67
share/snmp/IANA-STORAGE-MEDIA-TYPE-MIB.txt
Normal file
67
share/snmp/IANA-STORAGE-MEDIA-TYPE-MIB.txt
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
IANA-STORAGE-MEDIA-TYPE-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, mib-2
|
||||||
|
FROM SNMPv2-SMI
|
||||||
|
TEXTUAL-CONVENTION
|
||||||
|
FROM SNMPv2-TC;
|
||||||
|
|
||||||
|
ianaStorageMediaTypeMIB MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201510120000Z" -- 12 October 2015
|
||||||
|
ORGANIZATION "IANA"
|
||||||
|
CONTACT-INFO
|
||||||
|
"Internet Assigned Numbers Authority
|
||||||
|
Postal: ICANN
|
||||||
|
12025 Waterfront Drive, Suite 300
|
||||||
|
Los Angeles, CA 90094-2536
|
||||||
|
United States
|
||||||
|
Tel: +1 310-301-5800
|
||||||
|
Email: iana&iana.org"
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
"This MIB module defines Textual Conventions
|
||||||
|
representing the media type of a storage device.
|
||||||
|
|
||||||
|
Copyright (c) 2015 IETF Trust and the persons identified
|
||||||
|
as authors of the code. All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with
|
||||||
|
or without modification, is permitted pursuant to, and
|
||||||
|
subject to the license terms contained in, the
|
||||||
|
Simplified BSD License set forth in Section 4.c of the
|
||||||
|
IETF Trust's Legal Provisions Relating to IETF Documents
|
||||||
|
(http://trustee.ietf.org/license-info)."
|
||||||
|
|
||||||
|
REVISION "201510120000Z" -- 12 October 2015
|
||||||
|
DESCRIPTION
|
||||||
|
"The initial version of this MIB, published as
|
||||||
|
RFC 7666."
|
||||||
|
::= { mib-2 237 }
|
||||||
|
|
||||||
|
IANAStorageMediaType ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The media type of a storage device:
|
||||||
|
|
||||||
|
unknown(1) The media type is unknown, e.g., because
|
||||||
|
the implementation failed to obtain the
|
||||||
|
media type from the hypervisor.
|
||||||
|
|
||||||
|
other(2) The media type is other than those
|
||||||
|
defined in this conversion.
|
||||||
|
|
||||||
|
hardDisk(3) The media type is hard disk.
|
||||||
|
|
||||||
|
opticalDisk(4) The media type is optical disk.
|
||||||
|
|
||||||
|
floppyDisk(5) The media type is floppy disk."
|
||||||
|
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
other(1),
|
||||||
|
unknown(2),
|
||||||
|
hardDisk(3),
|
||||||
|
opticalDisk(4),
|
||||||
|
floppyDisk(5)
|
||||||
|
}
|
||||||
|
|
||||||
|
END
|
774
share/snmp/IANAifType-MIB.txt
Normal file
774
share/snmp/IANAifType-MIB.txt
Normal file
|
@ -0,0 +1,774 @@
|
||||||
|
IANAifType-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
|
||||||
|
TEXTUAL-CONVENTION FROM SNMPv2-TC;
|
||||||
|
|
||||||
|
ianaifType MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "202208170000Z" -- August 17, 2022
|
||||||
|
ORGANIZATION "IANA"
|
||||||
|
CONTACT-INFO " Internet Assigned Numbers Authority
|
||||||
|
|
||||||
|
Postal: ICANN
|
||||||
|
12025 Waterfront Drive, Suite 300
|
||||||
|
Los Angeles, CA 90094-2536
|
||||||
|
|
||||||
|
Tel: +1 310-301-5800
|
||||||
|
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 "202208170000Z" -- August 17, 2022
|
||||||
|
DESCRIPTION "Changed gpon description to refer to G.984."
|
||||||
|
|
||||||
|
REVISION "202105170000Z" -- May 17, 2021
|
||||||
|
DESCRIPTION "Registration of new IANAifType 303."
|
||||||
|
|
||||||
|
REVISION "202104230000Z" -- April 23, 2021
|
||||||
|
DESCRIPTION "Registration of new tunnelType 19 and
|
||||||
|
combined 2018-06-28 revision statements"
|
||||||
|
|
||||||
|
REVISION "202104220000Z" -- April 22, 2021
|
||||||
|
DESCRIPTION "Registration of new IANAifType 302."
|
||||||
|
|
||||||
|
REVISION "202102180000Z" -- February 18, 2021
|
||||||
|
DESCRIPTION "Registration of new IANAifType 301."
|
||||||
|
|
||||||
|
REVISION "202008270000Z" -- August 27, 2020
|
||||||
|
DESCRIPTION "Updated Interface Types (ifType) registry name."
|
||||||
|
|
||||||
|
REVISION "202007100000Z" -- July 10, 2020
|
||||||
|
DESCRIPTION "Registration of new IANAifType 300."
|
||||||
|
|
||||||
|
REVISION "202004020000Z" -- April 2, 2020
|
||||||
|
DESCRIPTION "Added reference to ifType definitions registry."
|
||||||
|
|
||||||
|
REVISION "202001100000Z" -- January 10, 2020
|
||||||
|
DESCRIPTION "Addition of IANAifType 299."
|
||||||
|
|
||||||
|
REVISION "201912030000Z" -- December 3, 2019
|
||||||
|
DESCRIPTION "Updated email address for IANA"
|
||||||
|
|
||||||
|
REVISION "201910160000Z" -- October 16, 2019
|
||||||
|
DESCRIPTION "Addition of IANAifTypes 297-298."
|
||||||
|
|
||||||
|
REVISION "201902140000Z" -- February 14, 2019
|
||||||
|
DESCRIPTION "Registration of new tunnelType 18."
|
||||||
|
|
||||||
|
REVISION "201902080000Z" -- February 8, 2019
|
||||||
|
DESCRIPTION "Added missing commas for 295-296."
|
||||||
|
|
||||||
|
REVISION "201901310000Z" -- January 31, 2019
|
||||||
|
DESCRIPTION "Registration of new IANAifTypes 295-296."
|
||||||
|
|
||||||
|
REVISION "201807040000Z" -- July 4, 2018
|
||||||
|
DESCRIPTION "Added missing commas for 291-293."
|
||||||
|
|
||||||
|
REVISION "201806280000Z" -- June 28, 2018
|
||||||
|
DESCRIPTION "Registration of new IANAifTypes 293-294."
|
||||||
|
|
||||||
|
REVISION "201806220000Z" -- June 22, 2018
|
||||||
|
DESCRIPTION "Registration of new IANAifType 292."
|
||||||
|
|
||||||
|
REVISION "201806210000Z" -- June 21, 2018
|
||||||
|
DESCRIPTION "Registration of new IANAifType 291."
|
||||||
|
|
||||||
|
REVISION "201703300000Z" -- March 30, 2017
|
||||||
|
DESCRIPTION "Registration of new IANAifType 290."
|
||||||
|
|
||||||
|
REVISION "201701190000Z" -- January 19, 2017
|
||||||
|
DESCRIPTION "Registration of new IANAifType 289."
|
||||||
|
|
||||||
|
REVISION "201611230000Z" -- November 23, 2016
|
||||||
|
DESCRIPTION "Registration of new IANAifTypes 283-288."
|
||||||
|
|
||||||
|
REVISION "201606160000Z" -- June 16, 2016
|
||||||
|
DESCRIPTION "Updated IANAtunnelType DESCRIPTION per RFC 7870"
|
||||||
|
|
||||||
|
REVISION "201606090000Z" -- June 9, 2016
|
||||||
|
DESCRIPTION "Registration of new IANAifType 282."
|
||||||
|
|
||||||
|
REVISION "201606080000Z" -- June 8, 2016
|
||||||
|
DESCRIPTION "Updated description for tunnelType 17."
|
||||||
|
|
||||||
|
REVISION "201605190000Z" -- May 19, 2016
|
||||||
|
DESCRIPTION "Updated description for tunnelType 16."
|
||||||
|
|
||||||
|
REVISION "201605030000Z" -- May 3, 2016
|
||||||
|
DESCRIPTION "Registration of new IANAifType 281."
|
||||||
|
|
||||||
|
REVISION "201604290000Z" -- April 29, 2016
|
||||||
|
DESCRIPTION "Registration of new tunnelTypes 16 and 17."
|
||||||
|
|
||||||
|
REVISION "201409240000Z" -- September 24, 2014
|
||||||
|
DESCRIPTION "Registration of new IANAifType 280."
|
||||||
|
|
||||||
|
REVISION "201409190000Z" -- September 19, 2014
|
||||||
|
DESCRIPTION "Registration of new IANAifType 279."
|
||||||
|
|
||||||
|
REVISION "201407030000Z" -- July 3, 2014
|
||||||
|
DESCRIPTION "Registration of new IANAifTypes 277-278."
|
||||||
|
|
||||||
|
REVISION "201405220000Z" -- May 22, 2014
|
||||||
|
DESCRIPTION "Updated contact info."
|
||||||
|
|
||||||
|
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.)
|
||||||
|
|
||||||
|
Interface types must not be directly added to the
|
||||||
|
IANAifType-MIB MIB module. They must instead be added
|
||||||
|
to the 'Interface Types (ifType)' registry at
|
||||||
|
https://www.iana.org/assignments/smi-numbers.
|
||||||
|
|
||||||
|
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.984
|
||||||
|
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
|
||||||
|
docsOfdmDownstream (277), -- CATV Downstream OFDM interface
|
||||||
|
docsOfdmaUpstream (278), -- CATV Upstream OFDMA interface
|
||||||
|
gfast (279), -- G.fast port
|
||||||
|
sdci (280), -- SDCI (IO-Link)
|
||||||
|
xboxWireless (281), -- Xbox wireless
|
||||||
|
fastdsl (282), -- FastDSL
|
||||||
|
docsCableScte55d1FwdOob (283), -- Cable SCTE 55-1 OOB Forward Channel
|
||||||
|
docsCableScte55d1RetOob (284), -- Cable SCTE 55-1 OOB Return Channel
|
||||||
|
docsCableScte55d2DsOob (285), -- Cable SCTE 55-2 OOB Downstream Channel
|
||||||
|
docsCableScte55d2UsOob (286), -- Cable SCTE 55-2 OOB Upstream Channel
|
||||||
|
docsCableNdf (287), -- Cable Narrowband Digital Forward
|
||||||
|
docsCableNdr (288), -- Cable Narrowband Digital Return
|
||||||
|
ptm (289), -- Packet Transfer Mode
|
||||||
|
ghn (290), -- G.hn port
|
||||||
|
otnOtsi (291), -- Optical Tributary Signal
|
||||||
|
otnOtuc (292), -- OTN OTUCn
|
||||||
|
otnOduc (293), -- OTN ODUC
|
||||||
|
otnOtsig (294), -- OTN OTUC Signal
|
||||||
|
microwaveCarrierTermination (295), -- air interface of a single microwave carrier
|
||||||
|
microwaveRadioLinkTerminal (296), -- radio link interface for one or several aggregated microwave carriers
|
||||||
|
ieee8021axDrni (297), -- IEEE 802.1AX Distributed Resilient Network Interface
|
||||||
|
ax25 (298), -- AX.25 network interfaces
|
||||||
|
ieee19061nanocom (299), -- Nanoscale and Molecular Communication
|
||||||
|
cpri (300), -- Common Public Radio Interface
|
||||||
|
omni (301), -- Overlay Multilink Network Interface (OMNI)
|
||||||
|
roe (302), -- Radio over Ethernet Interface
|
||||||
|
p2pOverLan (303) -- Point to Point over LAN interface
|
||||||
|
}
|
||||||
|
|
||||||
|
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 IP Tunnel MIB [RFC4087] is designed to manage
|
||||||
|
tunnels of any type over IPv4 and IPv6 networks;
|
||||||
|
therefore, it already supports IP-in-IP tunnels.
|
||||||
|
But in a DS-Lite scenario, the tunnel type is
|
||||||
|
point-to-multipoint IP-in-IP tunnels. The direct(2)
|
||||||
|
defined in the IP Tunnel MIB only supports point-to-point
|
||||||
|
tunnels. So, it needs to define a new tunnel type for
|
||||||
|
DS-Lite.
|
||||||
|
|
||||||
|
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
|
||||||
|
softwireMesh(16), -- softwire mesh tunnel
|
||||||
|
dsLite(17), -- DS-Lite tunnel
|
||||||
|
aplusp(18), -- A+P encapsulation
|
||||||
|
ipsectunnelmode(19) -- IpSec tunnel mode encapsulation
|
||||||
|
}
|
||||||
|
|
||||||
|
END
|
1814
share/snmp/IF-MIB.txt
Normal file
1814
share/snmp/IF-MIB.txt
Normal file
File diff suppressed because it is too large
Load diff
402
share/snmp/INET-ADDRESS-MIB.txt
Normal file
402
share/snmp/INET-ADDRESS-MIB.txt
Normal file
|
@ -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
|
1277
share/snmp/IP-FORWARD-MIB.txt
Normal file
1277
share/snmp/IP-FORWARD-MIB.txt
Normal file
File diff suppressed because it is too large
Load diff
4993
share/snmp/IP-MIB.txt
Normal file
4993
share/snmp/IP-MIB.txt
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,10 +1,20 @@
|
||||||
# $OpenBSD: Makefile,v 1.7 2019/12/21 21:40:00 espie Exp $
|
# $OpenBSD: Makefile,v 1.8 2024/02/05 11:46:58 martijn Exp $
|
||||||
|
|
||||||
|
# OpenBSD
|
||||||
FILES= OPENBSD-SNMPD-CONF.txt OPENBSD-BASE-MIB.txt
|
FILES= OPENBSD-SNMPD-CONF.txt OPENBSD-BASE-MIB.txt
|
||||||
FILES+= OPENBSD-MEM-MIB.txt OPENBSD-SENSORS-MIB.txt
|
FILES+= OPENBSD-MEM-MIB.txt OPENBSD-SENSORS-MIB.txt
|
||||||
FILES+= OPENBSD-CARP-MIB.txt OPENBSD-PF-MIB.txt
|
FILES+= OPENBSD-CARP-MIB.txt OPENBSD-PF-MIB.txt
|
||||||
FILES+= OPENBSD-RELAYD-MIB.txt
|
FILES+= OPENBSD-RELAYD-MIB.txt
|
||||||
|
|
||||||
|
# IANA/IETF
|
||||||
|
FILES+= BRIDGE-MIB.txt HOST-RESOURCES-MIB.txt IANA-RTPROTO-MIB.txt
|
||||||
|
FILES+= IANA-STORAGE-MEDIA-TYPE-MIB.txt IANAifType-MIB.txt IF-MIB.txt
|
||||||
|
FILES+= INET-ADDRESS-MIB.txt IP-FORWARD-MIB.txt IP-MIB.txt
|
||||||
|
FILES+= SNMP-FRAMEWORK-MIB.txt SNMP-USER-BASED-SM-MIB.txt SNMP-USM-AES-MIB.txt
|
||||||
|
FILES+= SNMP-USM-HMAC-SHA2-MIB.txt SNMPv2-CONF.txt SNMPv2-MIB.txt SNMPv2-SMI.txt
|
||||||
|
FILES+= SNMPv2-TC.txt SNMPv2-TM.txt TRANSPORT-ADDRESS-MIB.txt UUID-TC-MIB.txt
|
||||||
|
FILES+= VM-MIB.txt
|
||||||
|
|
||||||
all clean cleandir obj tags: _SUBDIRUSE
|
all clean cleandir obj tags: _SUBDIRUSE
|
||||||
|
|
||||||
realinstall:
|
realinstall:
|
||||||
|
|
526
share/snmp/SNMP-FRAMEWORK-MIB.txt
Normal file
526
share/snmp/SNMP-FRAMEWORK-MIB.txt
Normal file
|
@ -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
|
912
share/snmp/SNMP-USER-BASED-SM-MIB.txt
Normal file
912
share/snmp/SNMP-USER-BASED-SM-MIB.txt
Normal file
|
@ -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
|
62
share/snmp/SNMP-USM-AES-MIB.txt
Normal file
62
share/snmp/SNMP-USM-AES-MIB.txt
Normal file
|
@ -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
|
103
share/snmp/SNMP-USM-HMAC-SHA2-MIB.txt
Normal file
103
share/snmp/SNMP-USM-HMAC-SHA2-MIB.txt
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
SNMP-USM-HMAC-SHA2-MIB DEFINITIONS ::= BEGIN
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, OBJECT-IDENTITY,
|
||||||
|
mib-2 FROM SNMPv2-SMI -- RFC 2578
|
||||||
|
snmpAuthProtocols FROM SNMP-FRAMEWORK-MIB; -- RFC 3411
|
||||||
|
|
||||||
|
snmpUsmHmacSha2MIB MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201604180000Z" -- 18 April 2016, midnight
|
||||||
|
ORGANIZATION "SNMPv3 Working Group"
|
||||||
|
CONTACT-INFO "WG email: OPSAWG@ietf.org
|
||||||
|
Subscribe:
|
||||||
|
https://www.ietf.org/mailman/listinfo/opsawg
|
||||||
|
Editor: Johannes Merkle
|
||||||
|
secunet Security Networks
|
||||||
|
Postal: Mergenthaler Allee 77
|
||||||
|
D-65760 Eschborn
|
||||||
|
Germany
|
||||||
|
Phone: +49 20154543091
|
||||||
|
Email: johannes.merkle@secunet.com
|
||||||
|
|
||||||
|
Co-Editor: Manfred Lochter
|
||||||
|
Bundesamt fuer Sicherheit in der
|
||||||
|
Informationstechnik (BSI)
|
||||||
|
Postal: Postfach 200363
|
||||||
|
D-53133 Bonn
|
||||||
|
Germany
|
||||||
|
Phone: +49 228 9582 5643
|
||||||
|
Email: manfred.lochter@bsi.bund.de"
|
||||||
|
DESCRIPTION
|
||||||
|
"Definitions of Object Identities needed for the use of
|
||||||
|
HMAC-SHA2 Authentication Protocols by SNMP's User-based Security
|
||||||
|
Model.
|
||||||
|
|
||||||
|
Copyright (c) 2016 IETF Trust and the persons identified as
|
||||||
|
authors of the code. All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or
|
||||||
|
without modification, is permitted pursuant to, and subject
|
||||||
|
to the license terms contained in, the Simplified BSD License
|
||||||
|
set forth in Section 4.c of the IETF Trust's Legal Provisions
|
||||||
|
|
||||||
|
Relating to IETF Documents
|
||||||
|
(http://trustee.ietf.org/license-info)."
|
||||||
|
|
||||||
|
REVISION "201604180000Z" -- 18 April 2016, midnight
|
||||||
|
DESCRIPTION
|
||||||
|
"Version correcting the MODULE-IDENTITY value,
|
||||||
|
published as RFC 7860"
|
||||||
|
|
||||||
|
REVISION "201510140000Z" -- 14 October 2015, midnight
|
||||||
|
DESCRIPTION
|
||||||
|
"Initial version, published as RFC 7630"
|
||||||
|
::= { mib-2 235 }
|
||||||
|
|
||||||
|
usmHMAC128SHA224AuthProtocol OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The Authentication Protocol
|
||||||
|
usmHMAC128SHA224AuthProtocol uses HMAC-SHA-224 and
|
||||||
|
truncates output to 128 bits."
|
||||||
|
REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
|
||||||
|
HMAC: Keyed-Hashing for Message Authentication,
|
||||||
|
RFC 2104.
|
||||||
|
- National Institute of Standards and Technology,
|
||||||
|
Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
|
||||||
|
::= { snmpAuthProtocols 4 }
|
||||||
|
|
||||||
|
usmHMAC192SHA256AuthProtocol OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The Authentication Protocol
|
||||||
|
usmHMAC192SHA256AuthProtocol uses HMAC-SHA-256 and
|
||||||
|
truncates output to 192 bits."
|
||||||
|
REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
|
||||||
|
HMAC: Keyed-Hashing for Message Authentication,
|
||||||
|
RFC 2104.
|
||||||
|
- National Institute of Standards and Technology,
|
||||||
|
Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
|
||||||
|
::= { snmpAuthProtocols 5 }
|
||||||
|
|
||||||
|
usmHMAC256SHA384AuthProtocol OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The Authentication Protocol
|
||||||
|
usmHMAC256SHA384AuthProtocol uses HMAC-SHA-384 and
|
||||||
|
truncates output to 256 bits."
|
||||||
|
REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
|
||||||
|
HMAC: Keyed-Hashing for Message Authentication,
|
||||||
|
RFC 2104.
|
||||||
|
- National Institute of Standards and Technology,
|
||||||
|
Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
|
||||||
|
::= { snmpAuthProtocols 6 }
|
||||||
|
|
||||||
|
usmHMAC384SHA512AuthProtocol OBJECT-IDENTITY
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION "The Authentication Protocol
|
||||||
|
usmHMAC384SHA512AuthProtocol uses HMAC-SHA-512 and
|
||||||
|
truncates output to 384 bits."
|
||||||
|
REFERENCE "- Krawczyk, H., Bellare, M., and R. Canetti,
|
||||||
|
HMAC: Keyed-Hashing for Message Authentication,
|
||||||
|
RFC 2104.
|
||||||
|
- National Institute of Standards and Technology,
|
||||||
|
Secure Hash Standard (SHS), FIPS PUB 180-4, 2012."
|
||||||
|
::= { snmpAuthProtocols 7 }
|
||||||
|
|
||||||
|
END
|
322
share/snmp/SNMPv2-CONF.txt
Normal file
322
share/snmp/SNMPv2-CONF.txt
Normal file
|
@ -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
|
854
share/snmp/SNMPv2-MIB.txt
Normal file
854
share/snmp/SNMPv2-MIB.txt
Normal file
|
@ -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
|
344
share/snmp/SNMPv2-SMI.txt
Normal file
344
share/snmp/SNMPv2-SMI.txt
Normal file
|
@ -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
|
772
share/snmp/SNMPv2-TC.txt
Normal file
772
share/snmp/SNMPv2-TC.txt
Normal file
|
@ -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
|
176
share/snmp/SNMPv2-TM.txt
Normal file
176
share/snmp/SNMPv2-TM.txt
Normal file
|
@ -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
|
421
share/snmp/TRANSPORT-ADDRESS-MIB.txt
Normal file
421
share/snmp/TRANSPORT-ADDRESS-MIB.txt
Normal file
|
@ -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
|
86
share/snmp/UUID-TC-MIB.txt
Normal file
86
share/snmp/UUID-TC-MIB.txt
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
UUID-TC-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, mib-2
|
||||||
|
FROM SNMPv2-SMI -- RFC 2578
|
||||||
|
TEXTUAL-CONVENTION
|
||||||
|
FROM SNMPv2-TC -- RFC 2579
|
||||||
|
;
|
||||||
|
|
||||||
|
uuidTCMIB MODULE-IDENTITY
|
||||||
|
|
||||||
|
LAST-UPDATED "201304050000Z" -- April 5, 2013
|
||||||
|
ORGANIZATION "IETF Energy Management Working Group"
|
||||||
|
CONTACT-INFO "WG Email: eman@ietf.org
|
||||||
|
Mailing list subscription info:
|
||||||
|
http://www.ietf.org/mailman/listinfo/eman
|
||||||
|
|
||||||
|
Dan Romascanu
|
||||||
|
Avaya
|
||||||
|
Park Atidim, Bldg. #3
|
||||||
|
Tel Aviv, 61581
|
||||||
|
Israel
|
||||||
|
Phone: +972-3-6458414
|
||||||
|
Email: dromasca@avaya.com
|
||||||
|
|
||||||
|
Juergen Quittek
|
||||||
|
NEC Europe Ltd.
|
||||||
|
Network Research Division
|
||||||
|
Kurfuersten-Anlage 36
|
||||||
|
Heidelberg 69115
|
||||||
|
Germany
|
||||||
|
Phone: +49 6221 4342-115
|
||||||
|
Email: quittek@neclab.eu
|
||||||
|
|
||||||
|
Mouli Chandramouli
|
||||||
|
Cisco Systems, Inc.
|
||||||
|
Sarjapur Outer Ring Road
|
||||||
|
Bangalore 560103
|
||||||
|
India
|
||||||
|
Phone: +91 80 4429 2409
|
||||||
|
Email: moulchan@cisco.com"
|
||||||
|
DESCRIPTION
|
||||||
|
"This MIB module defines TEXTUAL-CONVENTIONs
|
||||||
|
representing Universally Unique IDentifiers
|
||||||
|
(UUIDs).
|
||||||
|
|
||||||
|
Copyright (c) 2013 IETF Trust and the persons
|
||||||
|
identified as authors of the code. All rights
|
||||||
|
reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms,
|
||||||
|
with or without modification, is permitted
|
||||||
|
pursuant to, and subject to the license terms
|
||||||
|
contained in, the Simplified BSD License set forth
|
||||||
|
in Section 4.c of the IETF Trust's Legal
|
||||||
|
Provisions Relating to IETF Documents
|
||||||
|
(http://trustee.ietf.org/license-info)."
|
||||||
|
|
||||||
|
REVISION "201304050000Z" -- April 5, 2013
|
||||||
|
DESCRIPTION "Initial version of this MIB as published in
|
||||||
|
RFC 6933."
|
||||||
|
::= { mib-2 217 }
|
||||||
|
|
||||||
|
-- Textual Conventions
|
||||||
|
|
||||||
|
UUID ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "4x-2x-2x-1x1x-6x"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Universally Unique Identifier information. The syntax must
|
||||||
|
conform to RFC 4122, Section 4.1."
|
||||||
|
SYNTAX OCTET STRING (SIZE (16))
|
||||||
|
|
||||||
|
UUIDorZero ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "4x-2x-2x-1x1x-6x"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Universally Unique Identifier information. The syntax must
|
||||||
|
conform to RFC 4122, Section 4.1.
|
||||||
|
|
||||||
|
The semantics of the value zero-length OCTET STRING are
|
||||||
|
object-specific and must therefore be defined as part of
|
||||||
|
the description of any object that uses this syntax."
|
||||||
|
SYNTAX OCTET STRING (SIZE (0|16))
|
||||||
|
|
||||||
|
END
|
1673
share/snmp/VM-MIB.txt
Normal file
1673
share/snmp/VM-MIB.txt
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,4 @@
|
||||||
# $OpenBSD: africa,v 1.74 2024/01/02 22:43:20 millert Exp $
|
# $OpenBSD: africa,v 1.75 2024/02/05 17:07:23 millert Exp $
|
||||||
# tzdb data for Africa and environs
|
# tzdb data for Africa and environs
|
||||||
|
|
||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
|
@ -31,6 +31,10 @@
|
||||||
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
||||||
# https://www.jstor.org/stable/1774359
|
# https://www.jstor.org/stable/1774359
|
||||||
#
|
#
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
|
#
|
||||||
# European-style abbreviations are commonly used along the Mediterranean.
|
# European-style abbreviations are commonly used along the Mediterranean.
|
||||||
# For sub-Saharan Africa abbreviations were less standardized.
|
# For sub-Saharan Africa abbreviations were less standardized.
|
||||||
# Previous editions of this database used WAT, CAT, SAT, and EAT
|
# Previous editions of this database used WAT, CAT, SAT, and EAT
|
||||||
|
@ -154,7 +158,7 @@ Zone Africa/Bangui 1:14:20 - LMT 1912
|
||||||
|
|
||||||
# Chad
|
# Chad
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
|
Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena
|
||||||
1:00 - WAT 1979 Oct 14
|
1:00 - WAT 1979 Oct 14
|
||||||
1:00 1:00 WAST 1980 Mar 8
|
1:00 1:00 WAST 1980 Mar 8
|
||||||
1:00 - WAT
|
1:00 - WAT
|
||||||
|
@ -189,7 +193,7 @@ Zone Africa/Brazzaville 1:01:08 - LMT 1912
|
||||||
# Inaccessible, Nightingale: uninhabited
|
# Inaccessible, Nightingale: uninhabited
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Africa/Abidjan -0:16:08 - LMT 1912
|
Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1
|
||||||
0:00 - GMT
|
0:00 - GMT
|
||||||
|
|
||||||
# Djibouti
|
# Djibouti
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $OpenBSD: asia,v 1.108 2024/01/02 22:43:20 millert Exp $
|
# $OpenBSD: asia,v 1.109 2024/02/05 17:07:23 millert Exp $
|
||||||
# tzdb data for Asia and environs
|
# tzdb data for Asia and environs
|
||||||
|
|
||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
|
@ -2479,18 +2479,33 @@ Zone Asia/Amman 2:23:44 - LMT 1931
|
||||||
# effective December 21st, 2018....
|
# effective December 21st, 2018....
|
||||||
# http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
|
# http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
|
||||||
|
|
||||||
|
# From Zhanbolat Raimbekov (2024-01-19):
|
||||||
|
# Kazakhstan (all parts) switching to UTC+5 on March 1, 2024
|
||||||
|
# https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru
|
||||||
|
# [in Russian]
|
||||||
|
# (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20
|
||||||
|
#
|
||||||
|
# From Alexander Krivenyshev (2024-01-19):
|
||||||
|
# According to a different news and the official web site for the Ministry of
|
||||||
|
# Trade and Integration of the Republic of Kazakhstan:
|
||||||
|
# https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
#
|
#
|
||||||
# Almaty (formerly Alma-Ata), representing most locations in Kazakhstan
|
# Almaty (formerly Alma-Ata), representing most locations in Kazakhstan
|
||||||
# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA,
|
# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11),
|
||||||
# KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ.
|
# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71),
|
||||||
|
# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33),
|
||||||
|
# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55),
|
||||||
|
# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62).
|
||||||
Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata
|
Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata
|
||||||
5:00 - +05 1930 Jun 21
|
5:00 - +05 1930 Jun 21
|
||||||
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
|
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
|
||||||
5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
|
5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
|
||||||
6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
|
6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
|
||||||
6:00 - +06
|
6:00 - +06 2024 Mar 1 0:00
|
||||||
# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY)
|
5:00 - +05
|
||||||
|
# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43)
|
||||||
Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
|
Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
|
||||||
4:00 - +04 1930 Jun 21
|
4:00 - +04 1930 Jun 21
|
||||||
5:00 - +05 1981 Apr 1
|
5:00 - +05 1981 Apr 1
|
||||||
|
@ -2503,8 +2518,7 @@ Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
|
||||||
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
||||||
6:00 - +06 2018 Dec 21 0:00
|
6:00 - +06 2018 Dec 21 0:00
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
#
|
# Qostanay (aka Kostanay, Kustanay) (KZ-39)
|
||||||
# Qostanay (aka Kostanay, Kustanay) (KZ-KUS)
|
|
||||||
# The 1991/2 rules are unclear partly because of the 1997 Turgai
|
# The 1991/2 rules are unclear partly because of the 1997 Turgai
|
||||||
# reorganization.
|
# reorganization.
|
||||||
Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
|
Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
|
||||||
|
@ -2515,9 +2529,9 @@ Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
|
||||||
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
|
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
|
||||||
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
||||||
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
||||||
6:00 - +06
|
6:00 - +06 2024 Mar 1 0:00
|
||||||
|
5:00 - +05
|
||||||
# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT)
|
# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15)
|
||||||
Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
|
Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
|
||||||
4:00 - +04 1930 Jun 21
|
4:00 - +04 1930 Jun 21
|
||||||
5:00 - +05 1981 Apr 1
|
5:00 - +05 1981 Apr 1
|
||||||
|
@ -2527,7 +2541,7 @@ Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
|
||||||
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
|
||||||
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
# Mangghystaū (KZ-MAN)
|
# Mangghystaū (KZ-47)
|
||||||
# Aqtau was not founded until 1963, but it represents an inhabited region,
|
# Aqtau was not founded until 1963, but it represents an inhabited region,
|
||||||
# so include timestamps before 1963.
|
# so include timestamps before 1963.
|
||||||
Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
|
Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
|
||||||
|
@ -2539,7 +2553,7 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
|
||||||
5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s
|
5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s
|
||||||
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
# Atyraū (KZ-ATY) is like Mangghystaū except it switched from
|
# Atyraū (KZ-23) is like Mangghystaū except it switched from
|
||||||
# +04/+05 to +05/+06 in spring 1999, not fall 1994.
|
# +04/+05 to +05/+06 in spring 1999, not fall 1994.
|
||||||
Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
|
Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
|
||||||
3:00 - +03 1930 Jun 21
|
3:00 - +03 1930 Jun 21
|
||||||
|
@ -2550,7 +2564,7 @@ Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
|
||||||
5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
|
5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
|
||||||
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
|
||||||
5:00 - +05
|
5:00 - +05
|
||||||
# West Kazakhstan (KZ-ZAP)
|
# West Kazakhstan (KZ-27)
|
||||||
# From Paul Eggert (2016-03-18):
|
# From Paul Eggert (2016-03-18):
|
||||||
# The 1989 transition is from USSR act No. 227 (1989-03-14).
|
# The 1989 transition is from USSR act No. 227 (1989-03-14).
|
||||||
Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
|
Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
|
||||||
|
@ -3481,19 +3495,26 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
||||||
# ... winter time will begin in Palestine from Saturday 10-28-2023,
|
# ... winter time will begin in Palestine from Saturday 10-28-2023,
|
||||||
# 02:00 AM by 60 minutes back.
|
# 02:00 AM by 60 minutes back.
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2023-03-22):
|
# From Heba Hamad (2024-01-25):
|
||||||
|
# the summer time for the years 2024,2025 will begin in Palestine
|
||||||
|
# from Saturday at 02:00 AM by 60 minutes forward as shown below:
|
||||||
|
# year date
|
||||||
|
# 2024 2024-04-20
|
||||||
|
# 2025 2025-04-12
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2024-01-25):
|
||||||
# For now, guess that spring and fall transitions will normally
|
# For now, guess that spring and fall transitions will normally
|
||||||
# continue to use 2022's rules, that during DST Palestine will switch
|
# continue to use 2022's rules, that during DST Palestine will switch
|
||||||
# to standard time at 02:00 the last Saturday before Ramadan and back
|
# to standard time at 02:00 the last Saturday before Ramadan and back
|
||||||
# to DST at 02:00 the first Saturday after Ramadan, and that
|
# to DST at 02:00 the second Saturday after Ramadan, and that
|
||||||
# if the normal spring-forward or fall-back transition occurs during
|
# if the normal spring-forward or fall-back transition occurs during
|
||||||
# Ramadan the former is delayed and the latter advanced.
|
# Ramadan the former is delayed and the latter advanced.
|
||||||
# To implement this, I predicted Ramadan-oriented transition dates for
|
# To implement this, I predicted Ramadan-oriented transition dates for
|
||||||
# 2023 through 2086 by running the following program under GNU Emacs 28.2,
|
# 2026 through 2086 by running the following program under GNU Emacs 29.2,
|
||||||
# with the results integrated by hand into the table below.
|
# with the results integrated by hand into the table below.
|
||||||
# Predictions after 2086 are approximated without Ramadan.
|
# Predictions after 2086 are approximated without Ramadan.
|
||||||
#
|
#
|
||||||
# (let ((islamic-year 1444))
|
# (let ((islamic-year 1447))
|
||||||
# (require 'cal-islam)
|
# (require 'cal-islam)
|
||||||
# (while (< islamic-year 1510)
|
# (while (< islamic-year 1510)
|
||||||
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
|
||||||
|
@ -3502,6 +3523,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
|
||||||
# (while (/= saturday (mod (setq a (1- a)) 7)))
|
# (while (/= saturday (mod (setq a (1- a)) 7)))
|
||||||
# (while (/= saturday (mod b 7))
|
# (while (/= saturday (mod b 7))
|
||||||
# (setq b (1+ b)))
|
# (setq b (1+ b)))
|
||||||
|
# (setq b (+ 7 b))
|
||||||
# (setq a (calendar-gregorian-from-absolute a))
|
# (setq a (calendar-gregorian-from-absolute a))
|
||||||
# (setq b (calendar-gregorian-from-absolute b))
|
# (setq b (calendar-gregorian-from-absolute b))
|
||||||
# (insert
|
# (insert
|
||||||
|
@ -3552,84 +3574,84 @@ Rule Palestine 2021 only - Oct 29 1:00 0 -
|
||||||
Rule Palestine 2022 only - Mar 27 0:00 1:00 S
|
Rule Palestine 2022 only - Mar 27 0:00 1:00 S
|
||||||
Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 -
|
Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 -
|
||||||
Rule Palestine 2023 only - Apr 29 2:00 1:00 S
|
Rule Palestine 2023 only - Apr 29 2:00 1:00 S
|
||||||
Rule Palestine 2024 only - Apr 13 2:00 1:00 S
|
Rule Palestine 2024 only - Apr 20 2:00 1:00 S
|
||||||
Rule Palestine 2025 only - Apr 5 2:00 1:00 S
|
Rule Palestine 2025 only - Apr 12 2:00 1:00 S
|
||||||
Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S
|
Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S
|
||||||
Rule Palestine 2036 only - Oct 18 2:00 0 -
|
Rule Palestine 2036 only - Oct 18 2:00 0 -
|
||||||
Rule Palestine 2037 only - Oct 10 2:00 0 -
|
Rule Palestine 2037 only - Oct 10 2:00 0 -
|
||||||
Rule Palestine 2038 only - Sep 25 2:00 0 -
|
Rule Palestine 2038 only - Sep 25 2:00 0 -
|
||||||
Rule Palestine 2039 only - Sep 17 2:00 0 -
|
Rule Palestine 2039 only - Sep 17 2:00 0 -
|
||||||
Rule Palestine 2039 only - Oct 22 2:00 1:00 S
|
|
||||||
Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 -
|
|
||||||
Rule Palestine 2040 only - Sep 1 2:00 0 -
|
Rule Palestine 2040 only - Sep 1 2:00 0 -
|
||||||
Rule Palestine 2040 only - Oct 13 2:00 1:00 S
|
Rule Palestine 2040 only - Oct 20 2:00 1:00 S
|
||||||
|
Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 -
|
||||||
Rule Palestine 2041 only - Aug 24 2:00 0 -
|
Rule Palestine 2041 only - Aug 24 2:00 0 -
|
||||||
Rule Palestine 2041 only - Sep 28 2:00 1:00 S
|
Rule Palestine 2041 only - Oct 5 2:00 1:00 S
|
||||||
Rule Palestine 2042 only - Aug 16 2:00 0 -
|
Rule Palestine 2042 only - Aug 16 2:00 0 -
|
||||||
Rule Palestine 2042 only - Sep 20 2:00 1:00 S
|
Rule Palestine 2042 only - Sep 27 2:00 1:00 S
|
||||||
Rule Palestine 2043 only - Aug 1 2:00 0 -
|
Rule Palestine 2043 only - Aug 1 2:00 0 -
|
||||||
Rule Palestine 2043 only - Sep 12 2:00 1:00 S
|
Rule Palestine 2043 only - Sep 19 2:00 1:00 S
|
||||||
Rule Palestine 2044 only - Jul 23 2:00 0 -
|
Rule Palestine 2044 only - Jul 23 2:00 0 -
|
||||||
Rule Palestine 2044 only - Aug 27 2:00 1:00 S
|
Rule Palestine 2044 only - Sep 3 2:00 1:00 S
|
||||||
Rule Palestine 2045 only - Jul 15 2:00 0 -
|
Rule Palestine 2045 only - Jul 15 2:00 0 -
|
||||||
Rule Palestine 2045 only - Aug 19 2:00 1:00 S
|
Rule Palestine 2045 only - Aug 26 2:00 1:00 S
|
||||||
Rule Palestine 2046 only - Jun 30 2:00 0 -
|
Rule Palestine 2046 only - Jun 30 2:00 0 -
|
||||||
Rule Palestine 2046 only - Aug 11 2:00 1:00 S
|
Rule Palestine 2046 only - Aug 18 2:00 1:00 S
|
||||||
Rule Palestine 2047 only - Jun 22 2:00 0 -
|
Rule Palestine 2047 only - Jun 22 2:00 0 -
|
||||||
Rule Palestine 2047 only - Jul 27 2:00 1:00 S
|
Rule Palestine 2047 only - Aug 3 2:00 1:00 S
|
||||||
Rule Palestine 2048 only - Jun 6 2:00 0 -
|
Rule Palestine 2048 only - Jun 6 2:00 0 -
|
||||||
Rule Palestine 2048 only - Jul 18 2:00 1:00 S
|
Rule Palestine 2048 only - Jul 25 2:00 1:00 S
|
||||||
Rule Palestine 2049 only - May 29 2:00 0 -
|
Rule Palestine 2049 only - May 29 2:00 0 -
|
||||||
Rule Palestine 2049 only - Jul 3 2:00 1:00 S
|
Rule Palestine 2049 only - Jul 10 2:00 1:00 S
|
||||||
Rule Palestine 2050 only - May 21 2:00 0 -
|
Rule Palestine 2050 only - May 21 2:00 0 -
|
||||||
Rule Palestine 2050 only - Jun 25 2:00 1:00 S
|
Rule Palestine 2050 only - Jul 2 2:00 1:00 S
|
||||||
Rule Palestine 2051 only - May 6 2:00 0 -
|
Rule Palestine 2051 only - May 6 2:00 0 -
|
||||||
Rule Palestine 2051 only - Jun 17 2:00 1:00 S
|
Rule Palestine 2051 only - Jun 24 2:00 1:00 S
|
||||||
Rule Palestine 2052 only - Apr 27 2:00 0 -
|
Rule Palestine 2052 only - Apr 27 2:00 0 -
|
||||||
Rule Palestine 2052 only - Jun 1 2:00 1:00 S
|
Rule Palestine 2052 only - Jun 8 2:00 1:00 S
|
||||||
Rule Palestine 2053 only - Apr 12 2:00 0 -
|
Rule Palestine 2053 only - Apr 12 2:00 0 -
|
||||||
Rule Palestine 2053 only - May 24 2:00 1:00 S
|
Rule Palestine 2053 only - May 31 2:00 1:00 S
|
||||||
Rule Palestine 2054 only - Apr 4 2:00 0 -
|
Rule Palestine 2054 only - Apr 4 2:00 0 -
|
||||||
Rule Palestine 2054 only - May 16 2:00 1:00 S
|
Rule Palestine 2054 only - May 23 2:00 1:00 S
|
||||||
Rule Palestine 2055 only - May 1 2:00 1:00 S
|
Rule Palestine 2055 only - May 8 2:00 1:00 S
|
||||||
Rule Palestine 2056 only - Apr 22 2:00 1:00 S
|
Rule Palestine 2056 only - Apr 29 2:00 1:00 S
|
||||||
Rule Palestine 2057 only - Apr 7 2:00 1:00 S
|
Rule Palestine 2057 only - Apr 14 2:00 1:00 S
|
||||||
Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S
|
Rule Palestine 2058 only - Apr 6 2:00 1:00 S
|
||||||
|
Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S
|
||||||
Rule Palestine 2068 only - Oct 20 2:00 0 -
|
Rule Palestine 2068 only - Oct 20 2:00 0 -
|
||||||
Rule Palestine 2069 only - Oct 12 2:00 0 -
|
Rule Palestine 2069 only - Oct 12 2:00 0 -
|
||||||
Rule Palestine 2070 only - Oct 4 2:00 0 -
|
Rule Palestine 2070 only - Oct 4 2:00 0 -
|
||||||
Rule Palestine 2071 only - Sep 19 2:00 0 -
|
Rule Palestine 2071 only - Sep 19 2:00 0 -
|
||||||
Rule Palestine 2072 only - Sep 10 2:00 0 -
|
Rule Palestine 2072 only - Sep 10 2:00 0 -
|
||||||
Rule Palestine 2072 only - Oct 15 2:00 1:00 S
|
Rule Palestine 2072 only - Oct 22 2:00 1:00 S
|
||||||
Rule Palestine 2072 max - Oct Sat<=30 2:00 0 -
|
Rule Palestine 2072 max - Oct Sat<=30 2:00 0 -
|
||||||
Rule Palestine 2073 only - Sep 2 2:00 0 -
|
Rule Palestine 2073 only - Sep 2 2:00 0 -
|
||||||
Rule Palestine 2073 only - Oct 7 2:00 1:00 S
|
Rule Palestine 2073 only - Oct 14 2:00 1:00 S
|
||||||
Rule Palestine 2074 only - Aug 18 2:00 0 -
|
Rule Palestine 2074 only - Aug 18 2:00 0 -
|
||||||
Rule Palestine 2074 only - Sep 29 2:00 1:00 S
|
Rule Palestine 2074 only - Oct 6 2:00 1:00 S
|
||||||
Rule Palestine 2075 only - Aug 10 2:00 0 -
|
Rule Palestine 2075 only - Aug 10 2:00 0 -
|
||||||
Rule Palestine 2075 only - Sep 14 2:00 1:00 S
|
Rule Palestine 2075 only - Sep 21 2:00 1:00 S
|
||||||
Rule Palestine 2076 only - Jul 25 2:00 0 -
|
Rule Palestine 2076 only - Jul 25 2:00 0 -
|
||||||
Rule Palestine 2076 only - Sep 5 2:00 1:00 S
|
Rule Palestine 2076 only - Sep 12 2:00 1:00 S
|
||||||
Rule Palestine 2077 only - Jul 17 2:00 0 -
|
Rule Palestine 2077 only - Jul 17 2:00 0 -
|
||||||
Rule Palestine 2077 only - Aug 28 2:00 1:00 S
|
Rule Palestine 2077 only - Sep 4 2:00 1:00 S
|
||||||
Rule Palestine 2078 only - Jul 9 2:00 0 -
|
Rule Palestine 2078 only - Jul 9 2:00 0 -
|
||||||
Rule Palestine 2078 only - Aug 13 2:00 1:00 S
|
Rule Palestine 2078 only - Aug 20 2:00 1:00 S
|
||||||
Rule Palestine 2079 only - Jun 24 2:00 0 -
|
Rule Palestine 2079 only - Jun 24 2:00 0 -
|
||||||
Rule Palestine 2079 only - Aug 5 2:00 1:00 S
|
Rule Palestine 2079 only - Aug 12 2:00 1:00 S
|
||||||
Rule Palestine 2080 only - Jun 15 2:00 0 -
|
Rule Palestine 2080 only - Jun 15 2:00 0 -
|
||||||
Rule Palestine 2080 only - Jul 20 2:00 1:00 S
|
Rule Palestine 2080 only - Jul 27 2:00 1:00 S
|
||||||
Rule Palestine 2081 only - Jun 7 2:00 0 -
|
Rule Palestine 2081 only - Jun 7 2:00 0 -
|
||||||
Rule Palestine 2081 only - Jul 12 2:00 1:00 S
|
Rule Palestine 2081 only - Jul 19 2:00 1:00 S
|
||||||
Rule Palestine 2082 only - May 23 2:00 0 -
|
Rule Palestine 2082 only - May 23 2:00 0 -
|
||||||
Rule Palestine 2082 only - Jul 4 2:00 1:00 S
|
Rule Palestine 2082 only - Jul 11 2:00 1:00 S
|
||||||
Rule Palestine 2083 only - May 15 2:00 0 -
|
Rule Palestine 2083 only - May 15 2:00 0 -
|
||||||
Rule Palestine 2083 only - Jun 19 2:00 1:00 S
|
Rule Palestine 2083 only - Jun 26 2:00 1:00 S
|
||||||
Rule Palestine 2084 only - Apr 29 2:00 0 -
|
Rule Palestine 2084 only - Apr 29 2:00 0 -
|
||||||
Rule Palestine 2084 only - Jun 10 2:00 1:00 S
|
Rule Palestine 2084 only - Jun 17 2:00 1:00 S
|
||||||
Rule Palestine 2085 only - Apr 21 2:00 0 -
|
Rule Palestine 2085 only - Apr 21 2:00 0 -
|
||||||
Rule Palestine 2085 only - Jun 2 2:00 1:00 S
|
Rule Palestine 2085 only - Jun 9 2:00 1:00 S
|
||||||
Rule Palestine 2086 only - Apr 13 2:00 0 -
|
Rule Palestine 2086 only - Apr 13 2:00 0 -
|
||||||
Rule Palestine 2086 only - May 18 2:00 1:00 S
|
Rule Palestine 2086 only - May 25 2:00 1:00 S
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
|
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
|
||||||
|
@ -3657,7 +3679,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
|
||||||
|
|
||||||
# Philippines
|
# Philippines
|
||||||
|
|
||||||
# From Paul Eggert (2018-11-18):
|
# From Paul Eggert (2024-01-21):
|
||||||
# The Spanish initially used American (west-of-Greenwich) time.
|
# The Spanish initially used American (west-of-Greenwich) time.
|
||||||
# It is unknown what time Manila kept when the British occupied it from
|
# It is unknown what time Manila kept when the British occupied it from
|
||||||
# 1762-10-06 through 1764-04; for now assume it kept American time.
|
# 1762-10-06 through 1764-04; for now assume it kept American time.
|
||||||
|
@ -3665,7 +3687,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
|
||||||
# Philippines, issued a proclamation announcing that 1844-12-30 was to
|
# Philippines, issued a proclamation announcing that 1844-12-30 was to
|
||||||
# be immediately followed by 1845-01-01; see R.H. van Gent's
|
# be immediately followed by 1845-01-01; see R.H. van Gent's
|
||||||
# History of the International Date Line
|
# History of the International Date Line
|
||||||
# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm
|
# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm
|
||||||
# The rest of the data entries are from Shanks & Pottenger.
|
# The rest of the data entries are from Shanks & Pottenger.
|
||||||
|
|
||||||
# From Jesper Nørgaard Welen (2006-04-26):
|
# From Jesper Nørgaard Welen (2006-04-26):
|
||||||
|
@ -4082,7 +4104,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
|
||||||
# The English-language name of Vietnam's most populous city is "Ho Chi Minh
|
# The English-language name of Vietnam's most populous city is "Ho Chi Minh
|
||||||
# City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters.
|
# City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters.
|
||||||
|
|
||||||
# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân:
|
# From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngọc Quân
|
||||||
|
# and a 2024-01-14 heads-up from Đoàn Trần Công Danh:
|
||||||
# Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)"
|
# Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)"
|
||||||
# (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50,
|
# (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50,
|
||||||
# is quoted verbatim in:
|
# is quoted verbatim in:
|
||||||
|
@ -4120,6 +4143,27 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
|
||||||
#
|
#
|
||||||
# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
|
# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
|
||||||
# NXB Thuận Hoá, Huế, 1995.
|
# NXB Thuận Hoá, Huế, 1995.
|
||||||
|
#
|
||||||
|
# Here is the decision for the September 1945 transition:
|
||||||
|
# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13
|
||||||
|
# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none
|
||||||
|
# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07.
|
||||||
|
# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General)
|
||||||
|
# to set the time zone to +09, but does not say whether that decree
|
||||||
|
# merely legalized an earlier change to +09.
|
||||||
|
#
|
||||||
|
# July 1955 transition:
|
||||||
|
# Ngô Đình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781
|
||||||
|
# Ordinance (Dụ) No. 46 (1955-06-25)
|
||||||
|
# http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216
|
||||||
|
# It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07).
|
||||||
|
#
|
||||||
|
# December 1959 transition:
|
||||||
|
# Ngô Đình Diệm, Công Báo Việt Nam Cộng Hòa, 1960 part 1 (1960-01-02), page 62
|
||||||
|
# Decree (Sắc lệnh) No. 362-TTP (1959-12-30)
|
||||||
|
# http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202
|
||||||
|
# It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08).
|
||||||
|
|
||||||
|
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
#STDOFF 7:06:30.13
|
#STDOFF 7:06:30.13
|
||||||
|
@ -4127,9 +4171,9 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1
|
||||||
7:06:30 - PLMT 1911 May 1 # Phù Liễn MT
|
7:06:30 - PLMT 1911 May 1 # Phù Liễn MT
|
||||||
7:00 - +07 1942 Dec 31 23:00
|
7:00 - +07 1942 Dec 31 23:00
|
||||||
8:00 - +08 1945 Mar 14 23:00
|
8:00 - +08 1945 Mar 14 23:00
|
||||||
9:00 - +09 1945 Sep 2
|
9:00 - +09 1945 Sep 1 24:00
|
||||||
7:00 - +07 1947 Apr 1
|
7:00 - +07 1947 Apr 1
|
||||||
8:00 - +08 1955 Jul 1
|
8:00 - +08 1955 Jul 1 01:00
|
||||||
7:00 - +07 1959 Dec 31 23:00
|
7:00 - +07 1959 Dec 31 23:00
|
||||||
8:00 - +08 1975 Jun 13
|
8:00 - +08 1975 Jun 13
|
||||||
7:00 - +07
|
7:00 - +07
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $OpenBSD: australasia,v 1.78 2024/01/02 22:43:20 millert Exp $
|
# $OpenBSD: australasia,v 1.79 2024/02/05 17:07:23 millert Exp $
|
||||||
# tzdb data for Australasia and environs, and for much of the Pacific
|
# tzdb data for Australasia and environs, and for much of the Pacific
|
||||||
|
|
||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
|
@ -431,11 +431,11 @@ Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
|
||||||
|
|
||||||
# French Polynesia
|
# French Polynesia
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea
|
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea
|
||||||
-9:00 - -09
|
-9:00 - -09
|
||||||
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct
|
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1
|
||||||
-9:30 - -0930
|
-9:30 - -0930
|
||||||
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
|
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete
|
||||||
-10:00 - -10
|
-10:00 - -10
|
||||||
# Clipperton (near North America) is administered from French Polynesia;
|
# Clipperton (near North America) is administered from French Polynesia;
|
||||||
# it is uninhabited.
|
# it is uninhabited.
|
||||||
|
@ -844,7 +844,7 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
|
||||||
# Solomon Is
|
# Solomon Is
|
||||||
# excludes Bougainville, for which see Papua New Guinea
|
# excludes Bougainville, for which see Papua New Guinea
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
|
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara
|
||||||
11:00 - +11
|
11:00 - +11
|
||||||
|
|
||||||
# Tokelau
|
# Tokelau
|
||||||
|
@ -1026,6 +1026,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||||
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
|
||||||
# https://www.jstor.org/stable/1774359
|
# https://www.jstor.org/stable/1774359
|
||||||
#
|
#
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
|
#
|
||||||
# A reliable and entertaining source about time zones is
|
# A reliable and entertaining source about time zones is
|
||||||
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
|
||||||
#
|
#
|
||||||
|
@ -2102,7 +2106,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
|
||||||
# ordaining - by a masterpiece of diplomatic flattery - that
|
# ordaining - by a masterpiece of diplomatic flattery - that
|
||||||
# the Fourth of July should be celebrated twice in that year."
|
# the Fourth of July should be celebrated twice in that year."
|
||||||
# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20.
|
# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20.
|
||||||
# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm
|
# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm
|
||||||
|
|
||||||
# Although Shanks & Pottenger says they both switched to UT -11:30
|
# Although Shanks & Pottenger says they both switched to UT -11:30
|
||||||
# in 1911, and to -11 in 1950. many earlier sources give -11
|
# in 1911, and to -11 in 1950. many earlier sources give -11
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $OpenBSD: etcetera,v 1.21 2022/10/31 15:35:12 millert Exp $
|
# $OpenBSD: etcetera,v 1.22 2024/02/05 17:07:23 millert Exp $
|
||||||
# tzdb data for ships at sea and other miscellany
|
# tzdb data for ships at sea and other miscellany
|
||||||
|
|
||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
# These entries are for uses not otherwise covered by the tz database.
|
# These entries are for uses not otherwise covered by the tz database.
|
||||||
# Their main practical use is for platforms like Android that lack
|
# Their main practical use is for platforms like Android that lack
|
||||||
# support for POSIX-style TZ strings. On such platforms these entries
|
# support for POSIX.1-2017-style TZ strings. On such platforms these entries
|
||||||
# can be useful if the timezone database is wrong or if a ship or
|
# can be useful if the timezone database is wrong or if a ship or
|
||||||
# aircraft at sea is not in a timezone.
|
# aircraft at sea is not in a timezone.
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $OpenBSD: europe,v 1.91 2024/01/02 22:43:20 millert Exp $
|
# $OpenBSD: europe,v 1.92 2024/02/05 17:07:23 millert Exp $
|
||||||
# tzdb data for Europe and environs
|
# tzdb data for Europe and environs
|
||||||
|
|
||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
|
@ -1029,9 +1029,34 @@ Zone Europe/Zagreb 1:03:52 - LMT 1884
|
||||||
|
|
||||||
# Czech Republic (Czechia)
|
# Czech Republic (Czechia)
|
||||||
#
|
#
|
||||||
# From Paul Eggert (2018-04-15):
|
# From Ivan Benovic (2024-01-30):
|
||||||
# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15.
|
# https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/
|
||||||
|
# (This is an official link to the Czechoslovak Summer Time Act of
|
||||||
|
# March 8, 1946 that authorizes the Czechoslovak government to set the
|
||||||
|
# exact dates of change to summer time and back to Central European Time.
|
||||||
|
# The act also implicitly confirms Central European Time as the
|
||||||
|
# official time zone of Czechoslovakia and currently remains in force
|
||||||
|
# in both the Czech Republic and Slovakia.)
|
||||||
|
# https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm
|
||||||
|
# (This is a link to the original legislative proposal dating back to
|
||||||
|
# February 22, 1946. The accompanying memorandum to the proposal says
|
||||||
|
# that an advisory committee on European railroad transportation that
|
||||||
|
# met in Brussels in October 1945 decided that the change of time
|
||||||
|
# should be carried out in all participating countries in a strictly
|
||||||
|
# coordinated manner....)
|
||||||
|
#
|
||||||
|
# From Paul Eggert (2024-01-30):
|
||||||
|
# The source for Czech data is: Kdy začíná a končí letní čas.
|
||||||
# https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas
|
# https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas
|
||||||
|
# Its main text disagrees with its quoted sources only in 1918,
|
||||||
|
# where the main text says spring and autumn transitions
|
||||||
|
# occurred at 02:00 and 03:00 respectively (as usual),
|
||||||
|
# whereas the 1918 source "Oznámení o zavedení letního času v roce 1918"
|
||||||
|
# says transitions were at 01:00 and 02:00 respectively.
|
||||||
|
# As the 1918 source appears to be a humorous piece, and it is
|
||||||
|
# unlikely that Prague would have disagreed with its neighbors by an hour,
|
||||||
|
# go with the main text for now.
|
||||||
|
#
|
||||||
# We know of no English-language name for historical Czech winter time;
|
# We know of no English-language name for historical Czech winter time;
|
||||||
# abbreviate it as "GMT", as it happened to be GMT.
|
# abbreviate it as "GMT", as it happened to be GMT.
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,214 +1,88 @@
|
||||||
# $OpenBSD: leap-seconds.list,v 1.2 2024/01/02 22:43:20 millert Exp $
|
# $OpenBSD: leap-seconds.list,v 1.3 2024/02/05 17:07:23 millert Exp $
|
||||||
|
# ATOMIC TIME.
|
||||||
|
# The Coordinated Universal Time (UTC) is the reference time scale derived
|
||||||
|
# from The "Temps Atomique International" (TAI) calculated by the Bureau
|
||||||
|
# International des Poids et Mesures (BIPM) using a worldwide network of atomic
|
||||||
|
# clocks. UTC differs from TAI by an integer number of seconds; it is the basis
|
||||||
|
# of all activities in the world.
|
||||||
#
|
#
|
||||||
# In the following text, the symbol '#' introduces
|
|
||||||
# a comment, which continues from that symbol until
|
|
||||||
# the end of the line. A plain comment line has a
|
|
||||||
# whitespace character following the comment indicator.
|
|
||||||
# There are also special comment lines defined below.
|
|
||||||
# A special comment will always have a non-whitespace
|
|
||||||
# character in column 2.
|
|
||||||
#
|
#
|
||||||
# A blank line should be ignored.
|
# ASTRONOMICAL TIME (UT1) is the time scale based on the rate of rotation of the earth.
|
||||||
|
# It is now mainly derived from Very Long Baseline Interferometry (VLBI). The various
|
||||||
|
# irregular fluctuations progressively detected in the rotation rate of the Earth lead
|
||||||
|
# in 1972 to the replacement of UT1 by UTC as the reference time scale.
|
||||||
#
|
#
|
||||||
# The following table shows the corrections that must
|
|
||||||
# be applied to compute International Atomic Time (TAI)
|
|
||||||
# from the Coordinated Universal Time (UTC) values that
|
|
||||||
# are transmitted by almost all time services.
|
|
||||||
#
|
#
|
||||||
# The first column shows an epoch as a number of seconds
|
# LEAP SECOND
|
||||||
# since 1 January 1900, 00:00:00 (1900.0 is also used to
|
# Atomic clocks are more stable than the rate of the earth rotation since the latter
|
||||||
# indicate the same epoch.) Both of these time stamp formats
|
# undergoes a full range of geophysical perturbations at various time scales: lunisolar
|
||||||
# ignore the complexities of the time scales that were
|
# and core-mantle torques, atmospheric and oceanic effetcs, etc.
|
||||||
# used before the current definition of UTC at the start
|
# Leap seconds are needed to keep the two time scales in agreement, i.e. UT1-UTC smaller
|
||||||
# of 1972. (See note 3 below.)
|
# than 0.9 second. Therefore, when necessary a "leap second" is applied to UTC.
|
||||||
# The second column shows the number of seconds that
|
# Since the adoption of this system in 1972 it has been necessary to add a number of seconds to UTC,
|
||||||
# must be added to UTC to compute TAI for any timestamp
|
# firstly due to the initial choice of the value of the second (1/86400 mean solar day of
|
||||||
# at or after that epoch. The value on each line is
|
# the year 1820) and secondly to the general slowing down of the Earth's rotation. It is
|
||||||
# valid from the indicated initial instant until the
|
# theorically possible to have a negative leap second (a second removed from UTC), but so far,
|
||||||
# epoch given on the next one or indefinitely into the
|
# all leap seconds have been positive (a second has been added to UTC). Based on what we know about
|
||||||
# future if there is no next line.
|
# the earth's rotation, it is unlikely that we will ever have a negative leap second.
|
||||||
# (The comment on each line shows the representation of
|
|
||||||
# the corresponding initial epoch in the usual
|
|
||||||
# day-month-year format. The epoch always begins at
|
|
||||||
# 00:00:00 UTC on the indicated day. See Note 5 below.)
|
|
||||||
#
|
#
|
||||||
# Important notes:
|
|
||||||
#
|
#
|
||||||
# 1. Coordinated Universal Time (UTC) is often referred to
|
# HISTORY
|
||||||
# as Greenwich Mean Time (GMT). The GMT time scale is no
|
# The first leap second was added on June 30, 1972. Until yhe year 2000, it was necessary in average to add a
|
||||||
# longer used, and the use of GMT to designate UTC is
|
# leap second at a rate of 1 to 2 years. Since the year 2000 leap seconds are introduced with an
|
||||||
# discouraged.
|
# average interval of 3 to 4 years due to the acceleration of the Earth rotation speed.
|
||||||
#
|
#
|
||||||
# 2. The UTC time scale is realized by many national
|
|
||||||
# laboratories and timing centers. Each laboratory
|
|
||||||
# identifies its realization with its name: Thus
|
|
||||||
# UTC(NIST), UTC(USNO), etc. The differences among
|
|
||||||
# these different realizations are typically on the
|
|
||||||
# order of a few nanoseconds (i.e., 0.000 000 00x s)
|
|
||||||
# and can be ignored for many purposes. These differences
|
|
||||||
# are tabulated in Circular T, which is published monthly
|
|
||||||
# by the International Bureau of Weights and Measures
|
|
||||||
# (BIPM). See www.bipm.org for more information.
|
|
||||||
#
|
#
|
||||||
# 3. The current definition of the relationship between UTC
|
# RESPONSABILITY OF THE DECISION TO INTRODUCE A LEAP SECOND IN UTC
|
||||||
# and TAI dates from 1 January 1972. A number of different
|
# The decision to introduce a leap second in UTC is the responsibility of the Earth Orientation Center of
|
||||||
# time scales were in use before that epoch, and it can be
|
# the International Earth Rotation and reference System Service (IERS). This center is located at Paris
|
||||||
# quite difficult to compute precise timestamps and time
|
# Observatory. According to international agreements, leap seconds should only be scheduled for certain dates:
|
||||||
# intervals in those "prehistoric" days. For more information,
|
# first preference is given to the end of December and June, and second preference at the end of March
|
||||||
# consult:
|
# and September. Since the introduction of leap seconds in 1972, only dates in June and December were used.
|
||||||
#
|
|
||||||
# The Explanatory Supplement to the Astronomical
|
|
||||||
# Ephemeris.
|
|
||||||
# or
|
|
||||||
# Terry Quinn, "The BIPM and the Accurate Measurement
|
|
||||||
# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
|
|
||||||
# July, 1991. <http://dx.doi.org/10.1109/5.84965>
|
|
||||||
# reprinted in:
|
|
||||||
# Christine Hackman and Donald B Sullivan (eds.)
|
|
||||||
# Time and Frequency Measurement
|
|
||||||
# American Association of Physics Teachers (1996)
|
|
||||||
# <http://tf.nist.gov/general/pdf/1168.pdf>, pp. 75-86
|
|
||||||
#
|
|
||||||
# 4. The decision to insert a leap second into UTC is currently
|
|
||||||
# the responsibility of the International Earth Rotation and
|
|
||||||
# Reference Systems Service. (The name was changed from the
|
|
||||||
# International Earth Rotation Service, but the acronym IERS
|
|
||||||
# is still used.)
|
|
||||||
#
|
|
||||||
# Leap seconds are announced by the IERS in its Bulletin C.
|
|
||||||
#
|
|
||||||
# See www.iers.org for more details.
|
|
||||||
#
|
|
||||||
# Every national laboratory and timing center uses the
|
|
||||||
# data from the BIPM and the IERS to construct UTC(lab),
|
|
||||||
# their local realization of UTC.
|
|
||||||
#
|
|
||||||
# Although the definition also includes the possibility
|
|
||||||
# of dropping seconds ("negative" leap seconds), this has
|
|
||||||
# never been done and is unlikely to be necessary in the
|
|
||||||
# foreseeable future.
|
|
||||||
#
|
|
||||||
# 5. If your system keeps time as the number of seconds since
|
|
||||||
# some epoch (e.g., NTP timestamps), then the algorithm for
|
|
||||||
# assigning a UTC time stamp to an event that happens during a positive
|
|
||||||
# leap second is not well defined. The official name of that leap
|
|
||||||
# second is 23:59:60, but there is no way of representing that time
|
|
||||||
# in these systems.
|
|
||||||
# Many systems of this type effectively stop the system clock for
|
|
||||||
# one second during the leap second and use a time that is equivalent
|
|
||||||
# to 23:59:59 UTC twice. For these systems, the corresponding TAI
|
|
||||||
# timestamp would be obtained by advancing to the next entry in the
|
|
||||||
# following table when the time equivalent to 23:59:59 UTC
|
|
||||||
# is used for the second time. Thus the leap second which
|
|
||||||
# occurred on 30 June 1972 at 23:59:59 UTC would have TAI
|
|
||||||
# timestamps computed as follows:
|
|
||||||
#
|
|
||||||
# ...
|
|
||||||
# 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds
|
|
||||||
# 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds
|
|
||||||
# 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds
|
|
||||||
# ...
|
|
||||||
#
|
|
||||||
# If your system realizes the leap second by repeating 00:00:00 UTC twice
|
|
||||||
# (this is possible but not usual), then the advance to the next entry
|
|
||||||
# in the table must occur the second time that a time equivalent to
|
|
||||||
# 00:00:00 UTC is used. Thus, using the same example as above:
|
|
||||||
#
|
|
||||||
# ...
|
|
||||||
# 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds
|
|
||||||
# 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds
|
|
||||||
# 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds
|
|
||||||
# ...
|
|
||||||
#
|
|
||||||
# in both cases the use of timestamps based on TAI produces a smooth
|
|
||||||
# time scale with no discontinuity in the time interval. However,
|
|
||||||
# although the long-term behavior of the time scale is correct in both
|
|
||||||
# methods, the second method is technically not correct because it adds
|
|
||||||
# the extra second to the wrong day.
|
|
||||||
#
|
|
||||||
# This complexity would not be needed for negative leap seconds (if they
|
|
||||||
# are ever used). The UTC time would skip 23:59:59 and advance from
|
|
||||||
# 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by
|
|
||||||
# 1 second at the same instant. This is a much easier situation to deal
|
|
||||||
# with, since the difficulty of unambiguously representing the epoch
|
|
||||||
# during the leap second does not arise.
|
|
||||||
#
|
|
||||||
# Some systems implement leap seconds by amortizing the leap second
|
|
||||||
# over the last few minutes of the day. The frequency of the local
|
|
||||||
# clock is decreased (or increased) to realize the positive (or
|
|
||||||
# negative) leap second. This method removes the time step described
|
|
||||||
# above. Although the long-term behavior of the time scale is correct
|
|
||||||
# in this case, this method introduces an error during the adjustment
|
|
||||||
# period both in time and in frequency with respect to the official
|
|
||||||
# definition of UTC.
|
|
||||||
#
|
#
|
||||||
# Questions or comments to:
|
# Questions or comments to:
|
||||||
# Judah Levine
|
# Christian Bizouard: christian.bizouard@obspm.fr
|
||||||
# Time and Frequency Division
|
# Earth orientation Center of the IERS
|
||||||
# NIST
|
# Paris Observatory, France
|
||||||
# Boulder, Colorado
|
|
||||||
# Judah.Levine@nist.gov
|
|
||||||
#
|
#
|
||||||
# Last Update of leap second values: 8 July 2016
|
|
||||||
#
|
#
|
||||||
# The following line shows this last update date in NTP timestamp
|
|
||||||
# format. This is the date on which the most recent change to
|
|
||||||
# the leap second data was added to the file. This line can
|
|
||||||
# be identified by the unique pair of characters in the first two
|
|
||||||
# columns as shown below.
|
|
||||||
#
|
#
|
||||||
#$ 3676924800
|
# COPYRIGHT STATUS OF THIS FILE
|
||||||
|
# This file is in the public domain.
|
||||||
#
|
#
|
||||||
# The NTP timestamps are in units of seconds since the NTP epoch,
|
|
||||||
# which is 1 January 1900, 00:00:00. The Modified Julian Day number
|
|
||||||
# corresponding to the NTP time stamp, X, can be computed as
|
|
||||||
#
|
#
|
||||||
# X/86400 + 15020
|
# VALIDITY OF THE FILE
|
||||||
|
# It is important to express the validity of the file. These next two dates are
|
||||||
|
# given in units of seconds since 1900.0.
|
||||||
#
|
#
|
||||||
# where the first term converts seconds to days and the second
|
# 1) Last update of the file.
|
||||||
# term adds the MJD corresponding to the time origin defined above.
|
|
||||||
# The integer portion of the result is the integer MJD for that
|
|
||||||
# day, and any remainder is the time of day, expressed as the
|
|
||||||
# fraction of the day since 0 hours UTC. The conversion from day
|
|
||||||
# fraction to seconds or to hours, minutes, and seconds may involve
|
|
||||||
# rounding or truncation, depending on the method used in the
|
|
||||||
# computation.
|
|
||||||
#
|
#
|
||||||
# The data in this file will be updated periodically as new leap
|
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
|
||||||
# seconds are announced. In addition to being entered on the line
|
|
||||||
# above, the update time (in NTP format) will be added to the basic
|
|
||||||
# file name leap-seconds to form the name leap-seconds.<NTP TIME>.
|
|
||||||
# In addition, the generic name leap-seconds.list will always point to
|
|
||||||
# the most recent version of the file.
|
|
||||||
#
|
#
|
||||||
# This update procedure will be performed only when a new leap second
|
# The following line shows the last update of this file in NTP timestamp:
|
||||||
# is announced.
|
|
||||||
#
|
#
|
||||||
# The following entry specifies the expiration date of the data
|
#$ 3913697179
|
||||||
# in this file in units of seconds since the origin at the instant
|
|
||||||
# 1 January 1900, 00:00:00. This expiration date will be changed
|
|
||||||
# at least twice per year whether or not a new leap second is
|
|
||||||
# announced. These semi-annual changes will be made no later
|
|
||||||
# than 1 June and 1 December of each year to indicate what
|
|
||||||
# action (if any) is to be taken on 30 June and 31 December,
|
|
||||||
# respectively. (These are the customary effective dates for new
|
|
||||||
# leap seconds.) This expiration date will be identified by a
|
|
||||||
# unique pair of characters in columns 1 and 2 as shown below.
|
|
||||||
# In the unlikely event that a leap second is announced with an
|
|
||||||
# effective date other than 30 June or 31 December, then this
|
|
||||||
# file will be edited to include that leap second as soon as it is
|
|
||||||
# announced or at least one month before the effective date
|
|
||||||
# (whichever is later).
|
|
||||||
# If an announcement by the IERS specifies that no leap second is
|
|
||||||
# scheduled, then only the expiration date of the file will
|
|
||||||
# be advanced to show that the information in the file is still
|
|
||||||
# current -- the update time stamp, the data and the name of the file
|
|
||||||
# will not change.
|
|
||||||
#
|
#
|
||||||
# Updated through IERS Bulletin C66
|
# 2) Expiration date of the file given on a semi-annual basis: last June or last December
|
||||||
# File expires on: 28 June 2024
|
|
||||||
#
|
#
|
||||||
#@ 3928521600
|
# File expires on 28 December 2024
|
||||||
|
#
|
||||||
|
# Expire date in NTP timestamp:
|
||||||
|
#
|
||||||
|
#@ 3944332800
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# LIST OF LEAP SECONDS
|
||||||
|
# NTP timestamp (X parameter) is the number of seconds since 1900.0
|
||||||
|
#
|
||||||
|
# MJD: The Modified Julian Day number. MJD = X/86400 + 15020
|
||||||
|
#
|
||||||
|
# DTAI: The difference DTAI= TAI-UTC in units of seconds
|
||||||
|
# It is the quantity to add to UTC to get the time in TAI
|
||||||
|
#
|
||||||
|
# Day Month Year : epoch in clear
|
||||||
|
#
|
||||||
|
#NTP Time DTAI Day Month Year
|
||||||
#
|
#
|
||||||
2272060800 10 # 1 Jan 1972
|
2272060800 10 # 1 Jan 1972
|
||||||
2287785600 11 # 1 Jul 1972
|
2287785600 11 # 1 Jul 1972
|
||||||
|
@ -239,18 +113,9 @@
|
||||||
3644697600 36 # 1 Jul 2015
|
3644697600 36 # 1 Jul 2015
|
||||||
3692217600 37 # 1 Jan 2017
|
3692217600 37 # 1 Jan 2017
|
||||||
#
|
#
|
||||||
# the following special comment contains the
|
# A hash code has been generated to be able to verify the integrity
|
||||||
# hash value of the data in this file computed
|
# of this file. For more information about using this hash code,
|
||||||
# use the secure hash algorithm as specified
|
# please see the readme file in the 'source' directory :
|
||||||
# by FIPS 180-1. See the files in ~/pub/sha for
|
# https://hpiers.obspm.fr/iers/bul/bulc/ntp/sources/README
|
||||||
# the details of how this hash value is
|
|
||||||
# computed. Note that the hash computation
|
|
||||||
# ignores comments and whitespace characters
|
|
||||||
# in data lines. It includes the NTP values
|
|
||||||
# of both the last modification time and the
|
|
||||||
# expiration time of the file, but not the
|
|
||||||
# white space on those lines.
|
|
||||||
# the hash line is also ignored in the
|
|
||||||
# computation.
|
|
||||||
#
|
#
|
||||||
#h 16edd0f0 3666784f 37db6bdd e74ced87 59af48f1
|
#h 9dac5845 8acd32c0 2947d462 daf4a943 f58d9391
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $OpenBSD: northamerica,v 1.85 2024/01/02 22:43:20 millert Exp $
|
# $OpenBSD: northamerica,v 1.86 2024/02/05 17:07:23 millert Exp $
|
||||||
# tzdb data for North and Central America and environs
|
# tzdb data for North and Central America and environs
|
||||||
|
|
||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
|
@ -1269,6 +1269,10 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
|
||||||
# <http://cs.ucla.edu/~eggert/The-Waste-of-Daylight-19th.pdf>
|
# <http://cs.ucla.edu/~eggert/The-Waste-of-Daylight-19th.pdf>
|
||||||
# [PDF] (1914-03)
|
# [PDF] (1914-03)
|
||||||
#
|
#
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
|
#
|
||||||
# See the 'europe' file for Greenland.
|
# See the 'europe' file for Greenland.
|
||||||
|
|
||||||
# Canada
|
# Canada
|
||||||
|
@ -1355,7 +1359,7 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
|
||||||
# From Paul Eggert (2014-10-18):
|
# From Paul Eggert (2014-10-18):
|
||||||
# H. David Matthews and Mary Vincent's map
|
# H. David Matthews and Mary Vincent's map
|
||||||
# "It's about TIME", _Canadian Geographic_ (September-October 1998)
|
# "It's about TIME", _Canadian Geographic_ (September-October 1998)
|
||||||
# http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp
|
# https://web.archive.org/web/19990827055050/https://canadiangeographic.ca/SO98/geomap.htm
|
||||||
# contains detailed boundaries for regions observing nonstandard
|
# contains detailed boundaries for regions observing nonstandard
|
||||||
# time and daylight saving time arrangements in Canada circa 1998.
|
# time and daylight saving time arrangements in Canada circa 1998.
|
||||||
#
|
#
|
||||||
|
@ -1647,6 +1651,15 @@ Zone America/Blanc-Sablon -3:48:28 - LMT 1884
|
||||||
# Some cities in the United States have pushed the deadline back
|
# Some cities in the United States have pushed the deadline back
|
||||||
# three weeks and will change over from daylight saving in October.
|
# three weeks and will change over from daylight saving in October.
|
||||||
|
|
||||||
|
# From Chris Walton (2024-01-09):
|
||||||
|
# The [Toronto] changes in 1947, 1948, and 1949 took place at 2:00 a.m. local
|
||||||
|
# time instead of midnight.... Toronto Daily Star - ...
|
||||||
|
# April 2, 1947 - Page 39 ... April 7, 1948 - Page 13 ...
|
||||||
|
# April 2, 1949 - Page 1 ... April 7, 1949 - Page 24 ...
|
||||||
|
# November 25, 1949 - Page 52 ... April 21, 1950 - Page 14 ...
|
||||||
|
# September 19, 1950 - Page 46 ... September 20, 1950 - Page 3 ...
|
||||||
|
# November 24, 1950 - Page 21
|
||||||
|
|
||||||
# From Arthur David Olson (2010-07-17):
|
# From Arthur David Olson (2010-07-17):
|
||||||
#
|
#
|
||||||
# "Standard Time and Time Zones in Canada" appeared in
|
# "Standard Time and Time Zones in Canada" appeared in
|
||||||
|
@ -1708,13 +1721,9 @@ Rule Toronto 1927 1937 - Sep Sun>=25 2:00 0 S
|
||||||
Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D
|
Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D
|
||||||
Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D
|
Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D
|
||||||
Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S
|
Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S
|
||||||
Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S
|
Rule Toronto 1945 1948 - Sep lastSun 2:00 0 S
|
||||||
Rule Toronto 1946 only - Apr lastSun 2:00 1:00 D
|
Rule Toronto 1946 1973 - Apr lastSun 2:00 1:00 D
|
||||||
Rule Toronto 1947 1949 - Apr lastSun 0:00 1:00 D
|
Rule Toronto 1949 1950 - Nov lastSun 2:00 0 S
|
||||||
Rule Toronto 1947 1948 - Sep lastSun 0:00 0 S
|
|
||||||
Rule Toronto 1949 only - Nov lastSun 0:00 0 S
|
|
||||||
Rule Toronto 1950 1973 - Apr lastSun 2:00 1:00 D
|
|
||||||
Rule Toronto 1950 only - Nov lastSun 2:00 0 S
|
|
||||||
Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S
|
Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S
|
||||||
# Shanks & Pottenger say Toronto ended DST a week early in 1971,
|
# Shanks & Pottenger say Toronto ended DST a week early in 1971,
|
||||||
# namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this
|
# namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this
|
||||||
|
@ -3502,7 +3511,7 @@ Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston
|
||||||
# Martinique
|
# Martinique
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
|
Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
|
||||||
-4:04:20 - FFMT 1911 May # Fort-de-France MT
|
-4:04:20 - FFMT 1911 May 1 # Fort-de-France MT
|
||||||
-4:00 - AST 1980 Apr 6
|
-4:00 - AST 1980 Apr 6
|
||||||
-4:00 1:00 ADT 1980 Sep 28
|
-4:00 1:00 ADT 1980 Sep 28
|
||||||
-4:00 - AST
|
-4:00 - AST
|
||||||
|
@ -3605,7 +3614,7 @@ Zone America/St_Lucia -4:04:00 - LMT 1890 # Castries
|
||||||
# St Pierre and Miquelon
|
# St Pierre and Miquelon
|
||||||
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
|
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
|
Zone America/Miquelon -3:44:40 - LMT 1911 Jun 15 # St Pierre
|
||||||
-4:00 - AST 1980 May
|
-4:00 - AST 1980 May
|
||||||
-3:00 - -03 1987
|
-3:00 - -03 1987
|
||||||
-3:00 Canada -03/-02
|
-3:00 Canada -03/-02
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $OpenBSD: southamerica,v 1.80 2024/01/02 22:43:20 millert Exp $
|
# $OpenBSD: southamerica,v 1.81 2024/02/05 17:07:23 millert Exp $
|
||||||
# tzdb data for South America and environs
|
# tzdb data for South America and environs
|
||||||
|
|
||||||
# This file is in the public domain, so clarified as of
|
# This file is in the public domain, so clarified as of
|
||||||
|
@ -1584,8 +1584,11 @@ Zone Atlantic/Stanley -3:51:24 - LMT 1890
|
||||||
-3:00 - -03
|
-3:00 - -03
|
||||||
|
|
||||||
# French Guiana
|
# French Guiana
|
||||||
|
# For the 1911/1912 establishment of standard time in French possessions, see:
|
||||||
|
# Société Française de Physique, Recueil de constantes physiques (1913),
|
||||||
|
# page 752, 18b.
|
||||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||||
Zone America/Cayenne -3:29:20 - LMT 1911 Jul
|
Zone America/Cayenne -3:29:20 - LMT 1911 Jul 1
|
||||||
-4:00 - -04 1967 Oct
|
-4:00 - -04 1967 Oct
|
||||||
-3:00 - -03
|
-3:00 - -03
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generate zic format 'leapseconds' from NIST format 'leap-seconds.list'.
|
# Generate zic format 'leapseconds' from NIST/IERS format 'leap-seconds.list'.
|
||||||
|
|
||||||
# This file is in the public domain.
|
# This file is in the public domain.
|
||||||
|
|
||||||
|
@ -21,13 +21,10 @@ BEGIN {
|
||||||
print "# This file is in the public domain."
|
print "# This file is in the public domain."
|
||||||
print ""
|
print ""
|
||||||
print "# This file is generated automatically from the data in the public-domain"
|
print "# This file is generated automatically from the data in the public-domain"
|
||||||
print "# NIST format leap-seconds.list file, which can be copied from"
|
print "# NIST/IERS format leap-seconds.list file, which can be copied from"
|
||||||
print "# <ftp://ftp.nist.gov/pub/time/leap-seconds.list>"
|
|
||||||
print "# or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>."
|
|
||||||
print "# The NIST file is used instead of its IERS upstream counterpart"
|
|
||||||
print "# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>"
|
print "# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>"
|
||||||
print "# because under US law the NIST file is public domain"
|
print "# or, in a variant with different comments, from"
|
||||||
print "# whereas the IERS file's copyright and license status is unclear."
|
print "# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>."
|
||||||
print "# For more about leap-seconds.list, please see"
|
print "# For more about leap-seconds.list, please see"
|
||||||
print "# The NTP Timescale and Leap Seconds"
|
print "# The NTP Timescale and Leap Seconds"
|
||||||
print "# <https://www.eecis.udel.edu/~mills/leap.html>."
|
print "# <https://www.eecis.udel.edu/~mills/leap.html>."
|
||||||
|
|
|
@ -162,7 +162,7 @@ function make_line(n, field, \
|
||||||
# Process the input line LINE and save it for later output.
|
# Process the input line LINE and save it for later output.
|
||||||
|
|
||||||
function process_input_line(line, \
|
function process_input_line(line, \
|
||||||
f, field, end, i, n, r, startdef, \
|
f, field, end, n, outline, r, \
|
||||||
linkline, ruleline, zoneline)
|
linkline, ruleline, zoneline)
|
||||||
{
|
{
|
||||||
# Remove comments, normalize spaces, and append a space to each line.
|
# Remove comments, normalize spaces, and append a space to each line.
|
||||||
|
@ -199,8 +199,10 @@ function process_input_line(line, \
|
||||||
}
|
}
|
||||||
|
|
||||||
# Abbreviate "max", "min", "only" and month names.
|
# Abbreviate "max", "min", "only" and month names.
|
||||||
gsub(/ max /, " ma ", line)
|
# Although "max" and "min" can both be abbreviated to just "m",
|
||||||
gsub(/ min /, " mi ", line)
|
# the longer forms "ma" and "mi" are needed with zic 2023d and earlier.
|
||||||
|
gsub(/ max /, dataform == "vanguard" ? " m " : " ma ", line)
|
||||||
|
gsub(/ min /, dataform == "vanguard" ? " m " : " mi ", line)
|
||||||
gsub(/ only /, " o ", line)
|
gsub(/ only /, " o ", line)
|
||||||
gsub(/ Jan /, " Ja ", line)
|
gsub(/ Jan /, " Ja ", line)
|
||||||
gsub(/ Feb /, " F ", line)
|
gsub(/ Feb /, " F ", line)
|
||||||
|
@ -234,66 +236,96 @@ function process_input_line(line, \
|
||||||
rule_used[r] = 1
|
rule_used[r] = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# If this zone supersedes an earlier one, delete the earlier one
|
|
||||||
# from the saved output lines.
|
|
||||||
startdef = ""
|
|
||||||
if (zoneline)
|
if (zoneline)
|
||||||
zonename = startdef = field[2]
|
zonename = startdef = field[2]
|
||||||
else if (linkline)
|
else if (linkline)
|
||||||
zonename = startdef = field[3]
|
zonename = startdef = field[3]
|
||||||
else if (ruleline)
|
else if (ruleline)
|
||||||
zonename = ""
|
zonename = ""
|
||||||
if (startdef) {
|
|
||||||
i = zonedef[startdef]
|
|
||||||
if (i) {
|
|
||||||
do
|
|
||||||
output_line[i - 1] = ""
|
|
||||||
while (output_line[i++] ~ /^[-+0-9]/);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
zonedef[zonename] = nout + 1
|
|
||||||
|
|
||||||
# Save the line for later output.
|
# Save the information for later output.
|
||||||
output_line[nout++] = make_line(n, field)
|
outline = make_line(n, field)
|
||||||
|
if (ruleline)
|
||||||
|
rule_output_line[nrule_out++] = outline
|
||||||
|
else if (linkline) {
|
||||||
|
# In vanguard format with Gawk, links are output sorted by destination.
|
||||||
|
if (dataform == "vanguard" && PROCINFO["version"])
|
||||||
|
linkdef[zonename] = field[2]
|
||||||
|
else
|
||||||
|
link_output_line[nlink_out++] = outline
|
||||||
|
}else
|
||||||
|
zonedef[zonename] = (zoneline ? "" : zonedef[zonename] "\n") outline
|
||||||
}
|
}
|
||||||
|
|
||||||
function omit_unused_rules( \
|
function omit_unused_rules( \
|
||||||
i, field)
|
i, field)
|
||||||
{
|
{
|
||||||
for (i = 0; i < nout; i++) {
|
for (i = 0; i < nrule_out; i++) {
|
||||||
split(output_line[i], field)
|
split(rule_output_line[i], field)
|
||||||
if (field[1] == "R" && !rule_used[field[2]]) {
|
if (!rule_used[field[2]])
|
||||||
output_line[i] = ""
|
rule_output_line[i] = ""
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function abbreviate_rule_names( \
|
function abbreviate_rule_names( \
|
||||||
abbr, f, field, i, n, r)
|
abbr, f, field, i, n, newdef, newline, r, \
|
||||||
|
zoneline, zonelines, zonename)
|
||||||
{
|
{
|
||||||
for (i = 0; i < nout; i++) {
|
for (i = 0; i < nrule_out; i++) {
|
||||||
n = split(output_line[i], field)
|
n = split(rule_output_line[i], field)
|
||||||
if (n) {
|
if (n) {
|
||||||
f = field[1] == "Z" ? 4 : field[1] == "L" ? 0 : 2
|
r = field[2]
|
||||||
r = field[f]
|
|
||||||
if (r ~ /^[^-+0-9]/) {
|
if (r ~ /^[^-+0-9]/) {
|
||||||
abbr = rule[r]
|
abbr = rule[r]
|
||||||
if (!abbr) {
|
if (!abbr) {
|
||||||
rule[r] = abbr = gen_rule_name(r)
|
rule[r] = abbr = gen_rule_name(r)
|
||||||
}
|
}
|
||||||
field[f] = abbr
|
field[2] = abbr
|
||||||
output_line[i] = make_line(n, field)
|
rule_output_line[i] = make_line(n, field)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for (zonename in zonedef) {
|
||||||
|
zonelines = split(zonedef[zonename], zoneline, /\n/)
|
||||||
|
newdef = ""
|
||||||
|
for (i = 1; i <= zonelines; i++) {
|
||||||
|
newline = zoneline[i]
|
||||||
|
n = split(newline, field)
|
||||||
|
f = i == 1 ? 4 : 2
|
||||||
|
r = rule[field[f]]
|
||||||
|
if (r) {
|
||||||
|
field[f] = r
|
||||||
|
newline = make_line(n, field)
|
||||||
|
}
|
||||||
|
newdef = (newdef ? newdef "\n" : "") newline
|
||||||
|
}
|
||||||
|
zonedef[zonename] = newdef
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function output_saved_lines( \
|
function output_saved_lines( \
|
||||||
i)
|
i, zonename)
|
||||||
{
|
{
|
||||||
for (i = 0; i < nout; i++)
|
for (i = 0; i < nrule_out; i++)
|
||||||
if (output_line[i])
|
if (rule_output_line[i])
|
||||||
print output_line[i]
|
print rule_output_line[i]
|
||||||
|
|
||||||
|
# When using gawk, output zones sorted by name.
|
||||||
|
# This makes the output a bit more compressible.
|
||||||
|
PROCINFO["sorted_in"] = "@ind_str_asc"
|
||||||
|
for (zonename in zonedef)
|
||||||
|
print zonedef[zonename]
|
||||||
|
|
||||||
|
if (nlink_out)
|
||||||
|
for (i = 0; i < nlink_out; i++)
|
||||||
|
print link_output_line[i]
|
||||||
|
else {
|
||||||
|
# When using gawk, output links sorted by destination.
|
||||||
|
# This also helps compressibility a bit.
|
||||||
|
PROCINFO["sorted_in"] = "@val_type_asc"
|
||||||
|
for (zonename in linkdef)
|
||||||
|
printf "L %s %s\n", linkdef[zonename], zonename
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BEGIN {
|
BEGIN {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: if_qwx_pci.c,v 1.5 2024/02/03 20:07:19 kettenis Exp $ */
|
/* $OpenBSD: if_qwx_pci.c,v 1.6 2024/02/05 10:45:47 kettenis Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2023 Stefan Sperling <stsp@openbsd.org>
|
* Copyright 2023 Stefan Sperling <stsp@openbsd.org>
|
||||||
|
@ -3180,6 +3180,9 @@ qwx_mhi_ready_state_transition(struct qwx_pci_softc *psc)
|
||||||
void
|
void
|
||||||
qwx_mhi_ee_amss_state_transition(struct qwx_pci_softc *psc)
|
qwx_mhi_ee_amss_state_transition(struct qwx_pci_softc *psc)
|
||||||
{
|
{
|
||||||
|
/* XXX without this delay starting the channels may fail */
|
||||||
|
delay(1000);
|
||||||
|
|
||||||
qwx_mhi_start_channels(psc);
|
qwx_mhi_start_channels(psc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: mfii.c,v 1.89 2023/07/06 10:17:43 visa Exp $ */
|
/* $OpenBSD: mfii.c,v 1.90 2024/02/05 19:08:29 deraadt Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012 David Gwynne <dlg@openbsd.org>
|
* Copyright (c) 2012 David Gwynne <dlg@openbsd.org>
|
||||||
|
@ -600,6 +600,14 @@ const struct mfii_device mfii_devices[] = {
|
||||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_3416,
|
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_3416,
|
||||||
&mfii_iop_35 },
|
&mfii_iop_35 },
|
||||||
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_3516,
|
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_3516,
|
||||||
|
&mfii_iop_35 },
|
||||||
|
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_38XX,
|
||||||
|
&mfii_iop_35 },
|
||||||
|
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_38XX_2,
|
||||||
|
&mfii_iop_35 },
|
||||||
|
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_39XX,
|
||||||
|
&mfii_iop_35 },
|
||||||
|
{ PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_39XX_2,
|
||||||
&mfii_iop_35 }
|
&mfii_iop_35 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
$OpenBSD: pcidevs,v 1.2060 2023/12/03 00:14:53 jsg Exp $
|
$OpenBSD: pcidevs,v 1.2061 2024/02/05 19:07:45 deraadt Exp $
|
||||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -9177,6 +9177,10 @@ product SYMBIOS YELLOWFIN_1 0x0701 Yellowfin
|
||||||
product SYMBIOS YELLOWFIN_2 0x0702 Yellowfin
|
product SYMBIOS YELLOWFIN_2 0x0702 Yellowfin
|
||||||
product SYMBIOS 61C102 0x0901 61C102
|
product SYMBIOS 61C102 0x0901 61C102
|
||||||
product SYMBIOS 63C815 0x1000 63C815
|
product SYMBIOS 63C815 0x1000 63C815
|
||||||
|
product SYMBIOS MEGARAID_39XX 0x10e1 MegaRAID SAS39XX
|
||||||
|
product SYMBIOS MEGARAID_39XX_2 0x10e2 MegaRAID SAS39XX
|
||||||
|
product SYMBIOS MEGARAID_38XX 0x10e5 MegaRAID SAS38XX
|
||||||
|
product SYMBIOS MEGARAID_38XX_2 0x10e6 MegaRAID SAS38XX
|
||||||
product SYMBIOS 1030R 0x1030 53c1030R
|
product SYMBIOS 1030R 0x1030 53c1030R
|
||||||
product SYMBIOS MEGARAID 0x1960 MegaRAID
|
product SYMBIOS MEGARAID 0x1960 MegaRAID
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||||
*
|
*
|
||||||
* generated from:
|
* generated from:
|
||||||
* OpenBSD: pcidevs,v 1.2060 2023/12/03 00:14:53 jsg Exp
|
* OpenBSD: pcidevs,v 1.2061 2024/02/05 19:07:45 deraadt Exp
|
||||||
*/
|
*/
|
||||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||||
|
|
||||||
|
@ -9182,6 +9182,10 @@
|
||||||
#define PCI_PRODUCT_SYMBIOS_YELLOWFIN_2 0x0702 /* Yellowfin */
|
#define PCI_PRODUCT_SYMBIOS_YELLOWFIN_2 0x0702 /* Yellowfin */
|
||||||
#define PCI_PRODUCT_SYMBIOS_61C102 0x0901 /* 61C102 */
|
#define PCI_PRODUCT_SYMBIOS_61C102 0x0901 /* 61C102 */
|
||||||
#define PCI_PRODUCT_SYMBIOS_63C815 0x1000 /* 63C815 */
|
#define PCI_PRODUCT_SYMBIOS_63C815 0x1000 /* 63C815 */
|
||||||
|
#define PCI_PRODUCT_SYMBIOS_MEGARAID_39XX 0x10e1 /* MegaRAID SAS39XX */
|
||||||
|
#define PCI_PRODUCT_SYMBIOS_MEGARAID_39XX_2 0x10e2 /* MegaRAID SAS39XX */
|
||||||
|
#define PCI_PRODUCT_SYMBIOS_MEGARAID_38XX 0x10e5 /* MegaRAID SAS38XX */
|
||||||
|
#define PCI_PRODUCT_SYMBIOS_MEGARAID_38XX_2 0x10e6 /* MegaRAID SAS38XX */
|
||||||
#define PCI_PRODUCT_SYMBIOS_1030R 0x1030 /* 53c1030R */
|
#define PCI_PRODUCT_SYMBIOS_1030R 0x1030 /* 53c1030R */
|
||||||
#define PCI_PRODUCT_SYMBIOS_MEGARAID 0x1960 /* MegaRAID */
|
#define PCI_PRODUCT_SYMBIOS_MEGARAID 0x1960 /* MegaRAID */
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
|
||||||
*
|
*
|
||||||
* generated from:
|
* generated from:
|
||||||
* OpenBSD: pcidevs,v 1.2060 2023/12/03 00:14:53 jsg Exp
|
* OpenBSD: pcidevs,v 1.2061 2024/02/05 19:07:45 deraadt Exp
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
/* $NetBSD: pcidevs,v 1.30 1997/06/24 06:20:24 thorpej Exp $ */
|
||||||
|
@ -32995,6 +32995,22 @@ static const struct pci_known_product pci_known_products[] = {
|
||||||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_63C815,
|
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_63C815,
|
||||||
"63C815",
|
"63C815",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_39XX,
|
||||||
|
"MegaRAID SAS39XX",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_39XX_2,
|
||||||
|
"MegaRAID SAS39XX",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_38XX,
|
||||||
|
"MegaRAID SAS38XX",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_MEGARAID_38XX_2,
|
||||||
|
"MegaRAID SAS38XX",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_1030R,
|
PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_1030R,
|
||||||
"53c1030R",
|
"53c1030R",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: uipc_socket.c,v 1.316 2024/02/03 22:50:08 mvs Exp $ */
|
/* $OpenBSD: uipc_socket.c,v 1.317 2024/02/05 20:21:38 mvs Exp $ */
|
||||||
/* $NetBSD: uipc_socket.c,v 1.21 1996/02/04 02:17:52 christos Exp $ */
|
/* $NetBSD: uipc_socket.c,v 1.21 1996/02/04 02:17:52 christos Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1224,7 +1224,9 @@ sorflush(struct socket *so)
|
||||||
m = sb->sb_mb;
|
m = sb->sb_mb;
|
||||||
memset(&sb->sb_startzero, 0,
|
memset(&sb->sb_startzero, 0,
|
||||||
(caddr_t)&sb->sb_endzero - (caddr_t)&sb->sb_startzero);
|
(caddr_t)&sb->sb_endzero - (caddr_t)&sb->sb_startzero);
|
||||||
|
mtx_enter(&sb->sb_mtx);
|
||||||
sb->sb_timeo_nsecs = INFSLP;
|
sb->sb_timeo_nsecs = INFSLP;
|
||||||
|
mtx_leave(&sb->sb_mtx);
|
||||||
sbunlock(so, sb);
|
sbunlock(so, sb);
|
||||||
if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose)
|
if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose)
|
||||||
(*pr->pr_domain->dom_dispose)(m);
|
(*pr->pr_domain->dom_dispose)(m);
|
||||||
|
@ -1907,9 +1909,9 @@ sosetopt(struct socket *so, int level, int optname, struct mbuf *m)
|
||||||
if (nsecs == 0)
|
if (nsecs == 0)
|
||||||
nsecs = INFSLP;
|
nsecs = INFSLP;
|
||||||
|
|
||||||
solock(so);
|
mtx_enter(&sb->sb_mtx);
|
||||||
sb->sb_timeo_nsecs = nsecs;
|
sb->sb_timeo_nsecs = nsecs;
|
||||||
sounlock(so);
|
mtx_leave(&sb->sb_mtx);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2047,9 +2049,9 @@ sogetopt(struct socket *so, int level, int optname, struct mbuf *m)
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
uint64_t nsecs;
|
uint64_t nsecs;
|
||||||
|
|
||||||
solock_shared(so);
|
mtx_enter(&sb->sb_mtx);
|
||||||
nsecs = sb->sb_timeo_nsecs;
|
nsecs = sb->sb_timeo_nsecs;
|
||||||
sounlock_shared(so);
|
mtx_leave(&sb->sb_mtx);
|
||||||
|
|
||||||
m->m_len = sizeof(struct timeval);
|
m->m_len = sizeof(struct timeval);
|
||||||
memset(&tv, 0, sizeof(tv));
|
memset(&tv, 0, sizeof(tv));
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: uipc_socket2.c,v 1.141 2024/02/03 22:50:08 mvs Exp $ */
|
/* $OpenBSD: uipc_socket2.c,v 1.142 2024/02/05 20:21:38 mvs Exp $ */
|
||||||
/* $NetBSD: uipc_socket2.c,v 1.11 1996/02/04 02:17:55 christos Exp $ */
|
/* $NetBSD: uipc_socket2.c,v 1.11 1996/02/04 02:17:55 christos Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -216,10 +216,14 @@ sonewconn(struct socket *head, int connstatus, int wait)
|
||||||
goto fail;
|
goto fail;
|
||||||
so->so_snd.sb_wat = head->so_snd.sb_wat;
|
so->so_snd.sb_wat = head->so_snd.sb_wat;
|
||||||
so->so_snd.sb_lowat = head->so_snd.sb_lowat;
|
so->so_snd.sb_lowat = head->so_snd.sb_lowat;
|
||||||
|
mtx_enter(&head->so_snd.sb_mtx);
|
||||||
so->so_snd.sb_timeo_nsecs = head->so_snd.sb_timeo_nsecs;
|
so->so_snd.sb_timeo_nsecs = head->so_snd.sb_timeo_nsecs;
|
||||||
|
mtx_leave(&head->so_snd.sb_mtx);
|
||||||
so->so_rcv.sb_wat = head->so_rcv.sb_wat;
|
so->so_rcv.sb_wat = head->so_rcv.sb_wat;
|
||||||
so->so_rcv.sb_lowat = head->so_rcv.sb_lowat;
|
so->so_rcv.sb_lowat = head->so_rcv.sb_lowat;
|
||||||
|
mtx_enter(&head->so_rcv.sb_mtx);
|
||||||
so->so_rcv.sb_timeo_nsecs = head->so_rcv.sb_timeo_nsecs;
|
so->so_rcv.sb_timeo_nsecs = head->so_rcv.sb_timeo_nsecs;
|
||||||
|
mtx_leave(&head->so_rcv.sb_mtx);
|
||||||
|
|
||||||
sigio_copy(&so->so_sigio, &head->so_sigio);
|
sigio_copy(&so->so_sigio, &head->so_sigio);
|
||||||
|
|
||||||
|
@ -506,15 +510,17 @@ sosleep_nsec(struct socket *so, void *ident, int prio, const char *wmesg,
|
||||||
int
|
int
|
||||||
sbwait(struct socket *so, struct sockbuf *sb)
|
sbwait(struct socket *so, struct sockbuf *sb)
|
||||||
{
|
{
|
||||||
|
uint64_t timeo_nsecs;
|
||||||
int prio = (sb->sb_flags & SB_NOINTR) ? PSOCK : PSOCK | PCATCH;
|
int prio = (sb->sb_flags & SB_NOINTR) ? PSOCK : PSOCK | PCATCH;
|
||||||
|
|
||||||
soassertlocked(so);
|
soassertlocked(so);
|
||||||
|
|
||||||
mtx_enter(&sb->sb_mtx);
|
mtx_enter(&sb->sb_mtx);
|
||||||
|
timeo_nsecs = sb->sb_timeo_nsecs;
|
||||||
sb->sb_flags |= SB_WAIT;
|
sb->sb_flags |= SB_WAIT;
|
||||||
mtx_leave(&sb->sb_mtx);
|
mtx_leave(&sb->sb_mtx);
|
||||||
|
|
||||||
return sosleep_nsec(so, &sb->sb_cc, prio, "netio", sb->sb_timeo_nsecs);
|
return sosleep_nsec(so, &sb->sb_cc, prio, "netio", timeo_nsecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: if.c,v 1.716 2024/01/06 11:42:11 bluhm Exp $ */
|
/* $OpenBSD: if.c,v 1.718 2024/02/06 00:18:53 bluhm Exp $ */
|
||||||
/* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */
|
/* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1788,8 +1788,10 @@ if_linkstate(struct ifnet *ifp)
|
||||||
{
|
{
|
||||||
NET_ASSERT_LOCKED();
|
NET_ASSERT_LOCKED();
|
||||||
|
|
||||||
|
if (panicstr == NULL) {
|
||||||
rtm_ifchg(ifp);
|
rtm_ifchg(ifp);
|
||||||
rt_if_track(ifp);
|
rt_if_track(ifp);
|
||||||
|
}
|
||||||
|
|
||||||
if_hooks_run(&ifp->if_linkstatehooks);
|
if_hooks_run(&ifp->if_linkstatehooks);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: route.c,v 1.427 2024/01/31 14:56:42 bluhm Exp $ */
|
/* $OpenBSD: route.c,v 1.428 2024/02/05 23:16:39 bluhm Exp $ */
|
||||||
/* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */
|
/* $NetBSD: route.c,v 1.14 1996/02/13 22:00:46 christos Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -214,9 +214,11 @@ route_cache(struct route *ro, struct in_addr addr, u_int rtableid)
|
||||||
ro->ro_tableid == rtableid &&
|
ro->ro_tableid == rtableid &&
|
||||||
ro->ro_dst.sa_family == AF_INET &&
|
ro->ro_dst.sa_family == AF_INET &&
|
||||||
satosin(&ro->ro_dst)->sin_addr.s_addr == addr.s_addr) {
|
satosin(&ro->ro_dst)->sin_addr.s_addr == addr.s_addr) {
|
||||||
|
ipstat_inc(ips_rtcachehit);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ipstat_inc(ips_rtcachemiss);
|
||||||
rtfree(ro->ro_rt);
|
rtfree(ro->ro_rt);
|
||||||
ro->ro_rt = NULL;
|
ro->ro_rt = NULL;
|
||||||
ro->ro_generation = gen;
|
ro->ro_generation = gen;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: route.h,v 1.204 2024/01/31 14:56:42 bluhm Exp $ */
|
/* $OpenBSD: route.h,v 1.205 2024/02/05 12:52:11 aoyama Exp $ */
|
||||||
/* $NetBSD: route.h,v 1.9 1996/02/13 22:00:49 christos Exp $ */
|
/* $NetBSD: route.h,v 1.9 1996/02/13 22:00:49 christos Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -444,13 +444,11 @@ extern u_long rtgeneration;
|
||||||
struct mbuf;
|
struct mbuf;
|
||||||
struct socket;
|
struct socket;
|
||||||
struct ifnet;
|
struct ifnet;
|
||||||
struct in_addr;
|
|
||||||
struct sockaddr_in6;
|
struct sockaddr_in6;
|
||||||
struct if_ieee80211_data;
|
struct if_ieee80211_data;
|
||||||
struct bfd_config;
|
struct bfd_config;
|
||||||
|
|
||||||
void route_init(void);
|
void route_init(void);
|
||||||
void route_cache(struct route *, struct in_addr, u_int);
|
|
||||||
void rtm_ifchg(struct ifnet *);
|
void rtm_ifchg(struct ifnet *);
|
||||||
void rtm_ifannounce(struct ifnet *, int);
|
void rtm_ifannounce(struct ifnet *, int);
|
||||||
void rtm_bfd(struct bfd_config *);
|
void rtm_bfd(struct bfd_config *);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: in.h,v 1.145 2023/11/10 20:05:22 bluhm Exp $ */
|
/* $OpenBSD: in.h,v 1.146 2024/02/05 12:52:11 aoyama Exp $ */
|
||||||
/* $NetBSD: in.h,v 1.20 1996/02/13 23:41:47 christos Exp $ */
|
/* $NetBSD: in.h,v 1.20 1996/02/13 23:41:47 christos Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -770,6 +770,7 @@ struct sockaddr;
|
||||||
struct sockaddr_in;
|
struct sockaddr_in;
|
||||||
struct ifaddr;
|
struct ifaddr;
|
||||||
struct in_ifaddr;
|
struct in_ifaddr;
|
||||||
|
struct route;
|
||||||
|
|
||||||
void ipv4_input(struct ifnet *, struct mbuf *);
|
void ipv4_input(struct ifnet *, struct mbuf *);
|
||||||
struct mbuf *
|
struct mbuf *
|
||||||
|
@ -788,6 +789,8 @@ void in_len2mask(struct in_addr *, int);
|
||||||
int in_nam2sin(const struct mbuf *, struct sockaddr_in **);
|
int in_nam2sin(const struct mbuf *, struct sockaddr_in **);
|
||||||
int in_sa2sin(struct sockaddr *, struct sockaddr_in **);
|
int in_sa2sin(struct sockaddr *, struct sockaddr_in **);
|
||||||
|
|
||||||
|
void route_cache(struct route *, struct in_addr, u_int);
|
||||||
|
|
||||||
char *inet_ntoa(struct in_addr);
|
char *inet_ntoa(struct in_addr);
|
||||||
int inet_nat64(int, const void *, void *, const void *, u_int8_t);
|
int inet_nat64(int, const void *, void *, const void *, u_int8_t);
|
||||||
int inet_nat46(int, const void *, void *, const void *, u_int8_t);
|
int inet_nat46(int, const void *, void *, const void *, u_int8_t);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: ip_var.h,v 1.111 2024/02/03 22:50:09 mvs Exp $ */
|
/* $OpenBSD: ip_var.h,v 1.112 2024/02/05 23:16:39 bluhm Exp $ */
|
||||||
/* $NetBSD: ip_var.h,v 1.16 1996/02/13 23:43:20 christos Exp $ */
|
/* $NetBSD: ip_var.h,v 1.16 1996/02/13 23:43:20 christos Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -87,6 +87,8 @@ struct ipstat {
|
||||||
u_long ips_inswcsum; /* software checksummed on input */
|
u_long ips_inswcsum; /* software checksummed on input */
|
||||||
u_long ips_outswcsum; /* software checksummed on output */
|
u_long ips_outswcsum; /* software checksummed on output */
|
||||||
u_long ips_notmember; /* multicasts for unregistered groups */
|
u_long ips_notmember; /* multicasts for unregistered groups */
|
||||||
|
u_long ips_rtcachehit; /* valid route found in cache */
|
||||||
|
u_long ips_rtcachemiss; /* route cache with new destination */
|
||||||
u_long ips_wrongif; /* packet received on wrong interface */
|
u_long ips_wrongif; /* packet received on wrong interface */
|
||||||
u_long ips_idropped; /* lost input due to nobufs, etc. */
|
u_long ips_idropped; /* lost input due to nobufs, etc. */
|
||||||
};
|
};
|
||||||
|
@ -133,6 +135,8 @@ enum ipstat_counters {
|
||||||
ips_inswcsum, /* software checksummed on input */
|
ips_inswcsum, /* software checksummed on input */
|
||||||
ips_outswcsum, /* software checksummed on output */
|
ips_outswcsum, /* software checksummed on output */
|
||||||
ips_notmember, /* multicasts for unregistered groups */
|
ips_notmember, /* multicasts for unregistered groups */
|
||||||
|
ips_rtcachehit, /* valid route to destination found in cache */
|
||||||
|
ips_rtcachemiss, /* route cache filled with new destination */
|
||||||
ips_wrongif, /* packet received on wrong interface */
|
ips_wrongif, /* packet received on wrong interface */
|
||||||
ips_idropped, /* lost input packets due to nobufs, etc. */
|
ips_idropped, /* lost input packets due to nobufs, etc. */
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: ip6_var.h,v 1.110 2024/02/03 22:50:09 mvs Exp $ */
|
/* $OpenBSD: ip6_var.h,v 1.111 2024/02/05 23:16:39 bluhm Exp $ */
|
||||||
/* $KAME: ip6_var.h,v 1.33 2000/06/11 14:59:20 jinmei Exp $ */
|
/* $KAME: ip6_var.h,v 1.33 2000/06/11 14:59:20 jinmei Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -196,8 +196,8 @@ struct ip6stat {
|
||||||
/* number of times that an deprecated address is chosen */
|
/* number of times that an deprecated address is chosen */
|
||||||
u_int64_t ip6s_sources_deprecated[16];
|
u_int64_t ip6s_sources_deprecated[16];
|
||||||
|
|
||||||
u_int64_t ip6s_forward_cachehit;
|
u_int64_t ip6s_rtcachehit; /* valid route found in cache */
|
||||||
u_int64_t ip6s_forward_cachemiss;
|
u_int64_t ip6s_rtcachemiss; /* route cache with new destination */
|
||||||
u_int64_t ip6s_wrongif; /* packet received on wrong interface */
|
u_int64_t ip6s_wrongif; /* packet received on wrong interface */
|
||||||
u_int64_t ip6s_idropped; /* lost input due to nobufs, etc. */
|
u_int64_t ip6s_idropped; /* lost input due to nobufs, etc. */
|
||||||
};
|
};
|
||||||
|
@ -243,8 +243,8 @@ enum ip6stat_counters {
|
||||||
ip6s_sources_samescope = ip6s_sources_otherif + 16,
|
ip6s_sources_samescope = ip6s_sources_otherif + 16,
|
||||||
ip6s_sources_otherscope = ip6s_sources_samescope + 16,
|
ip6s_sources_otherscope = ip6s_sources_samescope + 16,
|
||||||
ip6s_sources_deprecated = ip6s_sources_otherscope + 16,
|
ip6s_sources_deprecated = ip6s_sources_otherscope + 16,
|
||||||
ip6s_forward_cachehit = ip6s_sources_deprecated + 16,
|
ip6s_rtcachehit = ip6s_sources_deprecated + 16,
|
||||||
ip6s_forward_cachemiss,
|
ip6s_rtcachemiss,
|
||||||
ip6s_wrongif,
|
ip6s_wrongif,
|
||||||
ip6s_idropped,
|
ip6s_idropped,
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: nfs_socket.c,v 1.144 2023/08/03 09:49:09 mvs Exp $ */
|
/* $OpenBSD: nfs_socket.c,v 1.145 2024/02/05 20:21:39 mvs Exp $ */
|
||||||
/* $NetBSD: nfs_socket.c,v 1.27 1996/04/15 20:20:00 thorpej Exp $ */
|
/* $NetBSD: nfs_socket.c,v 1.27 1996/04/15 20:20:00 thorpej Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -295,7 +295,6 @@ nfs_connect(struct nfsmount *nmp, struct nfsreq *rep)
|
||||||
goto bad;
|
goto bad;
|
||||||
}
|
}
|
||||||
|
|
||||||
solock(so);
|
|
||||||
/*
|
/*
|
||||||
* Protocols that do not require connections may be optionally left
|
* Protocols that do not require connections may be optionally left
|
||||||
* unconnected for servers that reply from a port other than NFS_PORT.
|
* unconnected for servers that reply from a port other than NFS_PORT.
|
||||||
|
@ -303,9 +302,10 @@ nfs_connect(struct nfsmount *nmp, struct nfsreq *rep)
|
||||||
if (nmp->nm_flag & NFSMNT_NOCONN) {
|
if (nmp->nm_flag & NFSMNT_NOCONN) {
|
||||||
if (nmp->nm_soflags & PR_CONNREQUIRED) {
|
if (nmp->nm_soflags & PR_CONNREQUIRED) {
|
||||||
error = ENOTCONN;
|
error = ENOTCONN;
|
||||||
goto bad_locked;
|
goto bad;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
solock(so);
|
||||||
error = soconnect(so, nmp->nm_nam);
|
error = soconnect(so, nmp->nm_nam);
|
||||||
if (error)
|
if (error)
|
||||||
goto bad_locked;
|
goto bad_locked;
|
||||||
|
@ -330,17 +330,21 @@ nfs_connect(struct nfsmount *nmp, struct nfsreq *rep)
|
||||||
so->so_error = 0;
|
so->so_error = 0;
|
||||||
goto bad_locked;
|
goto bad_locked;
|
||||||
}
|
}
|
||||||
|
sounlock(so);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Always set receive timeout to detect server crash and reconnect.
|
* Always set receive timeout to detect server crash and reconnect.
|
||||||
* Otherwise, we can get stuck in soreceive forever.
|
* Otherwise, we can get stuck in soreceive forever.
|
||||||
*/
|
*/
|
||||||
|
mtx_enter(&so->so_rcv.sb_mtx);
|
||||||
so->so_rcv.sb_timeo_nsecs = SEC_TO_NSEC(5);
|
so->so_rcv.sb_timeo_nsecs = SEC_TO_NSEC(5);
|
||||||
|
mtx_leave(&so->so_rcv.sb_mtx);
|
||||||
|
mtx_enter(&so->so_snd.sb_mtx);
|
||||||
if (nmp->nm_flag & (NFSMNT_SOFT | NFSMNT_INT))
|
if (nmp->nm_flag & (NFSMNT_SOFT | NFSMNT_INT))
|
||||||
so->so_snd.sb_timeo_nsecs = SEC_TO_NSEC(5);
|
so->so_snd.sb_timeo_nsecs = SEC_TO_NSEC(5);
|
||||||
else
|
else
|
||||||
so->so_snd.sb_timeo_nsecs = INFSLP;
|
so->so_snd.sb_timeo_nsecs = INFSLP;
|
||||||
sounlock(so);
|
mtx_leave(&so->so_snd.sb_mtx);
|
||||||
if (nmp->nm_sotype == SOCK_DGRAM) {
|
if (nmp->nm_sotype == SOCK_DGRAM) {
|
||||||
sndreserve = nmp->nm_wsize + NFS_MAXPKTHDR;
|
sndreserve = nmp->nm_wsize + NFS_MAXPKTHDR;
|
||||||
rcvreserve = (max(nmp->nm_rsize, nmp->nm_readdirsize) +
|
rcvreserve = (max(nmp->nm_rsize, nmp->nm_readdirsize) +
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: nfs_syscalls.c,v 1.120 2024/01/12 08:47:46 ratchov Exp $ */
|
/* $OpenBSD: nfs_syscalls.c,v 1.121 2024/02/05 20:21:39 mvs Exp $ */
|
||||||
/* $NetBSD: nfs_syscalls.c,v 1.19 1996/02/18 11:53:52 fvdl Exp $ */
|
/* $NetBSD: nfs_syscalls.c,v 1.19 1996/02/18 11:53:52 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -277,9 +277,13 @@ nfssvc_addsock(struct file *fp, struct mbuf *mynam)
|
||||||
}
|
}
|
||||||
solock(so);
|
solock(so);
|
||||||
so->so_rcv.sb_flags &= ~SB_NOINTR;
|
so->so_rcv.sb_flags &= ~SB_NOINTR;
|
||||||
|
mtx_enter(&so->so_rcv.sb_mtx);
|
||||||
so->so_rcv.sb_timeo_nsecs = INFSLP;
|
so->so_rcv.sb_timeo_nsecs = INFSLP;
|
||||||
|
mtx_leave(&so->so_rcv.sb_mtx);
|
||||||
so->so_snd.sb_flags &= ~SB_NOINTR;
|
so->so_snd.sb_flags &= ~SB_NOINTR;
|
||||||
|
mtx_enter(&so->so_snd.sb_mtx);
|
||||||
so->so_snd.sb_timeo_nsecs = INFSLP;
|
so->so_snd.sb_timeo_nsecs = INFSLP;
|
||||||
|
mtx_leave(&so->so_snd.sb_mtx);
|
||||||
sounlock(so);
|
sounlock(so);
|
||||||
if (tslp)
|
if (tslp)
|
||||||
slp = tslp;
|
slp = tslp;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: inet.c,v 1.179 2023/09/04 23:00:36 bluhm Exp $ */
|
/* $OpenBSD: inet.c,v 1.180 2024/02/05 23:16:39 bluhm Exp $ */
|
||||||
/* $NetBSD: inet.c,v 1.14 1995/10/03 21:42:37 thorpej Exp $ */
|
/* $NetBSD: inet.c,v 1.14 1995/10/03 21:42:37 thorpej Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -621,6 +621,8 @@ ip_stats(char *name)
|
||||||
p(ips_inswcsum, "\t%lu input datagram%s software-checksummed\n");
|
p(ips_inswcsum, "\t%lu input datagram%s software-checksummed\n");
|
||||||
p(ips_outswcsum, "\t%lu output datagram%s software-checksummed\n");
|
p(ips_outswcsum, "\t%lu output datagram%s software-checksummed\n");
|
||||||
p(ips_notmember, "\t%lu multicast packet%s which we don't join\n");
|
p(ips_notmember, "\t%lu multicast packet%s which we don't join\n");
|
||||||
|
p1(ips_rtcachehit, "\t%lu route cache hit\n");
|
||||||
|
p1(ips_rtcachemiss, "\t%lu route cache miss\n");
|
||||||
p(ips_wrongif, "\t%lu packet%s received on wrong interface\n");
|
p(ips_wrongif, "\t%lu packet%s received on wrong interface\n");
|
||||||
p(ips_idropped, "\t%lu input packet%s dropped due to no bufs, etc.\n");
|
p(ips_idropped, "\t%lu input packet%s dropped due to no bufs, etc.\n");
|
||||||
#undef p
|
#undef p
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: inet6.c,v 1.56 2022/08/12 14:49:15 bluhm Exp $ */
|
/* $OpenBSD: inet6.c,v 1.57 2024/02/05 23:16:39 bluhm Exp $ */
|
||||||
/* BSDI inet.c,v 2.3 1995/10/24 02:19:29 prb Exp */
|
/* BSDI inet.c,v 2.3 1995/10/24 02:19:29 prb Exp */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1983, 1988, 1993
|
* Copyright (c) 1983, 1988, 1993
|
||||||
|
@ -371,7 +371,6 @@ ip6_stats(char *name)
|
||||||
p(ip6s_cantfrag, "\t%llu datagram%s that can't be fragmented\n");
|
p(ip6s_cantfrag, "\t%llu datagram%s that can't be fragmented\n");
|
||||||
p(ip6s_badscope, "\t%llu packet%s that violated scope rules\n");
|
p(ip6s_badscope, "\t%llu packet%s that violated scope rules\n");
|
||||||
p(ip6s_notmember, "\t%llu multicast packet%s which we don't join\n");
|
p(ip6s_notmember, "\t%llu multicast packet%s which we don't join\n");
|
||||||
p(ip6s_wrongif, "\t%llu packet%s received on wrong interface\n");
|
|
||||||
for (first = 1, i = 0; i < 256; i++)
|
for (first = 1, i = 0; i < 256; i++)
|
||||||
if (ip6stat.ip6s_nxthist[i] != 0) {
|
if (ip6stat.ip6s_nxthist[i] != 0) {
|
||||||
if (first) {
|
if (first) {
|
||||||
|
@ -478,9 +477,9 @@ ip6_stats(char *name)
|
||||||
PRINT_SCOPESTAT(ip6s_sources_deprecated[i], i);
|
PRINT_SCOPESTAT(ip6s_sources_deprecated[i], i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
p1(ip6s_rtcachehit, "\t%llu route cache hit\n");
|
||||||
p1(ip6s_forward_cachehit, "\t%llu forward cache hit\n");
|
p1(ip6s_rtcachemiss, "\t%llu route cache miss\n");
|
||||||
p1(ip6s_forward_cachemiss, "\t%llu forward cache miss\n");
|
p(ip6s_wrongif, "\t%llu packet%s received on wrong interface\n");
|
||||||
p(ip6s_idropped,
|
p(ip6s_idropped,
|
||||||
"\t%llu input packet%s dropped due to no bufs, etc.\n");
|
"\t%llu input packet%s dropped due to no bufs, etc.\n");
|
||||||
#undef p
|
#undef p
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: btrace.c,v 1.83 2024/01/25 20:50:58 mpi Exp $ */
|
/* $OpenBSD: btrace.c,v 1.84 2024/02/05 15:11:35 mpi Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2019 - 2023 Martin Pieuchot <mpi@openbsd.org>
|
* Copyright (c) 2019 - 2023 Martin Pieuchot <mpi@openbsd.org>
|
||||||
|
@ -450,9 +450,9 @@ rules_do(int fd)
|
||||||
if (ioctl(fd, DTIOCGSTATS, &dtst))
|
if (ioctl(fd, DTIOCGSTATS, &dtst))
|
||||||
warn("DTIOCGSTATS");
|
warn("DTIOCGSTATS");
|
||||||
|
|
||||||
printf("%llu events read\n", dtst.dtst_readevt);
|
fprintf(stderr, "%llu events read\n", dtst.dtst_readevt);
|
||||||
printf("%llu events dropped\n", dtst.dtst_dropevt);
|
fprintf(stderr, "%llu events dropped\n", dtst.dtst_dropevt);
|
||||||
printf("%llu events filtered\n", bt_filtered);
|
fprintf(stderr, "%llu events filtered\n", bt_filtered);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: aspa.c,v 1.24 2023/10/13 12:06:49 job Exp $ */
|
/* $OpenBSD: aspa.c,v 1.25 2024/02/05 19:23:58 job Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 Job Snijders <job@fastly.com>
|
* Copyright (c) 2022 Job Snijders <job@fastly.com>
|
||||||
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
||||||
|
@ -129,13 +129,20 @@ aspa_parse_providers(struct parse *p, const STACK_OF(ASN1_INTEGER) *providers)
|
||||||
static int
|
static int
|
||||||
aspa_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
aspa_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
||||||
{
|
{
|
||||||
|
const unsigned char *oder;
|
||||||
ASProviderAttestation *aspa;
|
ASProviderAttestation *aspa;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
|
oder = d;
|
||||||
if ((aspa = d2i_ASProviderAttestation(NULL, &d, dsz)) == NULL) {
|
if ((aspa = d2i_ASProviderAttestation(NULL, &d, dsz)) == NULL) {
|
||||||
warnx("%s: ASPA: failed to parse ASProviderAttestation", p->fn);
|
warnx("%s: ASPA: failed to parse ASProviderAttestation", p->fn);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
if (d != oder + dsz) {
|
||||||
|
warnx("%s: %td bytes trailing garbage in eContent", p->fn,
|
||||||
|
oder + dsz - d);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
if (!valid_econtent_version(p->fn, aspa->version, 1))
|
if (!valid_econtent_version(p->fn, aspa->version, 1))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: mft.c,v 1.105 2024/02/04 00:53:27 job Exp $ */
|
/* $OpenBSD: mft.c,v 1.106 2024/02/05 19:23:58 job Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
||||||
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
|
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
|
||||||
|
@ -232,15 +232,22 @@ mft_parse_filehash(struct parse *p, const FileAndHash *fh)
|
||||||
static int
|
static int
|
||||||
mft_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
mft_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
||||||
{
|
{
|
||||||
|
const unsigned char *oder;
|
||||||
Manifest *mft;
|
Manifest *mft;
|
||||||
FileAndHash *fh;
|
FileAndHash *fh;
|
||||||
int i, rc = 0;
|
int i, rc = 0;
|
||||||
|
|
||||||
|
oder = d;
|
||||||
if ((mft = d2i_Manifest(NULL, &d, dsz)) == NULL) {
|
if ((mft = d2i_Manifest(NULL, &d, dsz)) == NULL) {
|
||||||
warnx("%s: RFC 6486 section 4: failed to parse Manifest",
|
warnx("%s: RFC 6486 section 4: failed to parse Manifest",
|
||||||
p->fn);
|
p->fn);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
if (d != oder + dsz) {
|
||||||
|
warnx("%s: %td bytes trailing garbage in eContent", p->fn,
|
||||||
|
oder + dsz - d);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
if (!valid_econtent_version(p->fn, mft->version, 0))
|
if (!valid_econtent_version(p->fn, mft->version, 0))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: roa.c,v 1.72 2023/12/14 07:52:53 tb Exp $ */
|
/* $OpenBSD: roa.c,v 1.73 2024/02/05 19:23:58 job Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
||||||
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
|
* Copyright (c) 2019 Kristaps Dzonsons <kristaps@bsd.lv>
|
||||||
|
@ -101,6 +101,7 @@ IMPLEMENT_ASN1_FUNCTIONS(RouteOriginAttestation);
|
||||||
static int
|
static int
|
||||||
roa_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
roa_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
||||||
{
|
{
|
||||||
|
const unsigned char *oder;
|
||||||
RouteOriginAttestation *roa;
|
RouteOriginAttestation *roa;
|
||||||
const ROAIPAddressFamily *addrfam;
|
const ROAIPAddressFamily *addrfam;
|
||||||
const STACK_OF(ROAIPAddress) *addrs;
|
const STACK_OF(ROAIPAddress) *addrs;
|
||||||
|
@ -113,11 +114,17 @@ roa_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
||||||
int ipaddrblocksz;
|
int ipaddrblocksz;
|
||||||
int i, j, rc = 0;
|
int i, j, rc = 0;
|
||||||
|
|
||||||
|
oder = d;
|
||||||
if ((roa = d2i_RouteOriginAttestation(NULL, &d, dsz)) == NULL) {
|
if ((roa = d2i_RouteOriginAttestation(NULL, &d, dsz)) == NULL) {
|
||||||
warnx("%s: RFC 6482 section 3: failed to parse "
|
warnx("%s: RFC 6482 section 3: failed to parse "
|
||||||
"RouteOriginAttestation", p->fn);
|
"RouteOriginAttestation", p->fn);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
if (d != oder + dsz) {
|
||||||
|
warnx("%s: %td bytes trailing garbage in eContent", p->fn,
|
||||||
|
oder + dsz - d);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
if (!valid_econtent_version(p->fn, roa->version, 0))
|
if (!valid_econtent_version(p->fn, roa->version, 0))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: rsc.c,v 1.29 2023/10/13 12:06:49 job Exp $ */
|
/* $OpenBSD: rsc.c,v 1.30 2024/02/05 19:23:58 job Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
||||||
* Copyright (c) 2022 Job Snijders <job@fastly.com>
|
* Copyright (c) 2022 Job Snijders <job@fastly.com>
|
||||||
|
@ -325,6 +325,7 @@ rsc_parse_checklist(struct parse *p, const STACK_OF(FileNameAndHash) *checkList)
|
||||||
static int
|
static int
|
||||||
rsc_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
rsc_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
||||||
{
|
{
|
||||||
|
const unsigned char *oder;
|
||||||
RpkiSignedChecklist *rsc;
|
RpkiSignedChecklist *rsc;
|
||||||
ResourceBlock *resources;
|
ResourceBlock *resources;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
@ -333,10 +334,16 @@ rsc_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
||||||
* RFC 9323 section 4
|
* RFC 9323 section 4
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
oder = d;
|
||||||
if ((rsc = d2i_RpkiSignedChecklist(NULL, &d, dsz)) == NULL) {
|
if ((rsc = d2i_RpkiSignedChecklist(NULL, &d, dsz)) == NULL) {
|
||||||
warnx("%s: RSC: failed to parse RpkiSignedChecklist", p->fn);
|
warnx("%s: RSC: failed to parse RpkiSignedChecklist", p->fn);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
if (d != oder + dsz) {
|
||||||
|
warnx("%s: %td bytes trailing garbage in eContent", p->fn,
|
||||||
|
oder + dsz - d);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
if (!valid_econtent_version(p->fn, rsc->version, 0))
|
if (!valid_econtent_version(p->fn, rsc->version, 0))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: tak.c,v 1.13 2023/10/13 12:06:49 job Exp $ */
|
/* $OpenBSD: tak.c,v 1.14 2024/02/05 19:23:58 job Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022 Job Snijders <job@fastly.com>
|
* Copyright (c) 2022 Job Snijders <job@fastly.com>
|
||||||
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
* Copyright (c) 2022 Theo Buehler <tb@openbsd.org>
|
||||||
|
@ -184,16 +184,23 @@ parse_takey(const char *fn, const TAKey *takey)
|
||||||
static int
|
static int
|
||||||
tak_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
tak_parse_econtent(const unsigned char *d, size_t dsz, struct parse *p)
|
||||||
{
|
{
|
||||||
|
const unsigned char *oder;
|
||||||
TAK *tak;
|
TAK *tak;
|
||||||
const char *fn;
|
const char *fn;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
fn = p->fn;
|
fn = p->fn;
|
||||||
|
|
||||||
|
oder = d;
|
||||||
if ((tak = d2i_TAK(NULL, &d, dsz)) == NULL) {
|
if ((tak = d2i_TAK(NULL, &d, dsz)) == NULL) {
|
||||||
warnx("%s: failed to parse Trust Anchor Key", fn);
|
warnx("%s: failed to parse Trust Anchor Key", fn);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
if (d != oder + dsz) {
|
||||||
|
warnx("%s: %td bytes trailing garbage in eContent", p->fn,
|
||||||
|
oder + dsz - d);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
if (!valid_econtent_version(fn, tak->version, 0))
|
if (!valid_econtent_version(fn, tak->version, 0))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: config.c,v 1.74 2024/01/18 14:49:59 claudio Exp $ */
|
/* $OpenBSD: config.c,v 1.75 2024/02/05 21:58:09 dv Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Reyk Floeter <reyk@openbsd.org>
|
* Copyright (c) 2015 Reyk Floeter <reyk@openbsd.org>
|
||||||
|
@ -284,7 +284,7 @@ config_setvm(struct privsep *ps, struct vmd_vm *vm, uint32_t peerid, uid_t uid)
|
||||||
if (!(vm->vm_state & VM_STATE_RECEIVED) && vm->vm_kernel == -1) {
|
if (!(vm->vm_state & VM_STATE_RECEIVED) && vm->vm_kernel == -1) {
|
||||||
if (vm->vm_kernel_path != NULL) {
|
if (vm->vm_kernel_path != NULL) {
|
||||||
/* Open external kernel for child */
|
/* Open external kernel for child */
|
||||||
kernfd = open(vm->vm_kernel_path, O_RDONLY);
|
kernfd = open(vm->vm_kernel_path, O_RDONLY | O_CLOEXEC);
|
||||||
if (kernfd == -1) {
|
if (kernfd == -1) {
|
||||||
ret = errno;
|
ret = errno;
|
||||||
log_warn("%s: can't open kernel or BIOS "
|
log_warn("%s: can't open kernel or BIOS "
|
||||||
|
@ -301,7 +301,8 @@ config_setvm(struct privsep *ps, struct vmd_vm *vm, uint32_t peerid, uid_t uid)
|
||||||
* license.
|
* license.
|
||||||
*/
|
*/
|
||||||
if (kernfd == -1) {
|
if (kernfd == -1) {
|
||||||
if ((kernfd = open(VM_DEFAULT_BIOS, O_RDONLY)) == -1) {
|
if ((kernfd = open(VM_DEFAULT_BIOS,
|
||||||
|
O_RDONLY | O_CLOEXEC)) == -1) {
|
||||||
log_warn("can't open %s", VM_DEFAULT_BIOS);
|
log_warn("can't open %s", VM_DEFAULT_BIOS);
|
||||||
ret = VMD_BIOS_MISSING;
|
ret = VMD_BIOS_MISSING;
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -341,14 +342,17 @@ config_setvm(struct privsep *ps, struct vmd_vm *vm, uint32_t peerid, uid_t uid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Open disk images for child */
|
/*
|
||||||
|
* Open disk images for child. Don't set O_CLOEXEC as these must be
|
||||||
|
* explicitly closed by the vm process during virtio subprocess launch.
|
||||||
|
*/
|
||||||
for (i = 0 ; i < vmc->vmc_ndisks; i++) {
|
for (i = 0 ; i < vmc->vmc_ndisks; i++) {
|
||||||
if (strlcpy(path, vmc->vmc_disks[i], sizeof(path))
|
if (strlcpy(path, vmc->vmc_disks[i], sizeof(path))
|
||||||
>= sizeof(path))
|
>= sizeof(path))
|
||||||
log_warnx("disk path %s too long", vmc->vmc_disks[i]);
|
log_warnx("disk path %s too long", vmc->vmc_disks[i]);
|
||||||
memset(vmc->vmc_diskbases, 0, sizeof(vmc->vmc_diskbases));
|
memset(vmc->vmc_diskbases, 0, sizeof(vmc->vmc_diskbases));
|
||||||
oflags = O_RDWR|O_EXLOCK|O_NONBLOCK;
|
oflags = O_RDWR | O_EXLOCK | O_NONBLOCK;
|
||||||
aflags = R_OK|W_OK;
|
aflags = R_OK | W_OK;
|
||||||
for (j = 0; j < VM_MAX_BASE_PER_DISK; j++) {
|
for (j = 0; j < VM_MAX_BASE_PER_DISK; j++) {
|
||||||
/* Stat disk[i] to ensure it is a regular file */
|
/* Stat disk[i] to ensure it is a regular file */
|
||||||
if ((diskfds[i][j] = open(path, oflags)) == -1) {
|
if ((diskfds[i][j] = open(path, oflags)) == -1) {
|
||||||
|
@ -372,7 +376,7 @@ config_setvm(struct privsep *ps, struct vmd_vm *vm, uint32_t peerid, uid_t uid)
|
||||||
* All writes should go to the top image, allowing them
|
* All writes should go to the top image, allowing them
|
||||||
* to be shared.
|
* to be shared.
|
||||||
*/
|
*/
|
||||||
oflags = O_RDONLY|O_NONBLOCK;
|
oflags = O_RDONLY | O_NONBLOCK;
|
||||||
aflags = R_OK;
|
aflags = R_OK;
|
||||||
n = virtio_get_base(diskfds[i][j], base, sizeof(base),
|
n = virtio_get_base(diskfds[i][j], base, sizeof(base),
|
||||||
vmc->vmc_disktypes[i], path);
|
vmc->vmc_disktypes[i], path);
|
||||||
|
@ -407,7 +411,9 @@ config_setvm(struct privsep *ps, struct vmd_vm *vm, uint32_t peerid, uid_t uid)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Either open the requested tap(4) device or get
|
* Either open the requested tap(4) device or get
|
||||||
* the next available one.
|
* the next available one. Don't set O_CLOEXEC as these
|
||||||
|
* should be closed by the vm process during virtio device
|
||||||
|
* launch.
|
||||||
*/
|
*/
|
||||||
if (s != NULL) {
|
if (s != NULL) {
|
||||||
snprintf(path, PATH_MAX, "/dev/%s", s);
|
snprintf(path, PATH_MAX, "/dev/%s", s);
|
||||||
|
@ -454,7 +460,10 @@ config_setvm(struct privsep *ps, struct vmd_vm *vm, uint32_t peerid, uid_t uid)
|
||||||
vmc->vmc_ifflags[i] & (VMIFF_UP|VMIFF_OPTMASK);
|
vmc->vmc_ifflags[i] & (VMIFF_UP|VMIFF_OPTMASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Open TTY */
|
/*
|
||||||
|
* Open TTY. Duplicate the fd before sending so the privileged parent
|
||||||
|
* process can perform permissions cleanup of the pty on vm termination.
|
||||||
|
*/
|
||||||
if (vm->vm_ttyname[0] == '\0') {
|
if (vm->vm_ttyname[0] == '\0') {
|
||||||
if (vm_opentty(vm) == -1) {
|
if (vm_opentty(vm) == -1) {
|
||||||
log_warn("%s: can't open tty %s", __func__,
|
log_warn("%s: can't open tty %s", __func__,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: vioblk.c,v 1.11 2024/02/04 14:54:51 dv Exp $ */
|
/* $OpenBSD: vioblk.c,v 1.12 2024/02/05 21:58:09 dv Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2023 Dave Voutila <dv@openbsd.org>
|
* Copyright (c) 2023 Dave Voutila <dv@openbsd.org>
|
||||||
|
@ -176,11 +176,6 @@ vioblk_main(int fd, int fd_vmm)
|
||||||
/* Configure our sync channel event handler. */
|
/* Configure our sync channel event handler. */
|
||||||
log_debug("%s: wiring in sync channel handler (fd=%d)", __func__,
|
log_debug("%s: wiring in sync channel handler (fd=%d)", __func__,
|
||||||
dev.sync_fd);
|
dev.sync_fd);
|
||||||
if (fcntl(dev.sync_fd, F_SETFL, O_NONBLOCK) == -1) {
|
|
||||||
ret = errno;
|
|
||||||
log_warn("%s: fcntl", __func__);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
imsg_init(&dev.sync_iev.ibuf, dev.sync_fd);
|
imsg_init(&dev.sync_iev.ibuf, dev.sync_fd);
|
||||||
dev.sync_iev.handler = handle_sync_io;
|
dev.sync_iev.handler = handle_sync_io;
|
||||||
dev.sync_iev.data = &dev;
|
dev.sync_iev.data = &dev;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: vionet.c,v 1.9 2024/02/03 21:41:35 dv Exp $ */
|
/* $OpenBSD: vionet.c,v 1.10 2024/02/05 21:58:09 dv Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2023 Dave Voutila <dv@openbsd.org>
|
* Copyright (c) 2023 Dave Voutila <dv@openbsd.org>
|
||||||
|
@ -203,11 +203,6 @@ vionet_main(int fd, int fd_vmm)
|
||||||
/* Configure our sync channel event handler. */
|
/* Configure our sync channel event handler. */
|
||||||
log_debug("%s: wiring in sync channel handler (fd=%d)", __func__,
|
log_debug("%s: wiring in sync channel handler (fd=%d)", __func__,
|
||||||
dev.sync_fd);
|
dev.sync_fd);
|
||||||
if (fcntl(dev.sync_fd, F_SETFL, O_NONBLOCK) == -1) {
|
|
||||||
ret = errno;
|
|
||||||
log_warn("%s: fcntl", __func__);
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
imsg_init(&dev.sync_iev.ibuf, dev.sync_fd);
|
imsg_init(&dev.sync_iev.ibuf, dev.sync_fd);
|
||||||
dev.sync_iev.handler = handle_sync_io;
|
dev.sync_iev.handler = handle_sync_io;
|
||||||
dev.sync_iev.data = &dev;
|
dev.sync_iev.data = &dev;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: virtio.c,v 1.110 2023/11/03 11:16:43 dv Exp $ */
|
/* $OpenBSD: virtio.c,v 1.111 2024/02/05 21:58:09 dv Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org>
|
* Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org>
|
||||||
|
@ -73,6 +73,7 @@ SLIST_HEAD(virtio_dev_head, virtio_dev) virtio_devs;
|
||||||
static int virtio_dev_launch(struct vmd_vm *, struct virtio_dev *);
|
static int virtio_dev_launch(struct vmd_vm *, struct virtio_dev *);
|
||||||
static void virtio_dispatch_dev(int, short, void *);
|
static void virtio_dispatch_dev(int, short, void *);
|
||||||
static int handle_dev_msg(struct viodev_msg *, struct virtio_dev *);
|
static int handle_dev_msg(struct viodev_msg *, struct virtio_dev *);
|
||||||
|
static int virtio_dev_closefds(struct virtio_dev *);
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
virtio_reg_name(uint8_t reg)
|
virtio_reg_name(uint8_t reg)
|
||||||
|
@ -1303,6 +1304,7 @@ virtio_dev_launch(struct vmd_vm *vm, struct virtio_dev *dev)
|
||||||
int data_fds[VM_MAX_BASE_PER_DISK], sync_fds[2], async_fds[2], ret = 0;
|
int data_fds[VM_MAX_BASE_PER_DISK], sync_fds[2], async_fds[2], ret = 0;
|
||||||
size_t i, data_fds_sz, sz = 0;
|
size_t i, data_fds_sz, sz = 0;
|
||||||
struct viodev_msg msg;
|
struct viodev_msg msg;
|
||||||
|
struct virtio_dev *dev_entry;
|
||||||
struct imsg imsg;
|
struct imsg imsg;
|
||||||
struct imsgev *iev = &dev->sync_iev;
|
struct imsgev *iev = &dev->sync_iev;
|
||||||
|
|
||||||
|
@ -1326,27 +1328,17 @@ virtio_dev_launch(struct vmd_vm *vm, struct virtio_dev *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We need two channels: one synchronous (IO reads) and one async. */
|
/* We need two channels: one synchronous (IO reads) and one async. */
|
||||||
if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, sync_fds) == -1) {
|
if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, PF_UNSPEC,
|
||||||
|
sync_fds) == -1) {
|
||||||
log_warn("failed to create socketpair");
|
log_warn("failed to create socketpair");
|
||||||
return (errno);
|
return (errno);
|
||||||
}
|
}
|
||||||
if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, async_fds) == -1) {
|
if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, PF_UNSPEC,
|
||||||
|
async_fds) == -1) {
|
||||||
log_warn("failed to create async socketpair");
|
log_warn("failed to create async socketpair");
|
||||||
return (errno);
|
return (errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Keep communication channels open after exec. */
|
|
||||||
if (fcntl(sync_fds[1], F_SETFD, 0)) {
|
|
||||||
ret = errno;
|
|
||||||
log_warn("%s: fcntl", __func__);
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
if (fcntl(async_fds[1], F_SETFD, 0)) {
|
|
||||||
ret = errno;
|
|
||||||
log_warn("%s: fcnt", __func__);
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Fork... */
|
/* Fork... */
|
||||||
dev_pid = fork();
|
dev_pid = fork();
|
||||||
if (dev_pid == -1) {
|
if (dev_pid == -1) {
|
||||||
|
@ -1371,13 +1363,6 @@ virtio_dev_launch(struct vmd_vm *vm, struct virtio_dev *dev)
|
||||||
for (i = 0; i < data_fds_sz; i++)
|
for (i = 0; i < data_fds_sz; i++)
|
||||||
close_fd(data_fds[i]);
|
close_fd(data_fds[i]);
|
||||||
|
|
||||||
/* Set our synchronous channel to non-blocking. */
|
|
||||||
if (fcntl(sync_fds[0], F_SETFL, O_NONBLOCK) == -1) {
|
|
||||||
ret = errno;
|
|
||||||
log_warn("%s: fcntl", __func__);
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 1. Send over our configured device. */
|
/* 1. Send over our configured device. */
|
||||||
log_debug("%s: sending '%c' type device struct", __func__,
|
log_debug("%s: sending '%c' type device struct", __func__,
|
||||||
dev->dev_type);
|
dev->dev_type);
|
||||||
|
@ -1446,15 +1431,21 @@ virtio_dev_launch(struct vmd_vm *vm, struct virtio_dev *dev)
|
||||||
close_fd(async_fds[0]);
|
close_fd(async_fds[0]);
|
||||||
close_fd(sync_fds[0]);
|
close_fd(sync_fds[0]);
|
||||||
|
|
||||||
/* Keep data file descriptors open after exec. */
|
/* Close pty. Virtio devices do not need it. */
|
||||||
for (i = 0; i < data_fds_sz; i++) {
|
close_fd(vm->vm_tty);
|
||||||
log_debug("%s: marking fd %d !close-on-exec", __func__,
|
vm->vm_tty = -1;
|
||||||
data_fds[i]);
|
|
||||||
if (fcntl(data_fds[i], F_SETFD, 0)) {
|
if (vm->vm_cdrom != -1) {
|
||||||
ret = errno;
|
close_fd(vm->vm_cdrom);
|
||||||
log_warn("%s: fcntl", __func__);
|
vm->vm_cdrom = -1;
|
||||||
goto err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Keep data file descriptors open after exec. */
|
||||||
|
SLIST_FOREACH(dev_entry, &virtio_devs, dev_next) {
|
||||||
|
if (dev_entry == dev)
|
||||||
|
continue;
|
||||||
|
if (virtio_dev_closefds(dev_entry) == -1)
|
||||||
|
fatalx("unable to close other virtio devs");
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&nargv, 0, sizeof(nargv));
|
memset(&nargv, 0, sizeof(nargv));
|
||||||
|
@ -1520,11 +1511,6 @@ vm_device_pipe(struct virtio_dev *dev, void (*cb)(int, short, void *))
|
||||||
log_debug("%s: initializing '%c' device pipe (fd=%d)", __func__,
|
log_debug("%s: initializing '%c' device pipe (fd=%d)", __func__,
|
||||||
dev->dev_type, fd);
|
dev->dev_type, fd);
|
||||||
|
|
||||||
if (fcntl(fd, F_SETFL, O_NONBLOCK) == -1) {
|
|
||||||
log_warn("failed to set nonblocking mode on vm device pipe");
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
imsg_init(&iev->ibuf, fd);
|
imsg_init(&iev->ibuf, fd);
|
||||||
iev->handler = cb;
|
iev->handler = cb;
|
||||||
iev->data = dev;
|
iev->data = dev;
|
||||||
|
@ -1764,3 +1750,30 @@ virtio_deassert_pic_irq(struct virtio_dev *dev, int vcpu)
|
||||||
if (ret == -1)
|
if (ret == -1)
|
||||||
log_warnx("%s: failed to deassert irq %d", __func__, dev->irq);
|
log_warnx("%s: failed to deassert irq %d", __func__, dev->irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Close all underlying file descriptors for a given virtio device.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
virtio_dev_closefds(struct virtio_dev *dev)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
switch (dev->dev_type) {
|
||||||
|
case VMD_DEVTYPE_DISK:
|
||||||
|
for (i = 0; i < dev->vioblk.ndisk_fd; i++) {
|
||||||
|
close_fd(dev->vioblk.disk_fd[i]);
|
||||||
|
dev->vioblk.disk_fd[i] = -1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case VMD_DEVTYPE_NET:
|
||||||
|
close_fd(dev->vionet.data_fd);
|
||||||
|
dev->vionet.data_fd = -1;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
log_warnx("%s: invalid device type", __func__);
|
||||||
|
return (-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: vm.c,v 1.96 2024/01/18 14:49:59 claudio Exp $ */
|
/* $OpenBSD: vm.c,v 1.97 2024/02/05 21:58:09 dv Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org>
|
* Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org>
|
||||||
|
@ -221,13 +221,18 @@ static const struct vcpu_reg_state vcpu_init_flat16 = {
|
||||||
* fd_vmm: file descriptor for communicating with vmm(4) device
|
* fd_vmm: file descriptor for communicating with vmm(4) device
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
vm_main(int fd, int vmm_fd)
|
vm_main(int fd, int fd_vmm)
|
||||||
{
|
{
|
||||||
struct vm_create_params *vcp = NULL;
|
struct vm_create_params *vcp = NULL;
|
||||||
struct vmd_vm vm;
|
struct vmd_vm vm;
|
||||||
size_t sz = 0;
|
size_t sz = 0;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The vm process relies on global state. Set the fd for /dev/vmm.
|
||||||
|
*/
|
||||||
|
env->vmd_fd = fd_vmm;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We aren't root, so we can't chroot(2). Use unveil(2) instead.
|
* We aren't root, so we can't chroot(2). Use unveil(2) instead.
|
||||||
*/
|
*/
|
||||||
|
@ -277,11 +282,6 @@ vm_main(int fd, int vmm_fd)
|
||||||
vcp->vcp_name);
|
vcp->vcp_name);
|
||||||
_exit(EINVAL);
|
_exit(EINVAL);
|
||||||
}
|
}
|
||||||
if (fcntl(vm.vm_kernel, F_SETFL, O_NONBLOCK) == -1) {
|
|
||||||
ret = errno;
|
|
||||||
log_warn("failed to set nonblocking mode on boot fd");
|
|
||||||
_exit(ret);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = start_vm(&vm, fd);
|
ret = start_vm(&vm, fd);
|
||||||
|
@ -2454,7 +2454,7 @@ vm_pipe_init(struct vm_dev_pipe *p, void (*cb)(int, short, void *))
|
||||||
|
|
||||||
memset(p, 0, sizeof(struct vm_dev_pipe));
|
memset(p, 0, sizeof(struct vm_dev_pipe));
|
||||||
|
|
||||||
ret = pipe(fds);
|
ret = pipe2(fds, O_CLOEXEC);
|
||||||
if (ret)
|
if (ret)
|
||||||
fatal("failed to create vm_dev_pipe pipe");
|
fatal("failed to create vm_dev_pipe pipe");
|
||||||
|
|
||||||
|
@ -2507,7 +2507,7 @@ vm_pipe_recv(struct vm_dev_pipe *p)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Re-map the guest address space using the shared memory file descriptor.
|
* Re-map the guest address space using vmm(4)'s VMM_IOC_SHARE
|
||||||
*
|
*
|
||||||
* Returns 0 on success, non-zero in event of failure.
|
* Returns 0 on success, non-zero in event of failure.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: vmd.c,v 1.154 2024/02/04 14:56:45 dv Exp $ */
|
/* $OpenBSD: vmd.c,v 1.155 2024/02/05 21:58:09 dv Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Reyk Floeter <reyk@openbsd.org>
|
* Copyright (c) 2015 Reyk Floeter <reyk@openbsd.org>
|
||||||
|
@ -800,6 +800,8 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
if ((env = calloc(1, sizeof(*env))) == NULL)
|
if ((env = calloc(1, sizeof(*env))) == NULL)
|
||||||
fatal("calloc: env");
|
fatal("calloc: env");
|
||||||
|
env->vmd_fd = -1;
|
||||||
|
env->vmd_fd6 = -1;
|
||||||
|
|
||||||
while ((ch = getopt(argc, argv, "D:P:I:V:X:df:i:nt:vp:")) != -1) {
|
while ((ch = getopt(argc, argv, "D:P:I:V:X:df:i:nt:vp:")) != -1) {
|
||||||
switch (ch) {
|
switch (ch) {
|
||||||
|
@ -891,7 +893,6 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
ps = &env->vmd_ps;
|
ps = &env->vmd_ps;
|
||||||
ps->ps_env = env;
|
ps->ps_env = env;
|
||||||
env->vmd_fd = vmm_fd;
|
|
||||||
|
|
||||||
if (config_init(env) == -1)
|
if (config_init(env) == -1)
|
||||||
fatal("failed to initialize configuration");
|
fatal("failed to initialize configuration");
|
||||||
|
@ -924,7 +925,7 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
/* Open /dev/vmm early. */
|
/* Open /dev/vmm early. */
|
||||||
if (env->vmd_noaction == 0 && proc_id == PROC_PARENT) {
|
if (env->vmd_noaction == 0 && proc_id == PROC_PARENT) {
|
||||||
env->vmd_fd = open(VMM_NODE, O_RDWR);
|
env->vmd_fd = open(VMM_NODE, O_RDWR | O_CLOEXEC);
|
||||||
if (env->vmd_fd == -1)
|
if (env->vmd_fd == -1)
|
||||||
fatal("%s", VMM_NODE);
|
fatal("%s", VMM_NODE);
|
||||||
}
|
}
|
||||||
|
@ -1014,9 +1015,6 @@ vmd_configure(void)
|
||||||
int ncpu_mib[] = {CTL_HW, HW_NCPUONLINE};
|
int ncpu_mib[] = {CTL_HW, HW_NCPUONLINE};
|
||||||
size_t ncpus_sz = sizeof(ncpus);
|
size_t ncpus_sz = sizeof(ncpus);
|
||||||
|
|
||||||
if ((env->vmd_ptmfd = open(PATH_PTMDEV, O_RDWR|O_CLOEXEC)) == -1)
|
|
||||||
fatal("open %s", PATH_PTMDEV);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pledge in the parent process:
|
* pledge in the parent process:
|
||||||
* stdio - for malloc and basic I/O including events.
|
* stdio - for malloc and basic I/O including events.
|
||||||
|
@ -1034,6 +1032,9 @@ vmd_configure(void)
|
||||||
" chown fattr flock", NULL) == -1)
|
" chown fattr flock", NULL) == -1)
|
||||||
fatal("pledge");
|
fatal("pledge");
|
||||||
|
|
||||||
|
if ((env->vmd_ptmfd = getptmfd()) == -1)
|
||||||
|
fatal("getptmfd %s", PATH_PTMDEV);
|
||||||
|
|
||||||
if (parse_config(env->vmd_conffile) == -1) {
|
if (parse_config(env->vmd_conffile) == -1) {
|
||||||
proc_kill(&env->vmd_ps);
|
proc_kill(&env->vmd_ps);
|
||||||
exit(1);
|
exit(1);
|
||||||
|
@ -1846,32 +1847,29 @@ vm_checkaccess(int fd, unsigned int uflag, uid_t uid, int amode)
|
||||||
int
|
int
|
||||||
vm_opentty(struct vmd_vm *vm)
|
vm_opentty(struct vmd_vm *vm)
|
||||||
{
|
{
|
||||||
struct ptmget ptm;
|
|
||||||
struct stat st;
|
struct stat st;
|
||||||
struct group *gr;
|
struct group *gr;
|
||||||
uid_t uid;
|
uid_t uid;
|
||||||
gid_t gid;
|
gid_t gid;
|
||||||
mode_t mode;
|
mode_t mode;
|
||||||
int on;
|
int on = 1, tty_slave;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Open tty with pre-opened PTM fd
|
* Open tty with pre-opened PTM fd
|
||||||
*/
|
*/
|
||||||
if ((ioctl(env->vmd_ptmfd, PTMGET, &ptm) == -1))
|
if (fdopenpty(env->vmd_ptmfd, &vm->vm_tty, &tty_slave, vm->vm_ttyname,
|
||||||
|
NULL, NULL) == -1) {
|
||||||
|
log_warn("fdopenpty");
|
||||||
return (-1);
|
return (-1);
|
||||||
|
}
|
||||||
|
close(tty_slave);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We use user ioctl(2) mode to pass break commands.
|
* We use user ioctl(2) mode to pass break commands.
|
||||||
*/
|
*/
|
||||||
on = 1;
|
if (ioctl(vm->vm_tty, TIOCUCNTL, &on) == -1) {
|
||||||
if (ioctl(ptm.cfd, TIOCUCNTL, &on) == -1)
|
log_warn("could not enable user ioctl mode on %s",
|
||||||
fatal("could not enable user ioctl mode");
|
vm->vm_ttyname);
|
||||||
|
|
||||||
vm->vm_tty = ptm.cfd;
|
|
||||||
close(ptm.sfd);
|
|
||||||
if (strlcpy(vm->vm_ttyname, ptm.sn, sizeof(vm->vm_ttyname))
|
|
||||||
>= sizeof(vm->vm_ttyname)) {
|
|
||||||
log_warnx("%s: truncated ttyname", __func__);
|
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1896,8 +1894,10 @@ vm_opentty(struct vmd_vm *vm)
|
||||||
* Change ownership and mode of the tty as required.
|
* Change ownership and mode of the tty as required.
|
||||||
* Loosely based on the implementation of sshpty.c
|
* Loosely based on the implementation of sshpty.c
|
||||||
*/
|
*/
|
||||||
if (stat(vm->vm_ttyname, &st) == -1)
|
if (fstat(vm->vm_tty, &st) == -1) {
|
||||||
|
log_warn("fstat failed for %s", vm->vm_ttyname);
|
||||||
goto fail;
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
if (st.st_uid != uid || st.st_gid != gid) {
|
if (st.st_uid != uid || st.st_gid != gid) {
|
||||||
if (chown(vm->vm_ttyname, uid, gid) == -1) {
|
if (chown(vm->vm_ttyname, uid, gid) == -1) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: vmm.c,v 1.118 2024/02/04 14:57:00 dv Exp $ */
|
/* $OpenBSD: vmm.c,v 1.119 2024/02/05 21:58:09 dv Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org>
|
* Copyright (c) 2015 Mike Larkin <mlarkin@openbsd.org>
|
||||||
|
@ -52,6 +52,7 @@
|
||||||
#include "vmd.h"
|
#include "vmd.h"
|
||||||
#include "vmm.h"
|
#include "vmm.h"
|
||||||
#include "atomicio.h"
|
#include "atomicio.h"
|
||||||
|
#include "proc.h"
|
||||||
|
|
||||||
void vmm_sighdlr(int, short, void *);
|
void vmm_sighdlr(int, short, void *);
|
||||||
int vmm_start_vm(struct imsg *, uint32_t *, pid_t *);
|
int vmm_start_vm(struct imsg *, uint32_t *, pid_t *);
|
||||||
|
@ -467,8 +468,14 @@ vmm_pipe(struct vmd_vm *vm, int fd, void (*cb)(int, short, void *))
|
||||||
{
|
{
|
||||||
struct imsgev *iev = &vm->vm_iev;
|
struct imsgev *iev = &vm->vm_iev;
|
||||||
|
|
||||||
if (fcntl(fd, F_SETFL, O_NONBLOCK) == -1) {
|
/*
|
||||||
log_warn("failed to set nonblocking mode on vm pipe");
|
* Set to close-on-exec as vmm_pipe is used after fork+exec to
|
||||||
|
* establish async ipc between vm and vmd's vmm process. This
|
||||||
|
* prevents future vm processes or virtio subprocesses from
|
||||||
|
* inheriting this control channel.
|
||||||
|
*/
|
||||||
|
if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) {
|
||||||
|
log_warn("failed to set close-on-exec for vmm ipc channel");
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -661,16 +668,10 @@ vmm_start_vm(struct imsg *imsg, uint32_t *id, pid_t *pid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, fds) == -1)
|
if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK, PF_UNSPEC, fds)
|
||||||
|
== -1)
|
||||||
fatal("socketpair");
|
fatal("socketpair");
|
||||||
|
|
||||||
/* Keep our channel open after exec. */
|
|
||||||
if (fcntl(fds[1], F_SETFD, 0)) {
|
|
||||||
ret = errno;
|
|
||||||
log_warn("%s: fcntl", __func__);
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Start child vmd for this VM (fork, chroot, drop privs) */
|
/* Start child vmd for this VM (fork, chroot, drop privs) */
|
||||||
vm_pid = fork();
|
vm_pid = fork();
|
||||||
if (vm_pid == -1) {
|
if (vm_pid == -1) {
|
||||||
|
@ -745,7 +746,6 @@ vmm_start_vm(struct imsg *imsg, uint32_t *id, pid_t *pid)
|
||||||
/* Wire up our pipe into the event handling. */
|
/* Wire up our pipe into the event handling. */
|
||||||
if (vmm_pipe(vm, fds[0], vmm_dispatch_vm) == -1)
|
if (vmm_pipe(vm, fds[0], vmm_dispatch_vm) == -1)
|
||||||
fatal("setup vm pipe");
|
fatal("setup vm pipe");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
/* Child. Create a new session. */
|
/* Child. Create a new session. */
|
||||||
if (setsid() == -1)
|
if (setsid() == -1)
|
||||||
|
@ -764,21 +764,6 @@ vmm_start_vm(struct imsg *imsg, uint32_t *id, pid_t *pid)
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Toggle all fds to not close on exec. */
|
|
||||||
for (i = 0 ; i < vm->vm_params.vmc_ndisks; i++)
|
|
||||||
for (j = 0; j < VM_MAX_BASE_PER_DISK; j++)
|
|
||||||
if (vm->vm_disks[i][j] != -1)
|
|
||||||
fcntl(vm->vm_disks[i][j], F_SETFD, 0);
|
|
||||||
for (i = 0 ; i < vm->vm_params.vmc_nnics; i++)
|
|
||||||
fcntl(vm->vm_ifs[i].vif_fd, F_SETFD, 0);
|
|
||||||
if (vm->vm_kernel != -1)
|
|
||||||
fcntl(vm->vm_kernel, F_SETFD, 0);
|
|
||||||
if (vm->vm_cdrom != -1)
|
|
||||||
fcntl(vm->vm_cdrom, F_SETFD, 0);
|
|
||||||
if (vm->vm_tty != -1)
|
|
||||||
fcntl(vm->vm_tty, F_SETFD, 0);
|
|
||||||
fcntl(env->vmd_fd, F_SETFD, 0); /* vmm device fd */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Prepare our new argv for execvp(2) with the fd of our open
|
* Prepare our new argv for execvp(2) with the fd of our open
|
||||||
* pipe to the parent/vmm process as an argument.
|
* pipe to the parent/vmm process as an argument.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue