xref: /linux/net/openvswitch/Kconfig (revision 527a0f2bdcfe77fce22f006b97e42e4da3137c86)
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 LIBCRC32C
15	select MPLS
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
44config OPENVSWITCH_GRE
45	tristate "Open vSwitch GRE tunneling support"
46	depends on OPENVSWITCH
47	depends on NET_IPGRE
48	default OPENVSWITCH
49	help
50	  If you say Y here, then the Open vSwitch will be able create GRE
51	  vport.
52
53	  Say N to exclude this support and reduce the binary size.
54
55	  If unsure, say Y.
56
57config OPENVSWITCH_VXLAN
58	tristate "Open vSwitch VXLAN tunneling support"
59	depends on OPENVSWITCH
60	depends on VXLAN
61	default OPENVSWITCH
62	help
63	  If you say Y here, then the Open vSwitch will be able create vxlan vport.
64
65	  Say N to exclude this support and reduce the binary size.
66
67	  If unsure, say Y.
68
69config OPENVSWITCH_GENEVE
70	tristate "Open vSwitch Geneve tunneling support"
71	depends on OPENVSWITCH
72	depends on GENEVE
73	default OPENVSWITCH
74	help
75	  If you say Y here, then the Open vSwitch will be able create geneve vport.
76
77	  Say N to exclude this support and reduce the binary size.
78