]> git.proxmox.com Git - ceph.git/blob - ceph/src/seastar/doc/network-configuration.md
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / seastar / doc / network-configuration.md
1 Network Configuration
2 ---------------------
3
4 In order to support multiple network devices in Seastar, new Network Configuration format has to be introduced.
5 New format is Yaml based and contains a list of network devices along with its IP parameters and optional (if DPDK is used) hardware parameters.
6 The new configuration can be provided either by command line with --net-config option or by configuration file by --net-config-file.
7
8 ### DPDK access
9 Network device (called port in DPDK) can be accessed by either port index ( zero based index of device shown by dpdk-setup.sh ) or its PCI address (shown by lspci, lshw tools)
10
11 Example config line with pci address given:
12
13 ```
14 eth0: {pci_address: 0000:06:00.0, ip: 192.168.100.10, gateway: 192.168.100.1, netmask: 255.255.255.0 }
15 ```
16
17 Example config line with port index given:
18
19 ```
20 eth0: {port_index: 0, ip: 192.168.100.10, gateway: 192.168.100.1, netmask: 255.255.255.0 }
21 ```
22
23 Please note that device name - eth0 above, is not used by DPDK itself, it remains only for configuration consistency.
24 The hardware configuration has to be specied in the same way accross all network devices, so for example if pci_address is specified for one network device, port_index cannot be specified for any other.
25
26
27 ## Non-DPDK access
28 When there is no pci_address neither port_index defined then Non-DPDK access is assumed provided by libvirt deamon (see native-stack.md), eg:
29
30 ```
31 virbr0: { ip: 192.168.100.10, gateway: 192.168.100.1, netmask: 255.255.255.0 }
32 ```
33
34 ## Other hardware related options
35
36 There are other hardware related optional options, some of the are common for both DPDK and non-DPDK mode
37 - lro ( large receive offload ), boolean, deafult true
38 - tso ( tcp segmentation offload ), boolean, default true
39 - ufo ( udp fragmentation offload ), boolean, default true
40 - hw-fc ( hardware flow control ), boolean, default true,
41 - csum-offload ( IP checksum offload ), boolean, default true
42 - ring-size ( device ring buffer size ), unsigned, default 256, libvirt only
43 - event-index ( VIRTIO_RING_F_EVENT_IDX support enabled ), boolean, default true, libvirt only
44
45
46 ## DHCP
47
48 IP configuration can be set by either IP/gateway/netmask (as seen in examples above), but also by DHCP with dhcp=true setting, eg:
49
50 ```
51 eth0: {pci_address: 0000:06:00.0, dhcp=true}
52 ```
53
54 DHCP can be selected per network device, so it would also be perfectly valid to define dhcp for eth0, but ip/netmask/gateway for eth1.
55
56
57 ## Multiple devices
58 Configuration formay for multiple devices is a comma separated lists of single devices with added YAML brackets, eg:
59
60 ```
61 {virbr0: { ip: 192.168.100.10, gateway: 192.168.100.1, netmask: 255.255.255.0 } , virbr1: { dhcp: true } }
62 ```
63
64
65