On Tue, Jun 30, 2020 at 9:01 AM Simon Horman <[email protected]> wrote:
>
> On Tue, Jun 30, 2020 at 08:30:45AM -0700, William Tu wrote:
> > Currently drop action is not offloaded when using userspace datapath
> > with tc offload. The patch programs tc gact (generic action) chain
> > ID 0 to drop the packet by setting it to TC_ACT_SHOT.
> >
> > Example:
> > $ ovs-appctl dpctl/add-flow netdev@ovs-netdev \
> > 'recirc_id(0),in_port(2),eth(),eth_type(0x0806),\
> > arp(op=2,tha=00:50:56:e1:4b:ab,tip=10.255.1.116)' drop
> >
> > $ tc filter show dev ovs-p0 ingress
> > filter protocol arp pref 2 flower chain 0
> > filter protocol arp pref 2 flower chain 0 handle 0x1
> > eth_type arp
> > arp_tip 10.255.1.116
> > arp_op reply
> > arp_tha 00:50:56:e1:4b:ab
> > skip_hw
> > not_in_hw
> > action order 1: gact action drop
> > ...
> >
> > Signed-off-by: William Tu <[email protected]>
>
> Hi William,
>
> this change looks good to me other than that I'm unsure
> why we need #ifndef __KERNEL__.
>
Because for kernel datapath, we don't define
OVS_ACTION_ATTR_DROP
at datapath/linux/compat/include/linux/openvswitch.h
...
#ifndef __KERNEL__
OVS_ACTION_ATTR_TUNNEL_PUSH, /* struct ovs_action_push_tnl*/
OVS_ACTION_ATTR_TUNNEL_POP, /* u32 port number. */
OVS_ACTION_ATTR_DROP, /* u32 xlate_error. */
OVS_ACTION_ATTR_LB_OUTPUT, /* u32 bond-id. */
#endif
Regards,
William
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev