Git Product home page Git Product logo

routing's Introduction

Routing libraries and topologies for Mininet

This repository contains a set of libraries and scripts that build on top of Mininet to construct topologies that include L3 routing elements. Quagga is used to construct routes that support a variety of routing protocols.

Dependencies

  • Mininet: sudo apt-get install mininet
  • Quagga: sudo apt-get install quagga
  • ipaddress: sudo pip install ipaddress (if that doesn't work use sudo apt-get install python-pip)

routing's People

Contributors

andrea-campanella avatar ccascone avatar charlesmcchan avatar cmingou avatar daniele-moro avatar fedegrc avatar hwchiu avatar jonohart avatar pierventre avatar rajpratik71 avatar ray-milkey avatar tcnieh avatar yi-tseng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

routing's Issues

errRun: ovs-vsctl

Hi,
I was trying fabric topology with trellis.py script .
Ubuntu 16.04.1 LTS
ovs_version: "2.5.2"

Got the following error.

...*** errRun: ovs-vsctl
ovs-vsctl: missing command name (use --help for help)
1...*** errRun: ovs-vsctl -- --if-exists del-br cs0 -- add-br cs0 -- set bridge cs0 controller=[] other_config:datapath-id=0000000000000000 fail_mode=standalone other-config:disable-in-band=true -- add-port cs0 cs0-eth1 -- set Interface cs0-eth1 ofport_request=1 -- add-port cs0 cs0-eth2 -- set Interface cs0-eth2 ofport_request=2 -- --if-exists del-br cs1 -- add-br cs1 -- set bridge cs1 controller=[] other_config:datapath-id=0000000000000001 fail_mode=standalone other-config:disable-in-band=true -- add-port cs1 cs1-eth1 -- set Interface cs1-eth1 ofport_request=1 -- add-port cs1 cs1-eth2 -- set Interface cs1-eth2 ofport_request=2 -- add-port cs1 cs1-eth3 -- set Interface cs1-eth3 ofport_request=3
0
*** Starting CLI:
*** errRun: ['stty', 'echo', 'sane', 'intr', '^C']
0mininet>

What could be he reason to et this error. Pleaes help to resove this.

Thanks ,

Can't run example

I'm trying to run the example as described in trellis/README.md but it doesn't seem to work as described.

Apologies for the long post, but I wanted to include enough detail. Any help is appreciated. Also, if there's a better place to go for help, let me know.

Setup

ONOS

My ONOS is running in a docker container. The dockerfile is extremely simple:

FROM onosproject/onos:1.13.5

RUN apk add --no-cache openssh-client git python

ENV ONOS_APPS=drivers,openflow,segmentrouting,fpm,dhcprelay,netcfghostprovider,routeradvertisement,mcast,t3
ENV JAVA_OPTS=-Xmx8G

I start the container and map all ports to the host. I also mount a volume containing the trellis project. After the container starts, I exec in and run onos-netcfg 127.0.0.1 trellis.json.

Mininet, etc.

I'm just running vagrant up. Then I vagrant ssh followed by sudo ./trellis.py --controllers <IP> (where points to the host running the docker container).

Results

After doing all this, I can log in to the ONOS GUI and see the network in the Topology view:

image

I can even ping between some nodes (e.g., h1 and h3):

mininet> h1 ping h3
*** errRun: ['stty', '-icanon', 'min', '1'] 
  0PING 10.0.3.1 (10.0.3.1) 56(84) bytes of data.
64 bytes from 10.0.3.1: icmp_seq=1 ttl=63 time=2.65 ms
64 bytes from 10.0.3.1: icmp_seq=2 ttl=63 time=0.076 ms
64 bytes from 10.0.3.1: icmp_seq=3 ttl=63 time=0.148 ms
^CsendInt: writing chr(3)

...but not others (e.g., h1 and h2, which are on the same leaf switch):

mininet> h1 ping h2
*** errRun: ['stty', '-icanon', 'min', '1'] 
  0PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
^CsendInt: writing chr(3)

--- 10.0.2.2 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

Troubleshooting

I'm new to ONOS, so my troubleshooting so far has been limited. I installed the t3 troubleshooting app. Some of the pings that fail seem like the should work, according to the troubleshooting app. For example, this snippet shows h1 to h2:

onos> t3-troubleshoot-pingall -vv
...
-----------------------------------------------------------------------------------------------------------------------------
Source host id=00:AA:00:00:00:01/None, mac=00:AA:00:00:00:01, locations=[of:0000000000000204/3], vlan=None, ip(s)=[10.0.2.1]
Destination host id=00:AA:00:00:00:02/None, mac=00:AA:00:00:00:02, locations=[of:0000000000000204/4], vlan=None, ip(s)=[10.0.2.2]
DefaultTrafficSelector{criteria=[IN_PORT:3, ETH_DST:00:00:00:00:02:04, ETH_TYPE:ipv4, VLAN_VID:None, IPV4_SRC:10.0.2.1/32, IPV4_DST:10.0.2.2/32]}
Paths
[of:0000000000000204/3, of:0000000000000204/4]
Result: 
Reached required destination Host of:0000000000000204/4

That made me thing it was an ARP problem:

onos> t3-troubleshoot -sp of:0000000000000204/3 -et ARP
Tracing packet: [IN_PORT:3, ETH_TYPE:arp, VLAN_VID:None]
Paths
[of:0000000000000204/3, of:0000000000000204/CONTROLLER]
Result: 
Packet goes to the controller 172.18.0.2

That shows that it should go to the controller.

Viewing the logs (onos> log:tail) while I do a ping between h1 and h2 (which fails) shows no output at INFO level, and if I try to turn it up to DEBUG I get a so much log spew I can't tell what's happening.

That's about all I know to do. Ideas?

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.