vlib: process startup config exec scripts line by line 01/36101/6
authorDamjan Marion <damarion@cisco.com>
Sun, 8 May 2022 18:48:37 +0000 (20:48 +0200)
committerDave Wallace <dwallacelf@gmail.com>
Fri, 13 May 2022 16:58:03 +0000 (16:58 +0000)
commitc50bcbd6c28f2fd87f87b86bd5b215892daf46a6
tree33144a097d64ff018972a73692ccc4f86b93a20a
parentc0a08cadee9161554246f707eaf24f782086914d
vlib: process startup config exec scripts line by line

This fixes long standing annoyance that CLIs with optional args cannot
be executed from file, as they cannot distinguish between valid optional
args and next line in the file.

Multiline statements can be provided simply by using backslash before \n.
Also comments are supported - everything after # is ignored up to the
end of the line.

Example:

 # multiline cli using backslash
show version \
       verbose # end of line comment

packet-generator new { \
   name x \
   limit 5 \
   # comment inside cmultiline cli \
   size 128-128 \
   interface local0 \
   node null-node \
   data { \
       incrementing 30 \
   } \
}

Type: fix

Change-Id: Ia6d588169bae14e6e3f18effe94820d05ace1dbf
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vlib/cli.c
src/vlib/cli.h
src/vlib/unix/main.c
src/vnet/ipsec/ipsec_cli.c