docs: better docs, mv doxygen to sphinx
[vpp.git] / docs / configuration / config_getting_started.rst
1 .. _config_getting_started:
2
3 =======================================
4 Getting started with the configuration
5 =======================================
6
7 After a successful installation, VPP installs a startup config file named
8 *startup.conf* in the */etc/vpp/* directory. This file can be tailored to
9 make VPP run as desired, but contains default values for typical installations.
10
11 Below are more details about this file and some of the the parameters and values
12 it contains.
13
14 Command-line Arguments
15 ----------------------
16
17 Before we describe details of the startup configuration file (startup.conf) it
18 should be mentioned that VPP can be started without a startup configuration
19 file.
20
21 Parameters are grouped by a section name. When providing more than one
22 parameter to a section, all parameters for that section must be wrapped in
23 curly braces. For example, to start VPP with configuration data via the
24 command line with the section name *'unix'*:
25
26 .. code-block:: console
27
28     $ sudo /usr/bin/vpp unix { interactive cli-listen 127.0.0.1:5002 }
29
30 The command line can be presented as a single string or as several; anything
31 given on the command line is concatenated with spaces into a single string
32 before parsing. VPP applications must be able to locate their own executable
33 images. The simplest way to ensure this will work is to invoke a VPP
34 application by giving its absolute path. For example:
35 *'/usr/bin/vpp <options>'*  At startup, VPP applications parse through their
36 own ELF-sections [primarily] to make lists of init, configuration, and exit
37 handlers.
38
39 When developing with VPP, in gdb it's often sufficient to start an application
40 like this:
41
42 .. code-block:: console
43
44     (gdb) run unix interactive
45
46
47 Configuration File (startup.conf)
48 -----------------------------------------
49
50 The more typical way to specify the startup configuration to VPP is with the
51 startup configuration file (startup.conf).
52
53 The path of the file is provided to the VPP application on the command line.
54 This is typically at /etc/vpp/startup.conf. If VPP is installed as a package
55 a default startup.conf file is provided at this location.
56
57 The format of the configuration file is a simple text file with the same content
58 as the command line.
59
60 **A very simple startup.conf file:**
61
62 .. code-block:: console
63
64     $ cat /etc/vpp/startup.conf
65     unix {
66       nodaemon
67       log /var/log/vpp/vpp.log
68       full-coredump
69       cli-listen localhost:5002
70     }
71
72     api-trace {
73       on
74     }
75
76     dpdk {
77       dev 0000:03:00.0
78     }
79
80 VPP is instructed to load this file with the -c option. For example:
81
82 .. code-block:: console
83
84     $ sudo /usr/bin/vpp -c /etc/vpp/startup.conf