Skip to content
Snippets Groups Projects
WR-SWITCH-MIB.txt 33.1 KiB
Newer Older
WR-SWITCH-MIB DEFINITIONS ::= BEGIN

-- Original MIB, Bugs and swearing by Alessandro Rubini
-- MIB rewritten by Adam Wujek, BE-CO-HT, CERN

-- During development all unused/not implemented objects are comented out
-- to avoid later changes

-- IMPORTS: Include definitions from other mibs here
IMPORTS
        OBJECT-TYPE, Integer32, Unsigned32, Counter32, Counter64,
        MODULE-IDENTITY, enterprises          FROM SNMPv2-SMI
        DisplayString                         FROM SNMPv2-TC;

-- A brief description and update information about this mib.
-- (I follow the CamelCase to be sure I don't mistype. Who knows the rules...
    LAST-UPDATED "201503191600Z"
    ORGANIZATION "CERN"
    CONTACT-INFO "postal:   BE-CO-HT, CERN, Geneva
                  email:    ht-drivers@cern.ch
                 "
    DESCRIPTION  "White Rabbit Switch internal details
                 "
    ::= { cern 100 }

cern OBJECT IDENTIFIER ::= { enterprises 96 }

-- Define typical mib nodes
-- we'll prefix everything in this mib with wrs (White Rabbit Switch)
wrsScalar      OBJECT IDENTIFIER ::= { wrSwitchMIB 1 }
--wrsPstatsTable OBJECT IDENTIFIER ::= { wrSwitchMIB 2 }  == obsolete
--wrsPpsi        OBJECT IDENTIFIER ::= { wrSwitchMIB 3 }  == obsolete
--wrsVersion     OBJECT IDENTIFIER ::= { wrSwitchMIB 4 }  == obsolete
--wrsDate        OBJECT IDENTIFIER ::= { wrSwitchMIB 5 }  == obsolete
wrsExpertStatus       OBJECT IDENTIFIER ::= { wrSwitchMIB 6 }
wrsStatus            OBJECT IDENTIFIER ::= { wrSwitchMIB 254 }
-- define one stupid object for a start
wrsScalarOne   OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Integer incremented at every GET"
    ::= { wrsScalar 1 }
wrsOperationStatus      OBJECT IDENTIFIER ::= { wrsExpertStatus 1 }

-- wrsCurrentTimeGroup (.6.1.1)
wrsCurrentTimeGroup     OBJECT IDENTIFIER ::= { wrsOperationStatus 1 }

wrsDateTAI      OBJECT-TYPE
    SYNTAX      Counter64 -- actually integer, but it is unsigned so ok
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current time, in TAI seconds"
    ::= { wrsCurrentTimeGroup 1 }
wrsDateTAIString   OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current TAI time, printed as %y-%m-%d-%H:%M:%S (no time zone)"
    ::= { wrsCurrentTimeGroup 2 }

--wrsBootStatusGroup      OBJECT IDENTIFIER ::= { wrsOperationStatus 2 }
wrsTemperatureGroup     OBJECT IDENTIFIER ::= { wrsOperationStatus 3 }

-- wrsTemperatureGroup (.6.1.3)
wrsTempFPGA OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "FPGA temperature"
    ::= { wrsTemperatureGroup 1 }

wrsTempPLL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "PLL temperature"
    ::= { wrsTemperatureGroup 2 }

wrsTempPSL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Power Supply Left (PSL) temperature"
    ::= { wrsTemperatureGroup 3 }

wrsTempPSR OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Power Supply Right (PSR) temperature"
    ::= { wrsTemperatureGroup 4 }

wrsTempThresholdFPGA OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for FPGA temperature"
    ::= { wrsTemperatureGroup 5 }

wrsTempThresholdPLL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for PLL temperature"
    ::= { wrsTemperatureGroup 6 }

wrsTempThresholdPSL OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for Power Supply Left (PSL) temperature"
    ::= { wrsTemperatureGroup 7 }

wrsTempThresholdPSR OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Threshold level for Power Supply Right (PSR) temperature"
    ::= { wrsTemperatureGroup 8 }
wrsStartCntGroup      OBJECT IDENTIFIER ::= { wrsExpertStatus 2 }

-- wrsStartCntGroup (.6.2)
wrsStartCntHAL OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of HAL deamon starts"
    ::= { wrsStartCntGroup 1 }

wrsStartCntPPSI OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of PPSI deamon starts"
    ::= { wrsStartCntGroup 2 }

wrsStartCntRTUd OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RTU deamon starts"
    ::= { wrsStartCntGroup 3 }

wrsSpllState            OBJECT IDENTIFIER ::= { wrsExpertStatus 3 }
-- wrsSpllStatusGroup (.6.3.2)
wrsSpllStatusGroup      OBJECT IDENTIFIER ::= { wrsSpllState 2 }

wrsSpllMode        OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Mode of Soft PLL"
    ::= { wrsSpllStatusGroup 1 }

wrsSpllIrqCnt      OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of interrupts in Soft PLL"
    ::= { wrsSpllStatusGroup 2 }

wrsSpllSeqState    OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Sequence state of Soft PLL"
    ::= { wrsSpllStatusGroup 3 }

wrsSpllAlignState  OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Align state of Soft PLL"
    ::= { wrsSpllStatusGroup 4 }

wrsSpllHlock       OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "HLock in Soft PLL"
    ::= { wrsSpllStatusGroup 5 }

wrsSpllMlock       OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "MLock at Soft PLL"
    ::= { wrsSpllStatusGroup 6 }

wrsSpllHY          OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "H_y at Soft PLL"
    ::= { wrsSpllStatusGroup 7 }

wrsSpllMY          OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "M_y at Soft PLL"
    ::= { wrsSpllStatusGroup 8 }

wrsSpllDelCnt      OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Del counter at Soft PLL"
    ::= { wrsSpllStatusGroup 9 }

244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644
-- wrsPstatsTable (.6.1.4)
wrsPstatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF WrsPstatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information for each ptp servo"
    ::= { wrsExpertStatus 4 }

wrsPstatsEntry OBJECT-TYPE
    SYNTAX      WrsPstatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing ptp servo statuses"
    INDEX   { wrsPstatsIndex }
    ::= { wrsPstatsTable 1 }

WrsPstatsEntry ::=
    SEQUENCE {
        wrsPstatsIndex                 Unsigned32,
        wrsPstatsPortName              DisplayString,
        wrsPstatsTXUnderrun            Counter32,
        wrsPstatsRXOverrun             Counter32,
        wrsPstatsRXInvalidCode         Counter32,
        wrsPstatsRXSyncLost            Counter32,
        wrsPstatsRXPauseFrames         Counter32,
        wrsPstatsRXPfilterDropped      Counter32,
        wrsPstatsRXPCSErrors           Counter32,
        wrsPstatsRXGiantFrames         Counter32,
        wrsPstatsRXRuntFrames          Counter32,
        wrsPstatsRXCRCErrors           Counter32,
        wrsPstatsRXPclass0             Counter32,
        wrsPstatsRXPclass1             Counter32,
        wrsPstatsRXPclass2             Counter32,
        wrsPstatsRXPclass3             Counter32,
        wrsPstatsRXPclass4             Counter32,
        wrsPstatsRXPclass5             Counter32,
        wrsPstatsRXPclass6             Counter32,
        wrsPstatsRXPclass7             Counter32,
        wrsPstatsTXFrames              Counter32,
        wrsPstatsRXFrames              Counter32,
        wrsPstatsRXDropRTUFull         Counter32,
        wrsPstatsRXPrio0               Counter32,
        wrsPstatsRXPrio1               Counter32,
        wrsPstatsRXPrio2               Counter32,
        wrsPstatsRXPrio3               Counter32,
        wrsPstatsRXPrio4               Counter32,
        wrsPstatsRXPrio5               Counter32,
        wrsPstatsRXPrio6               Counter32,
        wrsPstatsRXPrio7               Counter32,
        wrsPstatsRTUValid              Counter32,
        wrsPstatsRTUResponses          Counter32,
        wrsPstatsRTUDropped            Counter32,
        wrsPstatsFastMatchPriority     Counter32,
        wrsPstatsFastMatchFastForward  Counter32,
        wrsPstatsFastMatchNonForward   Counter32,
        wrsPstatsFastMatchRespValid    Counter32,
        wrsPstatsFullMatchRespValid    Counter32,
        wrsPstatsForwarded             Counter32,
        wrsPstatsTRURespValid          Counter32
    }

wrsPstatsIndex OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
            "Index for wrsPstatsTable"
    ::= { wrsPstatsEntry 1 }

wrsPstatsPortName OBJECT-TYPE
    SYNTAX         DisplayString (SIZE (0..12))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Port name of port"
    ::= { wrsPstatsEntry 2 }

wrsPstatsTXUnderrun OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of TX underrun errors"
    ::= { wrsPstatsEntry 3 }

wrsPstatsRXOverrun OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX overrun errors"
    ::= { wrsPstatsEntry 4 }

wrsPstatsRXInvalidCode OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received invalid 8B10B code errors"
    ::= { wrsPstatsEntry 5 }

wrsPstatsRXSyncLost OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX link synchronization lost"
    ::= { wrsPstatsEntry 6 }

wrsPstatsRXPauseFrames OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received pause frames"
    ::= { wrsPstatsEntry 7 }

wrsPstatsRXPfilterDropped OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames dropped at pfilter"
    ::= { wrsPstatsEntry 8 }

wrsPstatsRXPCSErrors OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of errors occured during frame reception in PCS"
    ::= { wrsPstatsEntry 9 }

wrsPstatsRXGiantFrames OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received giant frames
            (bigger than Maximum Receive Unit)"
    ::= { wrsPstatsEntry 10 }

wrsPstatsRXRuntFrames OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received runt frames
            (smaller than 64bytes)"
    ::= { wrsPstatsEntry 11 }

wrsPstatsRXCRCErrors OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX CRC errors"
    ::= { wrsPstatsEntry 12 }

wrsPstatsRXPclass0 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 0 by packet filter in endpoint"
    ::= { wrsPstatsEntry 13 }

wrsPstatsRXPclass1 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 1 by packet filter in endpoint"
    ::= { wrsPstatsEntry 14 }

wrsPstatsRXPclass2 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 2 by packet filter in endpoint"
    ::= { wrsPstatsEntry 15 }

wrsPstatsRXPclass3 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 3 by packet filter in endpoint"
    ::= { wrsPstatsEntry 16 }

 wrsPstatsRXPclass4 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 4 by packet filter in endpoint"
    ::= { wrsPstatsEntry 17 }

wrsPstatsRXPclass5 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 5 by packet filter in endpoint"
    ::= { wrsPstatsEntry 18 }

wrsPstatsRXPclass6 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 6 by packet filter in endpoint"
    ::= { wrsPstatsEntry 19 }

wrsPstatsRXPclass7 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames assigned to
            class 7 by packet filter in endpoint"
    ::= { wrsPstatsEntry 20 }

wrsPstatsTXFrames OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of transmitted frames"
    ::= { wrsPstatsEntry 21 }

wrsPstatsRXFrames OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of received frames"
    ::= { wrsPstatsEntry 22 }

wrsPstatsRXDropRTUFull OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames dropped due to RTU full"
    ::= { wrsPstatsEntry 23 }

wrsPstatsRXPrio0 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 0"
    ::= { wrsPstatsEntry 24 }

wrsPstatsRXPrio1 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 1"
    ::= { wrsPstatsEntry 25 }

wrsPstatsRXPrio2 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 2"
    ::= { wrsPstatsEntry 26 }

wrsPstatsRXPrio3 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 3"
    ::= { wrsPstatsEntry 27 }

wrsPstatsRXPrio4 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 4"
    ::= { wrsPstatsEntry 28 }

wrsPstatsRXPrio5 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 5"
    ::= { wrsPstatsEntry 29 }

wrsPstatsRXPrio6 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 6"
    ::= { wrsPstatsEntry 30 }

wrsPstatsRXPrio7 OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of RX frames at internal priority 7"
    ::= { wrsPstatsEntry 31 }

wrsPstatsRTUValid OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of valid RTU requests"
    ::= { wrsPstatsEntry 32 }

wrsPstatsRTUResponses OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of valid RTU responses"
    ::= { wrsPstatsEntry 33 }

wrsPstatsRTUDropped OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of frames dropped at RTU"
    ::= { wrsPstatsEntry 34 }

wrsPstatsFastMatchPriority OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of priority frames matched by fast match"
    ::= { wrsPstatsEntry 35 }

wrsPstatsFastMatchFastForward OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of forwarded frames matched by fast match"
    ::= { wrsPstatsEntry 36 }

wrsPstatsFastMatchNonForward OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of not forwarded frames matched by fast match"
    ::= { wrsPstatsEntry 37 }

wrsPstatsFastMatchRespValid OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of fast match decisions"
    ::= { wrsPstatsEntry 38 }

wrsPstatsFullMatchRespValid OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of full match decisions"
    ::= { wrsPstatsEntry 39 }

wrsPstatsForwarded OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of forwarded frames"
    ::= { wrsPstatsEntry 40 }

wrsPstatsTRURespValid OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Number of TRU decisions"
    ::= { wrsPstatsEntry 41 }

-- wrsPtpDataTable (.6.1.5)
wrsPtpDataTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF WrsPtpDataEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information for each ptp servo"
    ::= { wrsExpertStatus 5 }

wrsPtpDataEntry OBJECT-TYPE
    SYNTAX      WrsPtpDataEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing ptp servo statuses"
    INDEX   { wrsPtpDataIndex }
    ::= { wrsPtpDataTable 1 }

WrsPtpDataEntry ::=
    SEQUENCE {
        wrsPtpDataIndex         Unsigned32,
        wrsPtpPortName          DisplayString,
        wrsPtpGrandmasterID     OCTET STRING,
        wrsPtpOwnID             OCTET STRING,
        wrsPtpMode              INTEGER,
        wrsPtpServoState        DisplayString,
        wrsPtpServoStateN       INTEGER,
        wrsPtpPhaseTracking     INTEGER,
        wrsPtpSyncSource        DisplayString,
        wrsPtpClockOffsetPs     Counter64,
        wrsPtpClockOffsetPsHR   Integer32,
        wrsPtpSkew              Integer32,
        wrsPtpRTT               Counter64,
        wrsPtpLinkLength        Unsigned32,
        wrsPtpServoUpdates      Counter32,
        wrsPtpDeltaTxM          Integer32,
        wrsPtpDeltaRxM          Integer32,
        wrsPtpDeltaTxS          Integer32,
        wrsPtpDeltaRxS          Integer32
    }

wrsPtpDataIndex OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
            "Index for wrsPtpDataTable"
    ::= { wrsPtpDataEntry 1 }

wrsPtpPortName OBJECT-TYPE
    SYNTAX         DisplayString (SIZE (0..12))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Port name on which servo instance is running"
    ::= { wrsPtpDataEntry 2 }

wrsPtpGrandmasterID OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The ClockID of the current grandmaster"
    ::= { wrsPtpDataEntry 3 }

wrsPtpOwnID OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The ClockID of this WR device"
    ::= { wrsPtpDataEntry 4 }

wrsPtpMode OBJECT-TYPE
    SYNTAX INTEGER {
                unknown(0),        -- same as WRC_MODE macros
                grandmaster(1),
                master(2),
                slave(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The mode of this clock"
    ::= { wrsPtpDataEntry 5 }

wrsPtpServoState OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The servo state if slave"
    ::= { wrsPtpDataEntry 6 }

wrsPtpServoStateN OBJECT-TYPE
    SYNTAX INTEGER {
                uninitialized(0),
                syncNsec(1),
                syncSec(2),
                syncPhase(3),
                trackPhase(4),
                waitSyncIdle(5),
                waitOffsetStable(6)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Numeric representation of servo state"
    ::= { wrsPtpDataEntry 7 }

wrsPtpPhaseTracking OBJECT-TYPE
    SYNTAX INTEGER {
               na(0),
               notTracking(1),
               tracking(2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Whether phase tracking is enabled in the servo"
    ::= { wrsPtpDataEntry 8 }

wrsPtpSyncSource OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The port name that is currently the synchronization source"
    ::= { wrsPtpDataEntry 9 }

wrsPtpClockOffsetPs OBJECT-TYPE
    SYNTAX      Counter64 -- integer64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Current clock offset from master, in picoseconds"
    ::= { wrsPtpDataEntry 10 }

wrsPtpClockOffsetPsHR OBJECT-TYPE
    SYNTAX      Integer32 -- should be something like gauge32, but with int range
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Human Readable current clock offset from master, in picoseconds with saturation to integer"
    ::= { wrsPtpDataEntry 11 }

wrsPtpSkew OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The estimated change of master-to-slave delay, in picoseconds"
    ::= { wrsPtpDataEntry 12 }

wrsPtpRTT OBJECT-TYPE
    SYNTAX      Counter64 -- unsigned64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The round-trip-time, from master, in picoseconds"
    ::= { wrsPtpDataEntry 13 }

wrsPtpLinkLength OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Estimated fiber length, from master-to-slave delay, in meters"
    ::= { wrsPtpDataEntry 14 }

wrsPtpServoUpdates OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "How many time did the servo run"
    ::= { wrsPtpDataEntry 15 }

wrsPtpDeltaTxM OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Fixed Tx latency on Master side"
    ::= { wrsPtpDataEntry 16 }

wrsPtpDeltaRxM OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Fixed Rx latency on Master side"
    ::= { wrsPtpDataEntry 17 }

wrsPtpDeltaTxS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Fixed Tx latency on Slave side"
    ::= { wrsPtpDataEntry 18 }

wrsPtpDeltaRxS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "Fixed Rx latency on Slave side"
    ::= { wrsPtpDataEntry 19 }

-- per-port (.6.1.6)
wrsPortStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF WrsPortStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information for each port"
    ::= { wrsExpertStatus 6 }

wrsPortStatusEntry OBJECT-TYPE
    SYNTAX      WrsPortStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing ports statuses"
    INDEX   { wrsPortStatusIndex }
    ::= { wrsPortStatusTable 1 }

WrsPortStatusEntry ::=
    SEQUENCE {
        wrsPortStatusIndex       Unsigned32,
        wrsPortStatusPortName    DisplayString,
        wrsPortStatusLink        INTEGER,
        wrsPortStatusMode        INTEGER,
        wrsPortStatusLocked      INTEGER,
        wrsPortStatusPeer        OCTET STRING,
        wrsPortStatusSfpVN       DisplayString,
        wrsPortStatusSfpPN       DisplayString,
        wrsPortStatusSfpVS       DisplayString,
        wrsPortStatusSfpInDB     INTEGER,
        wrsPortStatusSfpGbE      INTEGER,
        wrsPortStatusSfpError    INTEGER
    }

wrsPortStatusIndex OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION
            "Index for wrsPortStatusTable"
    ::= { wrsPortStatusEntry 1 }

wrsPortStatusPortName OBJECT-TYPE
    SYNTAX         DisplayString (SIZE (0..12))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Name of port"
    ::= { wrsPortStatusEntry 2 }

wrsPortStatusLink OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        down(1),
                        up(2)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Whether the link is up or down"
    ::= { wrsPortStatusEntry 3 }

wrsPortStatusMode OBJECT-TYPE
    SYNTAX         INTEGER {
                        unknown(0),
                        master(1),
                        slave(2),
                        nonWr(3),
                        auto(4)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Whether the port is master or slave"
    ::= { wrsPortStatusEntry 4 }

wrsPortStatusLocked OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        notLocked(1),
                        locked(2)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Whether the peers are locked or not"
    ::= { wrsPortStatusEntry 5 }

wrsPortStatusPeer OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(8))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "the ClockID of the peer, if available. Or 0"
    ::= { wrsPortStatusEntry 6 }

wrsPortStatusSfpVN OBJECT-TYPE
    SYNTAX         DisplayString (SIZE (0..32))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Vendor Name of SFP"
    ::= { wrsPortStatusEntry 7 }

wrsPortStatusSfpPN OBJECT-TYPE
    SYNTAX         DisplayString (SIZE (0..32))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Part Number of SFP"
    ::= { wrsPortStatusEntry 8 }

wrsPortStatusSfpVS OBJECT-TYPE
    SYNTAX         DisplayString (SIZE (0..32))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Vendor serial number of SFP"
    ::= { wrsPortStatusEntry 9 }

wrsPortStatusSfpInDB OBJECT-TYPE
    SYNTAX         INTEGER {na(0), notInDataBase(1), inDataBase(2)}
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Whether the SFP is in data base or not"
    ::= { wrsPortStatusEntry 10 }

wrsPortStatusSfpGbE OBJECT-TYPE
    SYNTAX         INTEGER {na(0), linkNotGbE(1), linkGbE(2)}
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
            "Whether the SFP is 1 GbE"
    ::= { wrsPortStatusEntry 11 }

wrsPortStatusSfpError OBJECT-TYPE
    SYNTAX         INTEGER {
                        na(0),
                        sfpOk(1),
                        sfpError(2),
                        portDown(3)
    }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION