xref: /linux/net/openvswitch/Kconfig (revision cf85f810f911234a06a4ef2439e8694b93b717fc)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Open vSwitch
4#
5
6config OPENVSWITCH
7	tristate "Open vSwitch"
8	depends on INET
9	depends on !NF_CONNTRACK || \
10		   (NF_CONNTRACK && ((!NF_DEFRAG_IPV6 || NF_DEFRAG_IPV6) && \
11				     (!NF_NAT || NF_NAT) && \
12				     (!NETFILTER_CONNCOUNT || NETFILTER_CONNCOUNT)))
13	depends on PSAMPLE || !PSAMPLE
14	select MPLS
15	select NET_CRC32C
16	select NET_MPLS_GSO
17	select DST_CACHE
18	select NET_NSH
19	select NF_CONNTRACK_OVS if NF_CONNTRACK
20	select NF_NAT_OVS if NF_NAT
21	help
22	  Open vSwitch is a multilayer Ethernet switch targeted at virtualized
23	  environments.  In addition to supporting a variety of features
24	  expected in a traditional hardware switch, it enables fine-grained
25	  programmatic extension and flow-based control of the network.  This
26	  control is useful in a wide variety of applications but is
27	  particularly important in multi-server virtualization deployments,
28	  which are often characterized by highly dynamic endpoints and the
29	  need to maintain logical abstractions for multiple tenants.
30
31	  The Open vSwitch datapath provides an in-kernel fast path for packet
32	  forwarding.  It is complemented by a userspace daemon, ovs-vswitchd,
33	  which is able to accept configuration from a variety of sources and
34	  translate it into packet processing rules.
35
36	  See http://openvswitch.org for more information and userspace
37	  utilities.
38
39	  To compile this code as a module, choose M here: the module will be
40	  called openvswitch.
41
42	  If unsure, say N.
43