Re: [nox-dev] Associate xid with a flow mod event
On 15 December 2010 23:48, Derek Cormier derek.corm...@lab.ntt.co.jp wrote: @KK It turns out I made a wrong assumption. I thought that when an ofp_flow_mod (OFPFC_ADD) message was sent, it returns a reply with the same xid. After looking at the OF protocol, it looks like a message is only sent back if an error occurred. Yup, there is no ack. You can send a follow-up message to double-check but that is a real pain. Regards KK @Rob The cookie isn't quite what I'm looking for, I'm not sure what it might be used for in the future... Basically, I'm looking for a way to validate that adding a flow worked. Consider the following cenario: There are two components: A B 1. A sends a request to add a flow. 2. B sends a request to add the exact same flow. 3. B's gets added first and is successful. 4. A received a flow mod event and thinks its flow was added. 5. A's flow gets added. It conflicts with B's flow and generates an error. 6. A sees an error for his exact flow and doesn't know if it's flow was added or another component's. -Derek ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] Associate xid with a flow mod event
Hi Derek, Are you assuming the components will tag the flow_mod with the same xid as the packet_in? I think this is not true for verbatim NOX, though I am not sure. Either way, what is important is that you can make changes to make that true. So, you can definitely do this. Regards KK On 15 December 2010 22:04, Derek Cormier derek.corm...@lab.ntt.co.jp wrote: Hello, When you receive a flow mod event, is there any way to associate it with the xid of the original request that caused it? I'm looking for a way to confirm that a specific request generated a specific response. For example, if multiple components are running and they both send a packet to add the same flow (with the no overlapping flows flag on), then one will get an error and the other will not. I suppose you could check the xid of the errors to determine who's was successful, but that seems a bit hackish. Thanks! Derek ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] Associate xid with a flow mod event
I'm not sure if this is what you're asking, but flow_mod's have a 'cookie' associated with them that gets returned in all sorts of flow_mod related messages, e.g., flow_removed messages. Maybe that is what you're looking for. - Rob . On Wed, Dec 15, 2010 at 10:04 PM, Derek Cormier derek.corm...@lab.ntt.co.jp wrote: Hello, When you receive a flow mod event, is there any way to associate it with the xid of the original request that caused it? I'm looking for a way to confirm that a specific request generated a specific response. For example, if multiple components are running and they both send a packet to add the same flow (with the no overlapping flows flag on), then one will get an error and the other will not. I suppose you could check the xid of the errors to determine who's was successful, but that seems a bit hackish. Thanks! Derek ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
Re: [nox-dev] Associate xid with a flow mod event
@KK It turns out I made a wrong assumption. I thought that when an ofp_flow_mod (OFPFC_ADD) message was sent, it returns a reply with the same xid. After looking at the OF protocol, it looks like a message is only sent back if an error occurred. @Rob The cookie isn't quite what I'm looking for, I'm not sure what it might be used for in the future... Basically, I'm looking for a way to validate that adding a flow worked. Consider the following cenario: There are two components: A B 1. A sends a request to add a flow. 2. B sends a request to add the exact same flow. 3. B's gets added first and is successful. 4. A received a flow mod event and thinks its flow was added. 5. A's flow gets added. It conflicts with B's flow and generates an error. 6. A sees an error for his exact flow and doesn't know if it's flow was added or another component's. -Derek ___ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org