On Mon, Jul 15, 2013 at 01:40:35PM -0700, Jesse Gross wrote:
> On Mon, Jul 15, 2013 at 11:06 AM, Ben Pfaff <b...@nicira.com> wrote:
> > This follows the pattern I see elsewhere for other "set" actions, but I am
> > uncertain about some parts:
> >
> >     * I am not sure that set_arp() is called in a context where there is
> >       guaranteed to be a full Ethernet+IP ARP header present in the packet,
> >       given megaflows.
> >
> >     * set_arp() as written here allows an arp_op >=0x100 to be set even
> >       though flow_extract() only parses arp_op <0x100.  This is probably
> >       not right, but I'm not sure of the correct fix.
> >
> >     * The tree now has two (struct arp_eth_header *)skb_network_header(skb)
> >       casts, perhaps I should add an arp_eth_hdr() helper.
> >
> > Signed-off-by: Ben Pfaff <b...@nicira.com>
> 
> I wonder if this makes sense to do in the kernel at all given the low
> rate of ARP packets. In retrospect I probably wouldn't have done
> ARP/ND matching in the kernel (and, yes, I remember that we used to do
> it this way a long time ago).

OK.  I will revise this patch to slow-path flows that set ARP fields,
then.  Thanks.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to