Infinera GRPC Reference Guide
Infinera GRPC Reference Guide
Release 20.0
Version 001
Document ID 1900-001651
Infinera Corporation
140 Caspian Court
Sunnyvale, California 94089
www.infinera.com
- Please refer to the Infinera Customer Web Portal for the most recent version of this document. -
                                                                                                                                       Contents
Copyright.......................................................................................................................................................5
Trademarks...................................................................................................................................................7
About this Document...................................................................................................................................13
      Documentation Feedback...................................................................................................................................... 14
      Technical Assistance..............................................................................................................................................15
Documentation Feedback
Infinera strives to constantly improve the quality of its products and documentation. Please submit
comments or suggestions regarding Infinera Technical Product Documentation using any of the following
methods:
     ■ Submit a service request using the Infinera Customer Web Portal
     ■ Send email to:
     ■ Send mail to the following address:
        Attention: Infinera Technical Documentation and Technical Training
        Infinera Corporation
        140 Caspian Court
        Sunnyvale CA 94089
When submitting comments, please include the following information:
     ■ Document name and document ID written on the document cover page
     ■ Document release number and version written on the document cover page
     ■ Page number(s) in the document on which there are comments
Technical Assistance
Customer Support for Infinera products is available, 24 hours a day, 7 days a week (24x7). For
information or assistance with Infinera products, please contact the Infinera Technical Assistance Center
(TAC) using any of the methods listed below:
   ■ Email:
   ■ Telephone:
          □ Direct within United States: 1-408-572-5288
          □ Outside North America: +1-408-572-5288
          □ Toll-free within United States: +1-877-INF-5288 (+1-877-463-5288)
          □ Toll-free within Germany/France/Benelux/United Kingdom: 00-800-4634-6372
          □ Toll-free within Japan: 010-800-4634-6372
   ■ Infinera corporate website:
   ■ Infinera Customer Web Portal:
Please see the Infinera Customer Web Portal to view technical support policies and procedures, to
download software updates and product documentation, to view training course information, or to create/
update incident reports and RMA requests.
gRPC PM Telemetry
General Remote Procedure Calls (gRPC) is the management interface used to collect the Telemetry PM
data from a network element. The gRPC telemetry streaming feature provides the network monitoring
functions in which data, such as Performance Monitoring (PM), Alarms or Events, is streamed
continuously from the device at a prescribed interval.
The gRPC transport method uses HTTP2 bidirectional streaming between the gRPC client (the collector)
and the gRPC server (the device). The device in this case is a network element. A gRPC session is a
single connection from the gRPC client to the gRPC server over TLS. A maximum of three gRPC
sessions is supported and maximum number of subscription paths per session is 20.
A subscription is initiated from the gRPC client by sending a "Subscribe" RPC that contains a
"SubscribeRequest" message to the gRPC server. When a subscription is successfully initiated on the
gRPC server, “SubscribeResponse” message are sent from the gRPC server to the gRPC client. The
following eaxample describes this request and response scenario.
gRPC PM Telemetry is supported on XT-3300 and MTC-6/MTC-9 chassis. The PM reporting time interval
is configurable and PM data is reported and streamed to the subscribed gRPC client at the configured
interval.
By default, gRPC is disabled and enabled as part of NETCONF, RESTCONF, TL1 and CLI interface.
The gRPC client can query IQ NOS to discover the supported capabilities listed in the below table. The
gRPC client can subscribe for any or all the capabilities and receive realtime information for the
subscribed objects/capabilities. Each of the capability is represented by a yang file. The yang file provides
the detailed description of the attributes received for each objects.
      Note: See Infinera XT-3300 and MTC gRPC Openconfig Mappings xls for a detailed list of MTC and
      XT-3300 Openfig yangs with each of the Openconfig attributes mapped to respective managed object
      (MO) types and various Infinera attributes.
Description
A subscription is initiated from the gRPC client by sending a "Subscribe" RPC that contains a
"SubscribeRequest" message to the gRPC server. When a subscription is successfully initiated on the
gRPC server, “SubscribeResponse” message is sent from the gRPC server to the gRPC client. The
following procedure describes configuring gRPC on the network element.
Required Equipment
   ■ XT(S)-3300
   ■ Craft computer with terminal emulation software (such as HyperTerminal) and FTP capabilities
   ■ gRPC library and gNMI.proto file
   ■ X.509 TLS certificate
Assumptions
      ■ The line system has been previously installed and initially configured
      ■ The field technician performing this procedure is familiar with the XT(S)-3300
      ■ The field technician performing this procedure is familiar with Turn-Up and Test procedures
      ■ The field technician performing this procedure is familiar with CLI/TL1 commands
      ■ he field technician performing this procedure is familiar with gRPC Telemetry functionality
Additional Information
The following fields is currently supported on the gNMI.proto file.
Subscription
      ■ SubscribeRequest
      ■ SubscribeResponse
      ■ Path
      ■ PathElem
      ■ TypedValue
      ■ enum Encoding
Capability
      ■ CapabilityRequest
      ■ CapabilityResponse
      ■ ModelData
    Method
    Workflow for gRPC PM telemetry:
    1. Download and install the X.509 TLS certificates
    2. Enable TLS connection on the network element
    3. Enable gRPC on the network element.
    4. Download the gRPC library and gNMI.proto file
    5. Compile the gNMI.proto file
    6. Ensure that gRPC client is running with client code
    7. Login to the network element from the gRPC client
Step 1 Install the x.509 certificates for TLS on the network element. Enter:
       crypto certificate x509 <local|peer> <AID> [Apptype <TLS|MACSec>]
       [passphrase <passphrase_value>] [password <pswd>] [uri <loc>]
       Example:
       (config)# crypto certificate x509 local 1-Local152NE Apptype TLS passphrase
       TLSCert password admin2 uri sftp://User 2@10.220.66.122:/home/new/
       Certificates/TLSCert_MA9017205507.pfx
Step 2 Enable a TLS connection on the network element. To enable TLS, enter:
       security profile <profilename> <profileattribute>
       Example:
       (config)# security profile PROFILE HttpSecurityEnforced true TLSCertName
       TLSCertificate
Step 3 Enable gRPC on the network element. To enable gRPC and to set the PM reporting time interval (in
       milliseconds), enter:
       system GrpcFeature <Enabled|Disabled> SampleInterval <UnsignedInt>
       Example:
       (config)# system GrpcFeature Enable SampleInterval 30000
            Note: This command allows you to set the PM reporting time interval (in milliseconds) and PM
            data is reported and streamed to the subscribed gRPC client at the configured interval. The valid
            range is 10000 msec to 1800000 msec. Default is 30000 msec.
            Note: When a gRPC session is lost due to a warm reboot or SW upgrade, the gRPC session has
            to be re-initiated.
Step 4 On the gRPC client, Download the gRPC library and the gNMI.proto file from https://github.com/
       grpc/grpc
Step 5 Compile the gNMI.proto file using a protocol buffer compiler to generate the client code.
Step 6 Ensure that gRPC client is running with the client code generated in the previous step.
Step 7 Login to the network element from gRPC client to establish the gRPC session.
       To Login to the network element, provide the following information in this order:
            ■ DCN IP - Specify the DCN IP address of the network element
            ■ [username password routerIdOfSne] - Specify the Username and Password of the Network
               Element and incase of connecting to a SNE, specify its Router ID
                     key: "MoId"
                     value: "1-FANSHELF-1"
                 }
             }
           }
           val {
             json_val: "{\"inRpmRaw\":12760.0}"
           }
       }
   }
   This section describes the procedure to configure the gRPC Network Element Properties for PM data
   collection.
Step 1 Log into the DNA with network administrator or network engineer privileges.
Step 2 Do one of the following:
          ■ In the Provisioning/Physical View window, select the network element and then choose
             Configuration > Configure Network Element.
          ■ In the Provisioning/Physical View window, right-click the network element and choose
             Properties.
          ■ In the Equipment Tree of the Chassis View, right-click the network element and choose
             Properties. If the network element is still being discovered (network element icon is Blue in
             color), the Network Element Properties window will not be displayed.
          ■ In the DNA Tree View, right-click the network element and choose Properties.
          ■ In the Node Manager, double click a network element/chassis.
          ■ In the Equipment Tree, right click the network element and choose Properties.
Step 1 Login to the DNA Client with network administrative/turn-up and test/network engineer privileges.
Step 2 In the Physical View, right-click the network element on which the gRPC settings have been
       configured and select Properties. The Network Element Properties window is displayed.
Step 3 In the Network Element Properties window, go to the gRPC panel.
Step 4 Click Apply to Multiple Nodes. The Multi Node Server Setting Administration window is displayed. The
       Reference Node Name panel displays the name of the network element from which this window is
       launched. The gRPC settings configured on this network element will be applied to multiple network
       elements.
Step 5 [Optional]To filter the list of network elements displayed in the Target nodes to Apply panel, select the
       network element from the Filter drop-down menu. To search for a network element, enter the node
       name, node type or the software version in the Search panel.
Step 6 Depending on the node type from which the dialog is launched, the Target nodes to Apply panel
       displays similar type of network elements. In the Target nodes to Apply panel, select the network
       elements to which the gRPC server settings is to be applied. Select the desired option(s) from the
       table:
                                  To...                                            Click...
          select an entry from the table                     ■ the entry in the table and click Select
                                                             ■ the checkbox for the selected row
          de-select an entry                                 ■ the entry in the table and click UnSelect
                                                             ■ the checkbox for the selected row
          select all entries                              SelectAll
          de-select all entries                           UnSelectAll
Step 7 Click Apply. The Bulk Configuration Status panel displays the status of the gRPC Server settings
       configuration on the network elements. The information in the Bulk configuration Status panel can be
       filtered. Click the drop-down arrow in the column based on which the filter is to be applied and make
       the desired selection.
Step 8 Repeat Step 2 to Step 9 for entries that failed.
Step 9 [Optional]To export the information displayed in the Bulk Configuration Status panel to a TSV file, click
       Export Status. In the Save window, navigate to the location where the file is to be saved and click
       Save.
Step 10 [Optional]To print the status of the operation just performed, click Print Status. The file status operation
        can be printed to a PDF file or can be directed to the printer. The Print dialog is displayed. Select the
        desired option from Name drop-down. Click Print.
Step 11 Click Close to close the Multi Node gRPC Server Setting Administration window.
    This section describes the procedure to configure the gRPC Network Element Properties for PM data
    collection sing TL1 interface.
Step 1 Log into the TL1 interface with network administrator or network engineer privileges.
Step 2 Enter the below TL1 command to enable gRPC feature and to enter the value for gRPC PM collection
       interval
       ed-sys:::c:::grpc=Enable;
       ed-sys:::c:::SAMPLEINTERVAL=30000;
Step 3 Use the following command to view the attributes of the network element.
       RTRV-SYS:::ea;
       The following message is returned indicating successful completion.
       sandhya_XTC4 18-06-19 09:54:04
       M c COMPLD
       "::LABEL=,NENAME=sandhya_XTC4,CLLI=,NETYPE=DON,NODEID=SIM167181027,SITEID=
       Infinerasite,LOCATION1=,LOCATION2=,LATITUDE=,LONGITUDE=,SYSDATE=
       2018-06-19,SYSTIME=09-54-04,SYSACTIVEDATE=2018-06-11,SYSACTIVETIME=
       11-15-13,DBVERS=DB_1820057120180611091522,SWVERSION=R18.2.0.0571,ROUTERID=
       10.100.167.186,DCNIP=10.220.167.186,DCNIPNETMASK=255.255.240.0,DCNIP6=
       ,DCNIP6NETMASK=0,CRAFTIP=192.168.0.1,CRAFTIPNETMASK=255.255.255.0,CRAFTIP6=
      \"::ffff:192.168.0.1\",CRAFTIP6NETMASK=112,DCNIP6LINKLOCAL=\"fe80::20c:
      29ff:fefe:341a\",GNE=ENABLED,TL1PORT=9090,AUXIP=0.0.0.0,AUXMASK=
      0.0.0.0,PRIMGNEADDR=0.0.0.0,SECGNEADDR=0.0.0.0,DCNDEST=10.0.0.0,DCNGTWY=
      10.220.164.1,DCNDESTPREFIXLEN=8,DCNROUTETYPE=Local,DCNROUTECOST=
      1,DCNGLOBALROUTE=false,DCNDEST6=\"::\",DCNGTWY6=\"::\",DCNDEST6PREFIXLEN=
      0,DCN6ROUTETYPE=Local,DCN6ROUTECOST=512,SWBUILDINFO=
      R18.2.0.0571,XMLPROXYPORT=
      15073,FTPPROXYPORT=10021,TNETPROXYPORT=10023,HTTPPROXYPORT=
      10080,AVAILABLEPERSISTENTSPACE=2535263232,TOTALPERSISTENTSPACE=
      3758096384,SYSRESETNEEDED=false,ARCCTRL=LeaveAlarms,AUXTOSCHG=
      DISABLED,AUXIFRATE=1,AUXIFSTATUS=ENABLED,CRAFTIFSTATUS=
      ENABLED,OSCOOBENABLE=
      FALSE,TLPBKCTRL=BridgeSignal,LASTUPGRADEDATE=UNKNOWN,LASTUPGRADETIME=
      UNKNOWN,RESTHOLDOFFTIMER0=0,RESTHOLDOFFTIMER1=0,RESTHOLDOFFTIMER2=
      0,RESTHOLDOFFTIMER3=0,RESTHOLDOFFTIMER4=0,RESTHOLDOFFTIMER5=
      0,RESTHOLDOFFTIMER6=0,RESTHOLDOFFTIMER7=0,ENHPROTSW=
      DISABLED,ALSADMINPOLICY=
      Block,NCSHELFID=1,MIGRATESTAT=Disabled,DCNIFADSTAT=
      Enabled,LASTPREPUPGRADEDATE=UNKNOWN,LASTPREPUPGRADETIME=
      UNKNOWN,PREPUPGRADESUCCESSDATE=UNKNOWN,PREPUPGRADESUCCESSTIME=
      UNKNOWN,UPGRADESTAT=Idle,SYSLOG=Disable,DBBACKUPMODE=MODE0,SAMPLEINTERVAL=
      30000,GRPC=Enable"
      ;
    This section describes the procedure to configure the gRPC Network Element Properties for PM data
    collection sing CLI interface.
Step 1 Log into the CLI interface with network administrator or network engineer privileges.
Step 2 Enter the below CLI command to disable gRPC feature and to enter the value for gRPC PM collection
       interval
       system GrpcFeature Disable SampleInterval 30000
Step 3 Use the following command to view the attributes of the network element.
       show running-config system
       The following message is returned indicating successful completion.
       system
        Label                                               ""
        NeName                                              NE79
        NeType                                              XT
        DcnIp                                               10.220.67.79
        DcnIpNetMask                                        255.255.240.0
        DcnDestination                                      10.0.0.0
        DcnRouteType                                        Local
        DcnRouteCost                                        1
      Dcn6RouteType                             Local
      Dcn6RouteCost                             512
      DcnGateway                                10.220.64.1
      DcnPrefixLen                              8
      DcnIp6                                    ""
      DcnIp6NetMask                             0
      DcnDestination6                           ::
      DcnGateway6                               ::
      DcnPrefixLen6                             0
      DcnInterfaceAdminState                    Enabled
      PrimaryGneIp                              0.0.0.0
      SecondaryGneIp                            0.0.0.0
      SysLogFeature                             Disable
      Clli                                      ""
      CraftIp                                   192.168.0.1
      CraftIpNetMask                            255.255.255.0
      CraftIp6                                  ::ffff:192.168.0.1
      CraftIp6NetMask                           112
      GatewayProxyEnabled                       true
      AuxIp                                     0.0.0.0
      AuxIpNetMask                              0.0.0.0
      ArcBehaviour                              LeaveAlarms
      EnableAuxTosByteAlteration                Disabled
      AuxPortRate                               1
      AuxIPInterfaceAdministrativeState         UnLocked
      CraftIPInterfaceAdministrativeState       UnLocked
      RestHoldOffTimer0                         0
      RestHoldOffTimer1                         0
      RestHoldOffTimer2                         0
      RestHoldOffTimer3                         0
      RestHoldOffTimer4                         0
      RestHoldOffTimer5                         0
      RestHoldOffTimer6                         0
      RestHoldOffTimer7                         0
      EnhProtSw                                 Disabled
      ALSAdministrationPolicy                   Block
      Location1                                 ""
      Location2                                 ""
      Latitude                                  ""
      Longitude                                 ""
      MigrationStatus                           Disabled
      XmlPortId                                 5073
      CfgDbSaveMode                             Mode0
      SampleInterval                            30000
      GrpcFeature                               Disable
      SiteId                                    ""
This section describes the procedure to configure the gRPC Network Element Properties for PM data
collection sing NETCONF interface.
This section describes the procedure to configure the gRPC Network Element Properties for PM data
collection using RESTCONF interface.