Seastar
High performance C++ framework for concurrent servers
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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
29namespace seastar {
30
31struct network_stack_entry;
32
33namespace net {
34
79
86
88 bool _hugepages;
89
92};
93
94void create_native_stack(const native_stack_options& opts, std::shared_ptr<device> dev);
95network_stack_entry register_native_stack();
96
97}
98
99}
Definition: program-options.hh:293
Seastar API namespace.
Definition: abort_on_ebadf.hh:26
Definition: api.hh:479
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