[ovs-dev] [runt-flows 5/8] datapath: Report memory allocation errors in flow_extract().
blp at nicira.com
Fri Aug 27 16:47:59 UTC 2010
On Thu, Aug 26, 2010 at 02:56:04PM -0700, Jesse Gross wrote:
> On Fri, Aug 13, 2010 at 10:55 AM, Ben Pfaff <blp at nicira.com> wrote:
> > Until now flow_extract() has simply returned a bogus flow when memory
> > allocation errors occurred. This fixes the problem by propagating the
> > error to the caller.
> > Signed-off-by: Ben Pfaff <blp at nicira.com>
> Hmm, that's pretty nasty behavior that we had before.
> One general comment about this is that the behavior seems a little
> asymmetrical for the different protocol types: why switch to this new
> style for IP but not for ARP? Why are the L4 protocols different from
> L3? Why can't we just do all of this at the beginning? The answer to
> all of these questions is (I assume) "IP options". However, it took a
> little more thought to convince myself that it is OK than seems
We could do it all at the beginning, if we are willing to pull 98 bytes
60 max IP header
20 TCP/UDP/ICMP header
The 64 bytes we currently pull covers any of the protocols we support as
long as there are no IP options. I was reluctant to increase the amount
we pull. But maybe it's not a big deal. What do you think?
More information about the dev