• Murphy replied to the topic Request statistics for specific flows in the forum POX 2 months ago

    Yeah, the 1.0 spec doesn’t have much to say on this. I think you’ll find it’s the same as the value you installed, though it’s possible some implementer thought differently.

    Later versions of the spec say slightly more on the subject. They’re still not crystal clear, but (in my opinion) the easier interpretation of the new text is consistent…[Read more]

  • Murphy replied to the topic Request statistics for specific flows in the forum POX 2 months ago

    Yeah. You’ll have to use nx_flow_stats_request and the corresponding reply. Unfortunately, POX doesn’t currently have support for these, and I can’t justify spending time on it now (among other reasons, because any work I do on it now will be irrelevant after a hopefully-upcoming major change to OpenFlow in POX). So I’m sorry to say you’re…[Read more]

  • Murphy replied to the topic Routing modules in NOX in the forum NOX 2 months ago

    NOX13oflib is a fork maintained by others; I don’t know much about it, sorry.

  • Murphy replied to the topic Routing modules in NOX in the forum NOX 2 months ago

    NOX-Classic isn’t suggested for use with new projects. I don’t think it really has any features that POX doesn’t have, and it doesn’t perform as well as the new NOX. As the NOX versions page says:
    “.. none of us here at NOXRepo have plans to do further development on NOX-Classic, because none of us use it anymore. We do not recommend it for new…[Read more]

  • OpenFlow 1.0 with a number of Open vSwitch extensions. (You can find this answer and further details on the FAQ.)

  • Murphy replied to the topic Routing modules in NOX in the forum NOX 2 months ago

    I don’t think a version of discovery for the new NOX has ever been released. You could write one yourself, of course.

    NOX-Classic has discovery and shortest-path forwarding. But the shortest-path forwarding component would need some work to give backup paths, depending on how you wanted them computed. I’d recommend you just use POX unless you…[Read more]

  • l2_multi and topo_proactive are the closest to a “routing” module and demonstrate some of what you need to know to implement more complex ones built for specific purposes.

  • Right, but you need to build pxpcap. Did you follow the instructions in the manual in the “Building pxpcap” section?

    They’re pretty vague. Often you can get away with something like:
    cd pox/lib/pxpcap/pxpcap_c
    ./build_linux # or ./build_mac or build_win.bat

  • Sure. You need pxpcap. See “Working with pcap/libpcap: pxpcap” in the manual.

  • Typically, POX is used with either a hardware switch or a software switch. Undoubtedly, the most common scenario is to use POX with Open vSwitch. For educational purposes, this is usually in the context of Mininet (which runs the Open vSwitch instances on a software network).

    But it sounds like what you want isn’t quite OpenFlow — you want to…[Read more]

  • Hmm. I’m a bit confused. You say that you want to connect to something that’s not necessarily a switch. But you want to use OpenFlow, which is a protocol specifically for communicating with switches. Can you clarify?

  • Thanks for making your code available! I’ve linked it from the POX manual.

  • It sounds like from peer1, you’re telnetting to 192.168.0.4/peer2, but… is probably reaching peer1 (itself). And from peer4, it seems like you can’t reach peer1.

    These results don’t make a lot of sense to me unless you have your peers/IPs mixed up, or something very unexpected is happening.

  • Offhand, the above looks right to me, so I have no simple explanation here.

    Is the code you’re trying exactly the code you posted above? I copy/pasted it into a new file and it doesn’t seem to have the issue.

    Also, does the forwarding/hub.py component that comes with POX work for you?

  • Are you running curl from the same machine you’re trying to telnet from?

    I suggest the following test:

    Get the latest POX dart.

    Run POX with
    ./pox.py log.level –DEBUG openflow web

    From the same machine, try:
    telnet localhost 6633

    It should connect.

    From the same machine, try:
    telnet localhost 8000

    It should connect.

    Now from the remote…[Read more]

  • Just to be sure: you were running POX at the time, right? You should run POX on your controller machine (“./pox.py log.level –DEBUG openflow” is a good place to start if you’re using POX dart), and then try “telnet 6633″ from the switch machine.

    If that doesn’t work, the problem would seem to be in the network configuration — the switch…[Read more]

  • From the machine that’s supposed to be running the switch, see if you can connect to the controller using telnet… telnet 6633

    If it connects, hit enter a bunch of times. POX will probably give you an error message about a bad OpenFlow version. If this all happens, then the problem is probably in the switch configuration.

    If that doesn’t…[Read more]

  • Why not just install them to use the right queues in the first place? Or if the queues are changing, have the controller track which entries should be there, and just reinstall them using the right queues, rather than installing them from the controller, reading them back into the controller from the switch, altering them, and writing them back.

  • You’re creating an ofp_flow_mod and setting msg to be a reference to it. You’re then throwing it away and making msg reference f which is an ofp_flow_stats. But ofp_flow_stats isn’t an OpenFlow command/message. You don’t want to send it.

    Additionally, it’s not clear what you’re really trying to do here. You’re only sending one thing, which…[Read more]

  • 1) Yes, it’s possible to set two controllers for a single Mininet topology. In general, Mininet just uses Open vSwitch, so you can always simply run ovs-vsctl to configure the switches however you want — including using different controllers. I think you can actually do it with the Mininet Python API too, but don’t remember how off the top of…[Read more]

  • Load More