Mininet openflow tutorial - sdn

I am new to mininet and trying to follow the tutorial on mininet/openflow https://github.com/mininet/openflow-tutorial/wiki/Learn-Development-Tools
I have a problem with the Wireshark capture, it's only capturing TCP packets on the lo interface, no OpenFlow packets at all.
any idea what might be wrong?
Cheers,
ami

I think you use openflow on port 6634 but as you can see here in wireshark documentation it expects to see OpenFlow packets on port 6633 or 6653.
I prefer to use third party controller but if you want to use mininet default controller, you can set its port with:
sudo controller ptcp:6653

mininet
when starting Mininet, it sets the controller in my case to port 6653.
Calling the openflow controller later on, I had to specify the port too:sudo controller ptcp:6653

Related

Is it possible to change the configuration of OVS switch in Mininet topology from ODL controller?

I am a newbie to SDN domain. I implemented my custom Mininet topology with multiple remote ODL controllers.
I am now testing to change the pre-configuration of OVS switch (i.e., controller ip address to another ip address of controller) in Mininet from ODL controller.
Is it possible to change the preconfigured mapping between switch and controller in run time?
If it is possible, I would like to know the steps to follow.
You can either try to use server name instead of IP address, or you can put a tcp proxy between your switch and the controller.
Very simple example might be a use of netcat to forward traffic to the remote controller:
./netcat -L ${controller_ip_address}:${controller_openflow_port} -p ${local_port}
and let your mininet connect to netcat, which will forward the request to the remote controller
sudo mn --controller=remote,ip=127.0.0.1,port=${local_port}

OpenThread Border Router with serial NCP

The Border Router setup guide spells out how to connect a USB-based network coprocessor. As I understand it, it is easy to use a serial connection of the host to connect to an NCP. Is it just a matter of changing the configuration of wpantund?
Configurating wpantund for serial communication is all done through the Config:NCP:SocketPath option. The NCP connection in the USB-based example is presented as a standard linux tty device. If your specific NCP configuration also presents the connection as a tty device, then you likely just need to change the /dev/tty* path.
If you are planning to use an SPI connection, take a look at spi-hdlc-adapter, which allows using the SPI connection as if it were a serial stream.

OVS Bridge Connectivity using GRE Tunneling

Okay so I'm trying to connect two OVS Bridges in separate hosts using GRE Tunneling. A VM is connected to each of the two OVS Bridges.
The problem is that I don't want to add eth0 to the bridges and don't want to give an IP Address to the bridges. The VM's have been given static IP's.
I've tries using multiple online tutorials. But what they all do is add eth0 to the bridges or etc which is of no use to me.
You do not have to add eth0 to the bridge.
You also do not have to give your bridge an IP, just set it to inet manual (or an equivalent in your config).
Could you please provide your current config? It would make much easier to give an advice.

Pica8 SDN whiteswitch ping from mangement console to host port

I am connecting my controller PC to a Pica8 white switch via the Management port. I can SSH into the switch and ping the controller PC, however I cant ping the hosts through the standard ports. I have created a bridge of the first four ports and have successfully pinged from host to host after I installed a flow that allowed it.
My question is, is there some kind of mechanism separating the controller port from all of the data ports, I would think I should be able to ping from the switch to the hosts.
I'm not sure this answers your question, but before pinging the management port I believe you need to set an IP for it via the console port.
I use minicom per the instructions located here. However, I am using the RJ45 to DB9 adapter cable -> USB Serial port connection. That looks like so.
Unfortunately, that creates a problem with minicom, since the instructions tell you to simply power up the switch and observe the received data. There is actually a little more to it than that. You have to configure minicom's serial port. Fortunately, there is a tech blog that I found very helpful. If you follow the provided instructions, it will walk you through changing ports. Once you modify the port that minicom is listening on (For me it is Port /dev/ttyUSB0), you should be able to configure your management port.

UDP how can two computers on separate networks connect to each other?

How can two computers that are on separate networks connect to each other using UDP? I know that you can do this by setting up port forwarding but I services like Xbox Live don't work through that. How is this possible and is there a way to obtain an address to another computer on a separate network?
EDIT
Ok thanks for the help I am using objc so I ended up using asyncsocket and portmapper for doing router configuration.
http://code.google.com/p/cocoaasyncsocket/
http://www.codingmonkeys.de/portmap/
First, obtaining the public IP of a remote computer:
Use dynamic dns.
Make your own protocol and run a server to keep the list of users and IP.
Working out incoming UDP packets:
Use client/server communication instead of peer-to-peer.
Use UPnP protocol (i think xbox does this) to ask your router for a port. Not all routers support or have UPnP enabled.
Use TURN/STUN protocol. This protocol has been designed to bypass UDP nat. This requires an external server, but there are free servers available.
I think there are libraries for UPnP and STUN, but i can't tell you for sure.
LatinSuD are right, STUN is good solution - check out STUN protocol implementation for iOS https://github.com/soulfly/STUN-iOS