onos | Open Network Operating System | Networking library

 by   opennetworkinglab Java Version: 2.5.9 License: Apache-2.0

kandi X-RAY | onos Summary

kandi X-RAY | onos Summary

onos is a Java library typically used in Networking applications. onos has no bugs, it has a Permissive License and it has high support. However onos has 13 vulnerabilities and it build file is not available. You can install using 'npm i gui2-topo-lib' or download it from GitHub, npm.

ONOS is the only SDN controller platform that supports the transition from legacy “brown field” networks to SDN “green field” networks. This enables exciting new capabilities, and disruptive deployment and operational cost points for network operators.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              onos has a highly active ecosystem.
              It has 1082 star(s) with 745 fork(s). There are 165 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              onos has no issues reported. There are 70 open pull requests and 0 closed requests.
              It has a positive sentiment in the developer community.
              The latest version of onos is 2.5.9

            kandi-Quality Quality

              onos has no bugs reported.

            kandi-Security Security

              onos has 13 vulnerability issues reported (2 critical, 5 high, 6 medium, 0 low).

            kandi-License License

              onos is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              onos releases are not available. You will need to build from source code and install.
              Deployable package is available in npm.
              onos has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed onos and discovered the below as its top functions. This is intended to give you an instant insight into onos implemented functionality, and help decide if they suit your requirements.
            • Builds a Match .
            • Parse path attributes .
            • Handle set field .
            • Maps an action to an action .
            • Verifies the next group .
            • Reverses the traffic treatment .
            • Private method used to process etherType specific items
            • Update the forward objectives for an interface .
            • Process a DHCP packet from the client .
            • Process a BGP open message .
            Get all kandi verified functions for this library.

            onos Key Features

            No Key Features are available at this moment for onos.

            onos Examples and Code Snippets

            No Code Snippets are available at this moment for onos.

            Community Discussions

            QUESTION

            Setting up Docker Containers and Network with Terraform
            Asked 2020-Sep-01 at 07:03

            I'm new to Terraform and just did all the Tutorials i could find about it. I have set up Multiple Docker Containers and a Network, Currently starting it with a shell skript. The general plan would be, to be able to start my testbed and all its components with Terraform (Like ONOS with containernet, Routers, ...).

            My First Question would, is Terraform made for that kind of Question? Or would you suggest anything different. I thought using Terraform would make it Easy to write new Scenarios. AT this Point I use the Shell skripts to build and run the Docker Containers. Does it make sense to let Terraform do the RUN (not build) task?

            Thanks for your Help & Opinions

            I'm new to Stack, it would be awesome if you explain a downvote - so i can learn to do it better.

            edit ( Build file deleted - unnecassary)

            ...

            ANSWER

            Answered 2020-Aug-26 at 10:17

            The general plan would be, to be able to start my testbed and all its components with Terraform

            Tl;Dr

            Don't do this.

            This isn't what terraform is for. Terraform provisions infrastructure. So (as an example) if you want an azure function, you write a terraform file that describes what this looks like then run terraform to create it. It doesn't (nor should it) run your function. It simply describes how Azure should create these structures prior to them being ran.

            It seems you actually want a build pipline that uses terraform as part of that process to provision the infrastructure. The build script would then run the containers once terraform had done it's job

            Source https://stackoverflow.com/questions/63438449

            QUESTION

            Getting error while clicking on custom GUI navigation item in ONOS 2.4.0
            Asked 2020-Jul-14 at 06:12

            I have a custom GUI app created using onos-create-app cli which uses ui2 maven archetype for creating the application. The first time I run mvn clean install on it, it threw error:-

            Generic type 'FactoryDef' requires 1 type argument(s)

            I searched online and found that to fix this I need to upgrade from Angular 9.0 to Angular 9.1. After doing so, mvn clean install generated the oar file which I installed into onos 2.4.0. The installation and it's activation succeeded.

            I could see my custom gui's VIEW_TEXT being displayed in the navigation menu. Once I click on it, the following error comes:-

            Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'foo-app-app'.

            The VIEW_ID is foo-app-app in my generated gui app. I am not sure how to solve this. I have downloaded onos 2.4.0 and not built it from source using bazel.

            ...

            ANSWER

            Answered 2020-Jul-14 at 06:12

            After doing thorough research through onos wiki docs and github README's, these are the following ways I have found to be working for me:-

            ONOS source code changes for custom gui2 application (Run Time implementation)

            (Do these changes after ensuring you're in in the correct version of onos - checkout onos-2.4 branch in this case ):-

            Let us say that our application has two parts, one is the backend and one is the frontend.

            The backend application code can be made independent of onos source code and then we can install it in our compiled onos application as we had been doing for version prior to 2.0.

            For the frontend application code, all changes will be made under onos/web/gui2/ directory of onos source code. This ensures that we only need to build new gui2 oar when frontend code changes and not the whole source code. This allows us to reinstall gui2 oar in our compiled onos application.

            Let frontend application’s directory be called customApp.

            In your onos source code,

            1. Go to onos/web/gui2/src/main/webapp/app/view and create customApp directory.

              customApp directory can have the following structure:-

              • Create a directory named custom-app which will include following files:-
                • customApp.component.ts
                • customApp.component.html
                • customApp.component.css
              • A file named customApp.module.ts which is our top level Angular module.
              • A BUILD bazel file.

            Note:- You’re free to follow your own directory structure for the angular app as more and more components are added. This structure is what onos gui follows by default (See device for reference). The naming convention is not strict.

            1. Go to onos/web/gui2/src/main/webapp/app and open BUILD file.

            2. Go to deps section of ng_module and add //web//gui2/src/main/webapp/app/view/customApp:gui2-view-customApp in it. Go to onos/web/gui2/src/main/webapp/onos-routing.module.ts and inside the onosRoutes list, add the following: -

            Source https://stackoverflow.com/questions/62698926

            QUESTION

            How does OpenDayLight discover the network?
            Asked 2020-Apr-17 at 16:39

            When I used the ONOS Controller, which uses the OpenFlow Discovery Protocol, each switch had send a PacketIN encapsulated LLDP message back to the controller. These PacketINs are answering the LLDP messages the controller has send to discover the network. This was checked using wireshark. I wanted to check if OpenDayLight had the same behaviour, but there were no PacketINs.

            Thats why I wanted to know how ODL gets topology information without receiving any LLDP packages ?

            ...

            ANSWER

            Answered 2020-Apr-17 at 16:39

            Try installing these three features:

            Source https://stackoverflow.com/questions/61254990

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            Linux foundation ONOS 1.9.0 is vulnerable to unauthenticated upload of applications (.oar) resulting in remote code execution.
            Linux foundation ONOS 1.9.0 allows unauthenticated use of websockets.
            Linux foundation ONOS 1.9.0 is vulnerable to a DoS.
            Linux foundation ONOS 1.9 is vulnerable to XSS in the device. registration
            ONOS ONOS Controller version 1.13.1 and earlier contains a Denial of Service (Service crash) vulnerability in OVSDB component in ONOS that can result in An adversary can remotely crash OVSDB service ONOS controller via a normal switch.. This attack appear to be exploitable via the attacker should be able to control or forge a switch in the network..
            Authentication Bypass by Spoofing in org.onosproject.acl (access control) and org.onosproject.mobility (host mobility) in ONOS v2.0 and earlier allows attackers to bypass network access control via data plane packet injection. To exploit the vulnerability, an attacker sends a gratuitous ARP reply that causes the host mobility application to remove existing access control flow denial rules in the network. The access control application does not re-install flow deny rules, so the attacker can bypass the intended access control policy.

            Install onos

            ONOS is built with Bazel, an open-source build tool developed by Google. We suggest downloading and installing Bazel using the official instructions. The minimum required Bazel version is 1.0.0.
            Clone the code from the ONOS Gerrit repository
            Optionally, you can add the ONOS developer environment to your bash profile. This will provide access to a number of handy commands to run, test and debug ONOS. No need to do this step again if you had done this before:
            Build ONOS with Bazel

            Support

            ONOS code is hosted and maintained using Gerrit. Code on GitHub is only a mirror. The ONOS project does NOT accept code through pull requests on GitHub.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/opennetworkinglab/onos.git

          • CLI

            gh repo clone opennetworkinglab/onos

          • sshUrl

            git@github.com:opennetworkinglab/onos.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Networking Libraries

            Moya

            by Moya

            diaspora

            by diaspora

            kcptun

            by xtaci

            cilium

            by cilium

            kcp

            by skywind3000

            Try Top Libraries by opennetworkinglab

            ngsdn-tutorial

            by opennetworkinglabJava

            flowvisor

            by opennetworkinglabJava

            onos-p4-tutorial

            by opennetworkinglabJava

            onos-app-samples

            by opennetworkinglabJava

            OnosSystemTest

            by opennetworkinglabPython