On Fri, May 5, 2017 at 5:47 AM, Simon Horman <simon.hor...@netronome.com> wrote: > > # tc qdisc del dev eth0 ingress; tc qdisc add dev eth0 ingress > # tc filter add dev eth0 protocol ip parent ffff: flower \ > indev eth0 ip_proto udp dst_port 80 truncated drop action continue > [...] > @@ -188,7 +189,7 @@ static int fl_classify(struct sk_buff *skb, const struct > tcf_proto *tp, > */ > skb_key.basic.n_proto = skb->protocol; > if (!skb_flow_dissect(skb, &head->dissector, &skb_key, 0)) > - return -1; > + return head->err_action;
This design looks odd, if you consider matching truncated packets as a filter like other normal filters, then you should rely on the action appended to return the action code, not within the filter itself.