[pox-dev] Bind POX to Multiple IP Interfaces
Murphy McCauley
murphy.mccauley at gmail.com
Thu Nov 7 11:56:26 PST 2013
I think this MIGHT be as easy as making the launcher for of_01 multi-instance aware. I don't have time to actually check, but here's a hacked version which at least doesn't crash immediately. :) Maybe you can give it a shot?
def launch (port=6633, address="0.0.0.0", name=None, __INSTANCE__=None):
if name is None:
basename = "of_01"
counter = 1
name = basename
while core.hasComponent(name):
counter += 1
name = "%s-%s" % (basename, counter)
if core.hasComponent(name):
log.warn("of_01 '%s' already started", name)
return None
global deferredSender
if not deferredSender:
deferredSender = DeferredSender()
if of._logger is None:
of._logger = core.getLogger('libopenflow_01')
l = OpenFlow_01_Task(port = int(port), address = address)
core.register(name, l)
return l
-- Murphy
On Nov 7, 2013, at 5:30 AM, Anton Matsiuk <anton.matsiuk at gmail.com> wrote:
> Dear Murphy,
>
> I am asking about possibility to bind POX Controller to listen for OF messages on multiple IP Interfaces. In my case, I need to bind it to 2 interfaces: listening from Open vSwitch through Loopback, and Hardware switch from external eth, but, of course, the quantity doesn't mater.
>
> As I understood there is no possibility to run 2 instances of OpenFlow_01_Task concurrently (and to register them both on core) or to bind one instance of Task to 2 different IP's.
>
> I know that it is possible to solve the problem by proxying through iptables, but I am looking for a possibility to do it with POX in a straightforward and scalable way.
>
> --
> Best regards,
> Anton Matsiuk
More information about the pox-dev
mailing list