Hello All,

I am trying to implement an application similar to the NAT.

Whenever a packet comes on port 1, it is sent to the controller and the
also to port 2 with a few fields changed. The controller adds another
flow-table entry so that the packet from port 2 goes to port 1 without
going to the controller. I am trying to test it with TCP and this is what
is happening.

1. The syn packet goes from the port 1 to the controller and port 2. The
controller makes an entry in the flowtable so that the packet from port 2
should go directly to port 1.
2. The server at port 2 replies with synack. The synack instead of going to
port 1, comes to the controller (Even though there is a flow-table entry
for this). However, the synack for the retransmitted syn goes through the
switch without coming to the controller.

As both the actions - controller making an entry and server at port 2
sending synack are asynchronous, somehow the synack from port 2 is arriving
before a flow-table entry is made. I am not sure, if this is true and if
this is true, is there any way I can make the flow-table entry before the
packet from port 2 arrives?

Thanks!!
Rohan

Reply via email to