cls_matchall.c (8865fdd4e1538a775c5ac2157fb8eb45bee9dc18) cls_matchall.c (7306db38a67cf6b8e1ca354b1d0c0117b7b880d5)
1/*
2 * net/sched/cls_matchll.c Match-all classifier
3 *
4 * Copyright (c) 2016 Jiri Pirko <jiri@mellanox.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or

--- 146 unchanged lines hidden (view full) ---

155 tcf_bind_filter(tp, &head->res, base);
156 }
157 return 0;
158}
159
160static int mall_change(struct net *net, struct sk_buff *in_skb,
161 struct tcf_proto *tp, unsigned long base,
162 u32 handle, struct nlattr **tca,
1/*
2 * net/sched/cls_matchll.c Match-all classifier
3 *
4 * Copyright (c) 2016 Jiri Pirko <jiri@mellanox.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or

--- 146 unchanged lines hidden (view full) ---

155 tcf_bind_filter(tp, &head->res, base);
156 }
157 return 0;
158}
159
160static int mall_change(struct net *net, struct sk_buff *in_skb,
161 struct tcf_proto *tp, unsigned long base,
162 u32 handle, struct nlattr **tca,
163 void **arg, bool ovr)
163 void **arg, bool ovr, struct netlink_ext_ack *extack)
164{
165 struct cls_mall_head *head = rtnl_dereference(tp->root);
166 struct nlattr *tb[TCA_MATCHALL_MAX + 1];
167 struct cls_mall_head *new;
168 u32 flags = 0;
169 int err;
170
171 if (!tca[TCA_OPTIONS])

--- 146 unchanged lines hidden ---
164{
165 struct cls_mall_head *head = rtnl_dereference(tp->root);
166 struct nlattr *tb[TCA_MATCHALL_MAX + 1];
167 struct cls_mall_head *new;
168 u32 flags = 0;
169 int err;
170
171 if (!tca[TCA_OPTIONS])

--- 146 unchanged lines hidden ---