Seastar
High performance C++ framework for concurrent servers
native-stack.hh
1 /*
2  * This file is open source software, licensed to you under the terms
3  * of the Apache License, Version 2.0 (the "License"). See the NOTICE file
4  * distributed with this work for additional information regarding copyright
5  * ownership. You may not use this file except in compliance with the License.
6  *
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing,
12  * software distributed under the License is distributed on an
13  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14  * KIND, either express or implied. See the License for the
15  * specific language governing permissions and limitations
16  * under the License.
17  */
18 /*
19  * Copyright (C) 2014 Cloudius Systems, Ltd.
20  */
21 
22 #pragma once
23 
24 #include <seastar/net/net.hh>
25 #include <seastar/net/virtio.hh>
26 #include <seastar/net/dpdk.hh>
27 #include <seastar/util/program-options.hh>
28 
29 namespace seastar {
30 
31 struct network_stack_entry;
32 
33 namespace net {
34 
79 
86 
88  bool _hugepages;
89 
92 };
93 
94 void create_native_stack(const native_stack_options& opts, std::shared_ptr<device> dev);
95 network_stack_entry register_native_stack();
96 
97 }
98 
99 }
Definition: program-options.hh:290
Seastar API namespace.
Definition: abort_on_ebadf.hh:26
Definition: api.hh:459
DPDK configuration.
Definition: dpdk.hh:35
Native stack configuration.
Definition: native-stack.hh:36
program_options::value< std::string > host_ipv4_addr
Static IPv4 address to use.
Definition: native-stack.hh:46
program_options::value< std::string > gw_ipv4_addr
Static IPv4 gateway to use.
Definition: native-stack.hh:50
program_options::value< std::string > tap_device
Tap device to connect to.
Definition: native-stack.hh:42
program_options::value dpdk_pmd
Use DPDK PMD drivers.
Definition: native-stack.hh:74
virtio_options virtio_opts
Virtio configuration.
Definition: native-stack.hh:81
dpdk_options dpdk_opts
Definition: native-stack.hh:85
program_options::value< float > hw_queue_weight
Weighing of a hardware network queue relative to a software queue.
Definition: native-stack.hh:70
program_options::value< std::string > netmask_ipv4_addr
Static IPv4 netmask to use.
Definition: native-stack.hh:54
program_options::value< std::string > lro
Enable LRO (on/off).
Definition: native-stack.hh:78
program_options::value< bool > dhcp
Use DHCP discovery.
Definition: native-stack.hh:62
program_options::value< int > udpv4_queue_size
Default size of the UDPv4 per-channel packet queue.
Definition: native-stack.hh:58
Virtio configuration.
Definition: virtio.hh:36