xref: /f-stack/config.ini (revision 5ed0a284)
1a9643ea8Slogwang[dpdk]
279f0ade3Sfengbojiang# Hexadecimal bitmask of cores to run on.
34dfcdbccSjinhao2lcore_mask=1
479f0ade3Sfengbojiang
579f0ade3Sfengbojiang# Number of memory channels.
6a9643ea8Slogwangchannel=4
779f0ade3Sfengbojiang
879f0ade3Sfengbojiang# Specify base virtual address to map.
979f0ade3Sfengbojiang#base_virtaddr=0x7f0000000000
1079f0ade3Sfengbojiang
1179f0ade3Sfengbojiang# Promiscuous mode of nic, defualt: enabled.
12a9643ea8Slogwangpromiscuous=1
13a9643ea8Slogwangnuma_on=1
1479f0ade3Sfengbojiang
153a3642c7SJayath Sathyanarayana# TX checksum offload skip, default: disabled.
163a3642c7SJayath Sathyanarayana# We need this switch enabled in the following cases:
173a3642c7SJayath Sathyanarayana# -> The application want to enforce wrong checksum for testing purposes
183a3642c7SJayath Sathyanarayana# -> Some cards advertize the offload capability. However, doesn't calculate checksum.
193a3642c7SJayath Sathyanarayanatx_csum_offoad_skip=0
203a3642c7SJayath Sathyanarayana
2179f0ade3Sfengbojiang# TCP segment offload, default: disabled.
22213fa7b3Slogwangtso=0
2379f0ade3Sfengbojiang
2479f0ade3Sfengbojiang# HW vlan strip, default: enabled.
2564abcf71Slogwangvlan_strip=1
26a9643ea8Slogwang
27c506e436Sfengbojiang# sleep when no pkts incomming
28c506e436Sfengbojiang# unit: microseconds
29ac6d8f46Sjfb8856606idle_sleep=0
30c506e436Sfengbojiang
3159bb71f6Sfengbojiang(姜凤波)# sent packet delay time(0-100) while send less than 32 pkts.
3259bb71f6Sfengbojiang(姜凤波)# default 100 us.
3359bb71f6Sfengbojiang(姜凤波)# if set 0, means send pkts immediately.
3459bb71f6Sfengbojiang(姜凤波)# if set >100, will dealy 100 us.
3559bb71f6Sfengbojiang(姜凤波)# unit: microseconds
3659bb71f6Sfengbojiang(姜凤波)pkt_tx_delay=100
3759bb71f6Sfengbojiang(姜凤波)
38f41205e9Sfengbojiang# use symmetric Receive-side Scaling(RSS) key, default: disabled.
39f41205e9Sfengbojiangsymmetric_rss=0
40f41205e9Sfengbojiang
41cf06e8b0Sfengbojiang# PCI device enable list.
42cf06e8b0Sfengbojiang# And driver options
43cf06e8b0Sfengbojiang#pci_whitelist=02:00.0
44e8a7dcd0SIbtisam Tariq# for multiple PCI devices
459c1180d4Sfengbojiang#pci_whitelist=02:00.0,03:00.0
46cf06e8b0Sfengbojiang
4780a6164cSYuYang# enabled port list
4880a6164cSYuYang#
4980a6164cSYuYang# EBNF grammar:
5080a6164cSYuYang#
5180a6164cSYuYang#    exp      ::= num_list {"," num_list}
5280a6164cSYuYang#    num_list ::= <num> | <range>
5380a6164cSYuYang#    range    ::= <num>"-"<num>
5480a6164cSYuYang#    num      ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
5580a6164cSYuYang#
5680a6164cSYuYang# examples
57ffdb15beSlogwang#    0-3       ports 0, 1,2,3 are enabled
5880a6164cSYuYang#    1-3,4,7   ports 1,2,3,4,7 are enabled
59c0f66684Sfengbojiang(姜凤波)#
60c0f66684Sfengbojiang(姜凤波)# If use bonding, shoule config the bonding port id in port_list
61c0f66684Sfengbojiang(姜凤波)# and not config slave port id in port_list
62c0f66684Sfengbojiang(姜凤波)# such as, port 0 and port 1 trank to a bonding port 2,
63c0f66684Sfengbojiang(姜凤波)# should set `port_list=2` and config `[port2]` section
64c0f66684Sfengbojiang(姜凤波)
6580a6164cSYuYangport_list=0
6680a6164cSYuYang
67ac6d8f46Sjfb8856606# Number of vdev.
68ac6d8f46Sjfb8856606nb_vdev=0
69ac6d8f46Sjfb8856606
70c0f66684Sfengbojiang(姜凤波)# Number of bond.
71d0f17d5bSfengbojiang(姜凤波)nb_bond=0
72c0f66684Sfengbojiang(姜凤波)
7364a29081Sjinhao2# Each core write into own pcap file, which is open one time, close one time if enough.
7464a29081Sjinhao2# Support dump the first snaplen bytes of each packet.
7564a29081Sjinhao2# if pcap file is lager than savelen bytes, it will be closed and next file was dumped into.
7664a29081Sjinhao2[pcap]
7764a29081Sjinhao2enable=0
7864a29081Sjinhao2snaplen=96
7964a29081Sjinhao2savelen=16777216
80d4e858cfSfengbojiangsavepath=.
8164a29081Sjinhao2
8279f0ade3Sfengbojiang# Port config section
8379f0ade3Sfengbojiang# Correspond to dpdk.port_list's index: port0, port1...
84a9643ea8Slogwang[port0]
8516caa0bfSjin.hao1addr=192.168.1.2
868aa93f1cSfengbojiangnetmask=255.255.255.0
8716caa0bfSjin.hao1broadcast=192.168.1.255
8816caa0bfSjin.hao1gateway=192.168.1.1
895c84990dSIbtisam Tariq# set interface name, Optional parameter.
905c84990dSIbtisam Tariq#if_name=eno7
91503a15e0Sfengbojiang
92503a15e0Sfengbojiang# IPv6 net addr, Optional parameters.
93a25f323cSzengyi1001#addr6=ff::02
94a25f323cSzengyi1001#prefix_len=64
95a25f323cSzengyi1001#gateway6=ff::01
9680a6164cSYuYang
97503a15e0Sfengbojiang# Multi virtual IPv4/IPv6 net addr, Optional parameters.
98503a15e0Sfengbojiang#	`vip_ifname`: default `f-stack-x`
99503a15e0Sfengbojiang#	`vip_addr`: Separated by semicolons, MAX number 64;
100880c2c64Sfengbojiang#		    Only support netmask 255.255.255.255, broadcast x.x.x.255 now, hard code in `ff_veth_setvaddr`.
101503a15e0Sfengbojiang#	`vip_addr6`: Separated by semicolons, MAX number 64.
102503a15e0Sfengbojiang#	`vip_prefix_len`: All addr6 use the same prefix now, default 64.
103503a15e0Sfengbojiang#vip_ifname=lo0
104503a15e0Sfengbojiang#vip_addr=192.168.1.3;192.168.1.4;192.168.1.5;192.168.1.6
105503a15e0Sfengbojiang#vip_addr6=ff::03;ff::04;ff::05;ff::06;ff::07
106503a15e0Sfengbojiang#vip_prefix_len=64
107503a15e0Sfengbojiang
10879f0ade3Sfengbojiang# lcore list used to handle this port
10979f0ade3Sfengbojiang# the format is same as port_list
11080a6164cSYuYang#lcore_list=0
11180a6164cSYuYang
112c0f66684Sfengbojiang(姜凤波)# bonding slave port list used to handle this port
113c0f66684Sfengbojiang(姜凤波)# need to config while this port is a bonding port
114c0f66684Sfengbojiang(姜凤波)# the format is same as port_list
115c0f66684Sfengbojiang(姜凤波)#slave_port_list=0,1
116c0f66684Sfengbojiang(姜凤波)
117ac6d8f46Sjfb8856606# Vdev config section
118ac6d8f46Sjfb8856606# orrespond to dpdk.nb_vdev's index: vdev0, vdev1...
119ac6d8f46Sjfb8856606#    iface : Shouldn't set always.
120ac6d8f46Sjfb8856606#    path : The vuser device path in container. Required.
121ac6d8f46Sjfb8856606#    queues : The max queues of vuser. Optional, default 1, greater or equal to the number of processes.
122ac6d8f46Sjfb8856606#    queue_size : Queue size.Optional, default 256.
123ac6d8f46Sjfb8856606#    mac : The mac address of vuser. Optional, default random, if vhost use phy NIC, it should be set to the phy NIC's mac.
124ac6d8f46Sjfb8856606#    cq : Optional, if queues = 1, default 0; if queues > 1 default 1.
125ac6d8f46Sjfb8856606#[vdev0]
126ac6d8f46Sjfb8856606##iface=/usr/local/var/run/openvswitch/vhost-user0
127ac6d8f46Sjfb8856606#path=/var/run/openvswitch/vhost-user0
128ac6d8f46Sjfb8856606#queues=1
129ac6d8f46Sjfb8856606#queue_size=256
130ac6d8f46Sjfb8856606#mac=00:00:00:00:00:01
131ac6d8f46Sjfb8856606#cq=0
132a3bbaff5Sfengbojiang
133c0f66684Sfengbojiang(姜凤波)# bond config section
134c0f66684Sfengbojiang(姜凤波)# See http://doc.dpdk.org/guides/prog_guide/link_bonding_poll_mode_drv_lib.html
135156135daSfengbojiang(姜凤波)#[bond0]
136c0f66684Sfengbojiang(姜凤波)#mode=4
137c0f66684Sfengbojiang(姜凤波)#slave=0000:0a:00.0,slave=0000:0a:00.1
138c0f66684Sfengbojiang(姜凤波)#primary=0000:0a:00.0
139c0f66684Sfengbojiang(姜凤波)#mac=f0:98:38:xx:xx:xx
140c0f66684Sfengbojiang(姜凤波)## opt argument
141c0f66684Sfengbojiang(姜凤波)#socket_id=0
142c0f66684Sfengbojiang(姜凤波)#xmit_policy=l23
143c0f66684Sfengbojiang(姜凤波)#lsc_poll_period_ms=100
144c0f66684Sfengbojiang(姜凤波)#up_delay=10
145c0f66684Sfengbojiang(姜凤波)#down_delay=50
146c0f66684Sfengbojiang(姜凤波)
14779f0ade3Sfengbojiang# Kni config: if enabled and method=reject,
14879f0ade3Sfengbojiang# all packets that do not belong to the following tcp_port and udp_port
14979f0ade3Sfengbojiang# will transmit to kernel; if method=accept, all packets that belong to
15079f0ade3Sfengbojiang# the following tcp_port and udp_port will transmit to kernel.
151ac6d8f46Sjfb8856606#[kni]
152ac6d8f46Sjfb8856606#enable=1
153ac6d8f46Sjfb8856606#method=reject
15479f0ade3Sfengbojiang# The format is same as port_list
155ac6d8f46Sjfb8856606#tcp_port=80,443
156a9643ea8Slogwang#udp_port=53
157a9643ea8Slogwang
15879f0ade3Sfengbojiang# FreeBSD network performance tuning configurations.
15979f0ade3Sfengbojiang# Most native FreeBSD configurations are supported.
160a9643ea8Slogwang[freebsd.boot]
161a9643ea8Slogwanghz=100
162a9643ea8Slogwang
16379f0ade3Sfengbojiang# Block out a range of descriptors to avoid overlap
16479f0ade3Sfengbojiang# with the kernel's descriptor space.
16579f0ade3Sfengbojiang# You can increase this value according to your app.
166a02c88d6Slogwangfd_reserve=1024
167a02c88d6Slogwang
168a9643ea8Slogwangkern.ipc.maxsockets=262144
169a9643ea8Slogwang
170a9643ea8Slogwangnet.inet.tcp.syncache.hashsize=4096
171a9643ea8Slogwangnet.inet.tcp.syncache.bucketlimit=100
172a9643ea8Slogwang
173a9643ea8Slogwangnet.inet.tcp.tcbhashsize=65536
174a9643ea8Slogwang
175bb6ad803Slogwangkern.ncallout=262144
176bb6ad803Slogwang
177d7140ab7Sfengbojiang(姜凤波)kern.features.inet6=1
178d7140ab7Sfengbojiang(姜凤波)net.inet6.ip6.auto_linklocal=1
179d7140ab7Sfengbojiang(姜凤波)net.inet6.ip6.accept_rtadv=2
180d7140ab7Sfengbojiang(姜凤波)net.inet6.icmp6.rediraccept=1
181d7140ab7Sfengbojiang(姜凤波)net.inet6.ip6.forwarding=0
182d7140ab7Sfengbojiang(姜凤波)
183a9643ea8Slogwang[freebsd.sysctl]
184a9643ea8Slogwangkern.ipc.somaxconn=32768
185a9643ea8Slogwangkern.ipc.maxsockbuf=16777216
186a9643ea8Slogwang
187c855fce6Slogwangnet.link.ether.inet.maxhold=5
188c855fce6Slogwang
189a9643ea8Slogwangnet.inet.tcp.fast_finwait2_recycle=1
190a9643ea8Slogwangnet.inet.tcp.sendspace=16384
191a9643ea8Slogwangnet.inet.tcp.recvspace=8192
192aa174b6eSfengbojiang#net.inet.tcp.nolocaltimewait=1
1938755b2deSlogwangnet.inet.tcp.cc.algorithm=cubic
194a9643ea8Slogwangnet.inet.tcp.sendbuf_max=16777216
195a9643ea8Slogwangnet.inet.tcp.recvbuf_max=16777216
196a9643ea8Slogwangnet.inet.tcp.sendbuf_auto=1
197a9643ea8Slogwangnet.inet.tcp.recvbuf_auto=1
198a9643ea8Slogwangnet.inet.tcp.sendbuf_inc=16384
199fbb53eecSfengbojiang#net.inet.tcp.recvbuf_inc=524288
2008755b2deSlogwangnet.inet.tcp.sack.enable=1
201a9643ea8Slogwangnet.inet.tcp.blackhole=1
202a9643ea8Slogwangnet.inet.tcp.msl=2000
2038c65918bSfengbojiangnet.inet.tcp.delayed_ack=1
204*5ed0a284Sfengbojiangnet.inet.tcp.rfc1323=1
205a9643ea8Slogwang
206a9643ea8Slogwangnet.inet.udp.blackhole=1
207a9643ea8Slogwangnet.inet.ip.redirect=0
208156135daSfengbojiang(姜凤波)net.inet.ip.forwarding=0
209fbb53eecSfengbojiang
210fbb53eecSfengbojiang#set default stacks:freebsd, rack or bbr
211544273b7Sfengbojiangnet.inet.tcp.functions_default=freebsd
212