2020-12-26 13:27 阅读 1

communication between pox controllers

Hello, when i try to establish communication between pox controllers. It shows following error.

joss:~$ sudo ~/pox/pox.py messenger.communication Traceback (most recent call last): File "/home/joss/pox/pox.py", line 42, in from pox.boot import boot File "/home/joss/pox/pox/boot.py", line 56, in from pox.messenger import communication as communication File "/home/joss/pox/pox/messenger/init.py", line 55, in log = core.getLogger() AttributeError: 'NoneType' object has no attribute 'getLogger'

I checked with the modules and cannot find the exact problems. what it might be, kindly provide me a solution to execute the communication.


  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • weixin_40002009 weixin_40002009 2020-12-26 13:27

    What POX fork/branch are you using?

    点赞 评论 复制链接分享
  • weixin_39624071 weixin_39624071 2020-12-26 13:27

    Hi, I am using pox eel branch.

    点赞 评论 复制链接分享
  • weixin_40002009 weixin_40002009 2020-12-26 13:27

    But not just straight eel, apparently. I don't think POX comes with a messenger.communication component, and I don't think boot.py imports anything from messenger directly. Are these modifications you've made? What are you trying to accomplish?

    In general, there are few reasons to modify boot.py. The basic problem here probably stems from that change -- it's trying to start up parts of components at the wrong point in the boot process. If at all possible, conform to the usual pattern of putting a component name (e.g., messenger.communication) on the commandline and let POX call its launch() function at the appropriate time (with the launch() function possibly deferring more stuff until a later time via listening to events or waiting for other components to register themselves).

    点赞 评论 复制链接分享
  • weixin_39624071 weixin_39624071 2020-12-26 13:27

    Hi, I am using various online references to learn about SDN controllers. I tried to implement messenger communication between two POX. I used the boot.py from the following repository https://github.com/muzixing/POX_distribute_version.

    It would be helpful, if you could provide me a source to try and learn implementing communication between pox to pox. Thank you.

    点赞 评论 复制链接分享
  • weixin_40002009 weixin_40002009 2020-12-26 13:27

    I don't know anything about that project, so I'm afraid I can't be of much help with it.

    More generally, POX is just a Python program. You can use whatever Python-friendly techniques or libraries you like to communicate between two instances of POX. Google protobufs, Apache Thrift, RabbitMQ, and RPyC have all been used for POX-to-POX communication at one point or another.

    If you want to use the POX messenger component... if I remember right, you can use messenger.tcp_transport to create listening connections and messenger.tcp_transport:active to create active connections. My memory is that this should "just work", though of course it won't do anything interesting. The next step is mostly just a matter of writing messenger bots to facilitate whatever it is you're trying to do.

    Of course, it's always a good idea to consider what you're trying to distribute and why and how, and I always encourage people working on distributed controllers to read this paper.

    Good luck!

    点赞 评论 复制链接分享