On Fri, Aug 02, 2013 at 08:22:17PM -0700, Andy Zhou wrote: > This patch prevents the same subfacet from trying to install the kernel > flow more than once. > > This is how a kernel flow can become unexpected to the user space. > When a incoming packet did not match any flow in the kernel, it > would be sent up to the user space. A subfacet would be created and > a corresponding kenrel flow installed. So far so good. > > Just before the kernel flow was installed, another packet of the same > flow were to arrive at the kernel, it would also be queued up > for user space. This time, user space would find the subfacet just > created (subfacet_create()) due of the first packet, and attempt > to install the same kernel flow again, but could not (kernel returns EEXIST). > User space would then mark the subfacet as not installed (SF_NOT_INSTALLED).
Can we just ignore EEXIST in the error handling loop at the bottom of handle_miss_upcalls()? _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev