/* * Copyright (c) 2007-2011 Nicira, Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public * License as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA */ #ifndef VPORT_INTERNAL_DEV_H #define VPORT_INTERNAL_DEV_H 1 #include "datapath.h" #include "vport.h" int ovs_is_internal_dev(const struct net_device *); struct vport *ovs_internal_dev_get_vport(struct net_device *); int ovs_internal_dev_rtnl_link_register(void); void ovs_internal_dev_rtnl_link_unregister(void); #endif /* vport-internal_dev.h */ r' selected='selected'>master net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorYotam Gigi <yotamg@mellanox.com>2017-01-31 15:14:29 +0200
committerDavid S. Miller <davem@davemloft.net>2017-02-01 11:57:33 -0500
commitfd62d9f5c575f0792f150109f1fd24a0d4b3f854 (patch)
treed040d634401cf38fcb447c13aff26d0f492a82a1 /net
parent4993b39ab04b083ff6ee1147e7e7f120feb6bf7f (diff)
net/sched: matchall: Fix configuration race
In the current version, the matchall internal state is split into two structs: cls_matchall_head and cls_matchall_filter. This makes little sense, as matchall instance supports only one filter, and there is no situation where one exists and the other does not. In addition, that led to some races when filter was deleted while packet was processed. Unify that two structs into one, thus simplifying the process of matchall creation and deletion. As a result, the new, delete and get callbacks have a dummy implementation where all the work is done in destroy and change callbacks, as was done in cls_cgroup. Fixes: bf3994d2ed31 ("net/sched: introduce Match-all classifier") Reported-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Yotam Gigi <yotamg@mellanox.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/sched/cls_matchall.c127
1 files changed, 45 insertions, 82 deletions
diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c