Matt
Matt

Reputation: 11

Sending packets from separate application to Ryu

I am trying to send data from a Northbound application that I have written, into the Ryu application. The NB app is performing a lot of computation, so I have chosen to run it outside of Ryu. How do I send this information into the Ryu controller so the controller can act on it.

This set up would look like this:

[Northbound packet sender with actionable information (not in the SDN dataplane!!)]

[Ethernet 1 (if on a different machine), or the Linux localhost (if on the same machine)]

[Ryu Machine]

[Ethernet 2 (using OpenFlow)]

[Data plane]

In Pox I have simply set up a thread that can receive packets on a port. When it receives a packet it just creates an event, and my main SDN app can then use this event to perform the network changes needed. When I try this approach in Ryu, it just doesn't work. It seems that when I try to register a socket inside a Ryu app, Ryu will not run until that functionality has been removed.

Any advice?

Thanks in advance,

Upvotes: 1

Views: 205

Answers (1)

Himanshu Tanwar
Himanshu Tanwar

Reputation: 336

Run the socket in a separate thread. Run socket server on Ryu PC instead of client.

Upvotes: 0

Related Questions