netopeer/

directory
v0.0.0-...-8f485f0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2021 License: Apache-2.0

README

Netopeer NETCONF Server

Introduction

The netopeer container package provides the netopeer netconf service along with a framework to ensure proper interaction with the Voltha service.

NOTE

The netopeer package offers a framework to enable interaction with Voltha through 
NETCONF RPC calls.  Only a few calls have been implemented to demonstrate how it can be done.
Therefore, it is not a fully functional service and it is up to the community to enhance it by
adding support for standard models (e.g. BBF).

Package Content

The package contains the necessary components to successfully build and deploy the netopeer container.

voltha-grpc-client:

GRPC client golang library to interact with the Voltha GRPC service. 

It is compiled as a shared library to serve as a layer between a NETCONF TransAPI C library 
and the Voltha architecture. 

TransAPI library -- Voltha GRPC client -- Voltha 

voltha-netconf-model

Sample golang library used to translate between a C data structure to the format
defined by a given YANG model.  This sample uses the VOLTHA YANG model as a reference.

This package was implemented to facilitate the serialization from C to XML and thus,
is totally optional.

voltha-transapi

Sample transAPI library to add support for the Voltha YANG model to the Netopeer netconf server.
This library can be used as a template to add support for other YANG models.

The following command was used to build the initial skeleton of the model.

```
lnctool --model voltha.yang transapi
```

The package was also modified to simplify the installation process of dependent 
libraries such as voltha-grpc-client.

Build

If you wish to build this package, execute the following command.

make netopeer

Please note that the netopeer container does not currently get built by default.

Dependencies

The netopeer container expects a running Voltha environment.

Deploy

A docker-compose configuration is available to start the instance.

docker-compose -f compose/docker-compose-netopeer.yml -p nc up -d

Using the built-in Netconf client

This installation also comes with the netopeer-cli.

To use it, you will first need to change the root passwd to allow you to login to the netconf-server

  • Access the console of the netopeer docker instance

    docker exec -ti <instance name> bash

  • Change the root passwd

    [root@76531624ce88 /]# passwd
    Changing password for user root.
    New password: <enter your new password>
    Retype new password: <enter your new password again>
    passwd: all authentication tokens updated successfully.
    [root@76531624ce88 /]# 
    
  • Start the netopeer-cli

    [root@76531624ce88 /]# netopeer-cli
    netconf>
    
  • Connect to the local netconf-server instance

    netconf> connect localhost
    root@localhost password: <password that you configured above>
    
  • Issue a sample RPC command

    netconf> user-rpc
    
  • Enter the following request:

    <voltha:VolthaGlobalService-GetVoltha xmlns:voltha="urn:opencord:params:xml:ns:voltha:voltha"/>
    
  • Sample output

    netconf> user-rpc
    
    Result:
    <voltha>
        <version>0.9.0</version>
        <log_level>INFO</log_level>
        <instances/>
        <adapters/>
        <logical_devices/>
        <devices/>
        <device_groups/>
    </voltha>
    

Directories

Path Synopsis
* Copyright 2017-present Open Networking Foundation * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2017-present Open Networking Foundation * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
voltha
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/adapter
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/common
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/device
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/events
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/health
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/logical_device
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/meta
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/openflow_13
Package openflow_13 is a generated protocol buffer package.
Package openflow_13 is a generated protocol buffer package.
voltha/ponsim
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
voltha/schema
Package schema is a generated protocol buffer package.
Package schema is a generated protocol buffer package.
voltha/yang_options
Package voltha is a generated protocol buffer package.
Package voltha is a generated protocol buffer package.
* Copyright 2017-present Open Networking Foundation * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright 2017-present Open Networking Foundation * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL