GithubHelp home page GithubHelp logo

opx-docs's Introduction

opx-docs

This OpenSwitch repo contains the manifest file for the repo tool used to pull down sources for the OpenSwitch OPX project. The OpenSwitch OPX project is the switch abstraction interface (SAI) host-adapter originally written by Dell, and contributed to the OpenSwitch project. It is assumed that you are familiar with Linux and have basic development knowledge.

Read the documentation

See OpenSwitch OPX documentation for complete information.

Get OpenSwitch NAS

There are two ways to get the OpenSwitch OPX:

  • Download and install binaries — see Installation below for complete information, or
  • Build from scratch — see the step-by-step instructions below to build the project.

Build environment recommendations

  • Intel multi-core
  • Ubuntu 16.04 or later (desktop edition with Python installed)
  • 20G available free disk space
  • bash (most shell commands refer to bash commands — we like csh as well)

The build environment

Updated environment: sudo apt-get update

  • GIT: sudo apt-get install git

  • Repo: See http://source.android.com/source/downloading.html to install the repo.

      Make sure you have a bin/ directory in your home directory and that it is included in your path:
      
      $ mkdir ~/bin
      $ PATH=~/bin:$PATH
    
      Download the repo tool and ensure that it is executable:
      
      $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
      $ chmod a+x ~/bin/repo
    
  • apt-utils: sudo apt-get install apt-utils

  • See Docker environment setup guide for complete information.

      $ sudo apt-get install docker.io
      $ sudo apt-get install docker-engine
      $ sudo service docker start    
    
  • To avoid running Docker commands as root (with sudo):

      $ sudo groupadd docker ### The 'docker' group might already exist
      $ sudo gpasswd -a ${USER} docker ### Add your user id to the 'docker' group
      $ sudo service docker restart
    
  • You may need to log out/in to activate the changes to groups

  • Ensure that you have proper permissions to close the source file (ssh keys must be installed)

NOTE: Setup your ssh keys with GitHub Settings > keys (we are using git over ssh).

Clone the source code

To get the source files for the OpenSwitch OPX, run the commands in an empty directory (root directory). For example: ~/dev/openswitch/:

$ repo init -u ssh://[email protected]/open-switch/opx-nas-manifest.git
$ repo sync

Build the code

Setup your path to include opx-build-tools/scripts folder (if you plan to run this command often, you could optionally add it to the .bashrc):

$ cd opx-build-tools/scripts
$ export PATH-=$PATH:$PWD

OPX Docker environment

To setup your Docker OPX image, use the script in the opx-build-tools/scripts folder called opx_setup. This script builds a Docker container called docker-opx which will be used by the build scripts:

$ cd opx-build-tools/scripts/
$ opx_setup

Test your environment

You can run opx_build in the opx-logging directory (opx-logging repo):

$ cd opx-logging
$ opx_build -- clean binary

Build one repository

See the corresponding README.md file associated with the repo for the specific build commands, along with package dependencies.

Build all repositories

Issue the opx_build_all command from the root directory to build all repos and create packages in the same root directory.

$ opx_build_all

Installation

Once all of the repos have been built, you can install the created ONIE Debian x86_64 image. You can then install all of the build packages, along with other Debian files you downloaded earlier in the root directory.

See Install OpenSwitch OPX on Dell S6000 Platform for complete information.

(c) 2017 Dell

opx-docs's People

Contributors

amybuck avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.