Commit Graph

478 Commits

Author SHA1 Message Date
Ole Troan
3459ece6da misc: vpe.api messages dynamically allocated
This is the last in the series of moving API messages from vpp/api/vpe.api to vlibmemory/memclnt.api.
This patch makes the remaining vpe.api messages dynamic, to help VAT2 binary-api command.
Moves the VAT test code to a separate file and removes the now unnused API meta files.

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I01dd78eaff1d3715dff17d2643bf0f7f0089935b
Signed-off-by: Ole Troan <ot@cisco.com>
2021-09-28 15:17:37 +00:00
Alexander Chernavin
2430bad895 stats: add name vectors to prometheus exporter output
Type: improvement

Counters are labeled with interface indices in the Prometheus exporter
output. For example:

  # TYPE _if_drops counter
  _if_drops{thread="0",interface="0"} 0
  _if_drops{thread="0",interface="1"} 0
  _if_drops{thread="0",interface="2"} 2112
  [..]

Currently, it's unable to map interface indices to the interface names
using only output provided by the Prometheus exporter. However, this
mapping is present in the vpp_get_stats output:

  # vpp_get_stats dump /if/names
  [0]: local0 /if/names
  [1]: GigabitEthernet0/8/0 /if/names
  [2]: GigabitEthernet0/9/0 /if/names
  [..]

With this change, add name vectors to Prometheus exporter output as info
metrics. Thus exposing interfaces and their indices:

  # TYPE _if_names_info gauge
  _if_names_info{index="0",name="local0"} 1
  _if_names_info{index="1",name="GigabitEthernet0/8/0"} 1
  _if_names_info{index="2",name="GigabitEthernet0/9/0"} 1
  [..]

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: Iff86c4d6fea8805e71fb04fccf278bae855e88d1
2021-09-28 13:01:32 +00:00
Florin Coras
a1400cecb8 misc: api move continued
Move control ping and change dependencies from vpe.api_types to
memclnt.api_types

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9f8bc442e28738c48d64d1f6794082c8c4f5725b
2021-09-27 08:01:44 +00:00
Florin Coras
248210c6ca misc: move part of vpe apis to vlibmemory
VPE apis are actually vlib apis. This moves those that are not tightly
coupled with vapi to vlib_api

Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I456a64ce49a0cdeff4a0931c6ea513cb639f683e
Signed-off-by: Ole Troan <ot@cisco.com>
2021-09-27 07:04:51 +00:00
Ray Kinsella
5161c4ab57 stats: revert stat_validate_counter_vector3 non-static
This reverts commit c30157811e.

Type: refactor

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Id011c8e5acb1613e09fd339ce614159c0acd651a
2021-09-23 06:57:08 +00:00
Damjan Marion
ff011b2560 vppinfra: make default hugepage size configurable
i.e.

memory {
  default-hugepage-size 1G
}

Type: improvement
Change-Id: I822afb51712ae92f4e4992b8ffa33dcb15ccaef1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-09-22 08:29:23 +00:00
Nick Brown
e3cf4d0cf3 build: use GNUInstallDirs install destinations
So as to be compliant with distribution layouts, as recommend by:
https://cmake.org/cmake/help/latest/command/install.html#installing-files

Type: make
Change-Id: Ic46ace4f26aab1aa4902cbd013c40a92c480680d
Signed-off-by: Nick Brown <nickbroon@gmail.com>
2021-09-17 20:25:49 +00:00
Ray Kinsella
296f4a3056 stats: revert enable/disable segments polls
This reverts commit 034bd1067e.

Type: refactor

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Icce6052d6cf9616f7eac3185b4c9aace234aa59f
2021-09-09 16:07:19 +00:00
Ray Kinsella
034bd1067e stats: enable/disable segments polls
Add an enable/disable field to stats segments poll. The is used by the
perfmon plugin to only poll for stats on an active bundle.

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I6404a7db50d8e922afea5da8ec15fdabe3d97157
2021-08-31 12:14:01 +00:00
Ray Kinsella
c30157811e stats: stat_validate_counter_vector3 non-static
Make stat_validate_counter_vector3 usable outside of stats segement.  Is
used by the perfmon plugin to allocate a 2-dimension array of values.

Type: improvement

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: If4be2e14ba718c20bf939d162e580880eab1a6cb
2021-08-31 12:13:49 +00:00
Neale Ranns
a70b015cee fib: Compiile time option to use 8-8-8-8 stride tries for FIB rather
than 16-8-8-8

Type: feature

the memory trade-off is:

for 8-8-8-8 tries

DBGvpp# sh ip fib mtrie mem
ipv4-VRF:0 mtrie:8068 hash:3499
totals: mtrie:8068 hash:3499 all:11567

for 16-8-8

DBGvpp# sh ip fib mtrie mem
ipv4-VRF:0 mtrie:333056 hash:3499
totals: mtrie:333056 hash:3499 all:336555

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I5271a4322d786de6e47613cff9bd432762dbed2a
2021-08-11 08:48:42 +00:00
Filip Tehlar
abfe365ef6 ip: add api test file
Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I49c4183a443b7b39924328900e6a6ac2e09be426
2021-07-29 09:13:35 +00:00
Filip Tehlar
b7e4d4487c misc: remove vnet_all_api_h and vnet_msg_enum
These file are no longer needed

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I34f8e0b7e17d9e8c06dcd6c5ffe51aa273cdec07
2021-07-13 19:27:22 +00:00
Filip Tehlar
0046e97eb9 session: api cleanup
Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Iacc58d27ac51c8a1c571087f98297e046b3477c2
2021-07-12 10:36:46 +00:00
Filip Tehlar
0577ff1c39 interface: api cleanup
Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I189bfcca2d5fa1f37d05a72c92d04bf260343043
2021-07-02 15:43:33 +00:00
Filip Tehlar
5ff59a1f8b ip: api cleanup
Use autogenerated code.
Does not change API definitions.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I4b6d881571c158b7a69a78b9680732d090c4f8b5
2021-07-01 10:10:35 +00:00
Filip Tehlar
43428dbfbb classify: api cleanup
Use autogenerated code.

Type: improvement

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Id7d4d23e4fe707f7049828fec44df7ff0419d23c
2021-06-21 10:54:57 +00:00
Benoît Ganne
26c6fffa7a stats: fix counters name overflow
sm_directory_vector_by_name is a C-string hashtable, make sure the names
are NULL-terminated.

Type: fix

Change-Id: If44456ef9da69ed012f2b981b58ce732663af67d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-06-16 07:41:31 +00:00
Filip Tehlar
c863a91340 api: remove custom dump
Type: improvement
Change-Id: I4b9b2be8817be10e46accc19219deb2b544f266b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-06-16 07:26:05 +00:00
Ole Troan
92a8d761c4 nat: add maximum configured sessions to stat segment
Add /nat44-ed/max-cfg-sessions gauge.
Reflects the configured value for configured sessions (per thread).

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I618c8aa0daab0981399cfe9273d191fa1990ef60
Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-21 16:49:30 +00:00
Ole Troan
3b51f28a6f stats: move vector_rate counters into provider
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Iae1fb59a6dc9679c0fa0b87fa5232d551a7995a5
2021-05-06 18:10:13 +00:00
Ole Troan
a606d92107 stats: memory heap counters
- Add counters for the main-heap
- Add additional counters per heap:
  STAT_MEM_TOTAL
  STAT_MEM_USED,
  STAT_MEM_FREE,
  STAT_MEM_USED_MMAP,
  STAT_MEM_TOTAL_ALLOC,
  STAT_MEM_FREE_CHUNKS,
  STAT_MEM_RELEASABLE,

The per-heap counters are organised as a two dimensional vector.
total, used and free are directly available via symlinks.

vpp_get_stats ls "^/mem/"
/mem/stat segment
/mem/stat segment/total
/mem/stat segment/used
/mem/stat segment/free
/mem/main heap
/mem/main heap/total
/mem/main heap/used
/mem/main heap/free

vpp_get_stats dump "^/mem/main\ heap$"
[0 @ 0]: 1073741776 packets /mem/main heap
[1 @ 0]: 91586688 packets /mem/main heap
[2 @ 0]: 982155088 packets /mem/main heap
[3 @ 0]: 0 packets /mem/main heap
[4 @ 0]: 1073741776 packets /mem/main heap
[5 @ 0]: 433 packets /mem/main heap
[6 @ 0]: 981708688 packets /mem/main heap

Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I36725dde3b4b3befd27a8b4d3ba931f2d3b627cc
2021-05-06 14:19:28 +00:00
Paul Vinciguerra
ac0415fac8 api: fix crash in custom dump
Change-Id: Iffc52b4f52c235b0b5d13d2b42467cb2be0bf934
Type: fix
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2021-05-05 07:58:47 +00:00
Arthur de Kerhor
db02380904 stats: adding symlinks for nodes and interfaces in the stat segment
A given interface counter (e.g rx) can be accessed via
/interfaces/<interface_name>/<counter_name>.
Same goes with nodes: /nodes/<node_name>/<counter_name>
As interfaces may contain '/' in their names,
these are replaced by '_' in symlinks
Also added 2 tests for the stat segment

Type: feature

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: I27da252e7b3dc177815616ca46b5c200a456bf0f
Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-04 16:29:29 +00:00
Ray Kinsella
78b0a6e3f6 dpdk: allow configuration of max-simd-bitwidth
Enable configuration of DPDK's max-simd-bitwidth through the startup.conf

Type: improvement
Change-Id: I455148714ffc7caa257931526f310dbefd7ab01c
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2021-05-04 13:57:48 +00:00
Damjan Marion
88b2e3682b misc: experimental configure script
Type: make
Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30 17:02:32 +00:00
Damjan Marion
f8cb70177f vppinfra: remove linux/syscall.h
For portabiliy reasons it is better to have all wrapped in clib code.
I.e. instead of using getcpu() we have clib_get_current_numa_node () and
clib_get_current_cpu_id().

Type: refactor
Change-Id: I29b52d7f29bc7f93873402c4070561f564b71c63
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-18 15:22:50 +02:00
Damjan Marion
fd8deb48c7 vlib: split vlib_main_t into global and per-thread
Type: refactor
Change-Id: I8b273bc3bf16aa360f031f1b2692f766e5fc4613
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26 16:33:42 +01:00
Damjan Marion
6ffb7c6189 vlib: introduce vlib_get_main_by_index(), vlib_get_n_threads()
Type: improvement
Change-Id: If3da7d4338470912f37ff1794620418d928fb77f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-26 16:33:21 +01:00
Dave Barach
aa479bb91d misc: remove cop API support (part 1)
API marked for deprecation last year due to non-inclusive language.
Last supported release: 21.01. See the "adl" plugin.

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I931e58ced9cc8403ca5b23fd6b07e50d0ff7306b
2021-03-11 17:10:54 +00:00
Andrew Yourtchenko
6baa45cbf4 api: fix memory leak in vl_api_cli_inband_t_handler
I noticed the memory leak while sending a lot of cli_inband APIs:

DBGvpp# memory-trace on main-heap

... send a lot of API cli_inband ...

DBGvpp# show memory main-heap
Thread 0 vpp_main
  base 0x7f85c8302000, size 1g, locked, unmap-on-destroy, name 'main heap'
    page stats: page-size 4K, total 262144, mapped 33129, not-mapped 229015
      numa 0: 33129 pages, 129.41m bytes
    total: 1023.99M, used: 125.78M, free: 898.22M, trimmable: 897.59M

  Bytes    Count     Sample   Traceback
  9751632   145034 0x7f85d01696e8 clib_mem_alloc_aligned_at_offset + 0x80
                                  vec_resize_allocate_memory + 0xa8
                                  _vec_resize_inline + 0x240
                                  va_unformat + 0xe4
                                  unformat + 0x159
                                  vlib_cli_dispatch_sub_commands + 0x11e
                                  vlib_cli_input + 0x8f
                                  vl_api_cli_inband_t_handler + 0xd9
                                  vl_msg_api_handler_with_vm_node + 0x488
                                  void_mem_api_handle_msg_i + 0x6f
                                  vl_mem_api_handle_msg_main + 0x38
                                  vl_api_clnt_process + 0x28d
  9723904   145034 0x7f85cd677238 clib_mem_alloc_aligned_at_offset + 0x80
                                  vec_resize_allocate_memory + 0xa8
                                  _vec_resize_inline + 0x240
                                  unformat_init_string + 0x10d
                                  vl_api_cli_inband_t_handler + 0xc1
                                  vl_msg_api_handler_with_vm_node + 0x488
                                  void_mem_api_handle_msg_i + 0x6f
                                  vl_mem_api_handle_msg_main + 0x38
                                  vl_api_clnt_process + 0x28d
                                  vlib_process_bootstrap + 0x5d
                                  0x7f8608b0e038
290077 total traced objects

Solution: free the input data structure.

Type: fix
Change-Id: I42de5572e8760237e793a53c1a94bce65a4ac5fa
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-02-22 22:28:15 +00:00
Ole Troan
445d110058 stats: coverity errors leaking fd
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I21368e37d70c5a64babd904bcf5f79339a5ab064
Signed-off-by: Ole Troan <ot@cisco.com>
2021-02-16 09:15:40 +00:00
Brian Russell
c5299ff30a policer: remove SSE2 prefix
The policer code uses a naming convention of prefixing a lot of
its definitions with "SSE2" when in fact there is nothing SSE2
specific about them. This is confusing so remove the prefix.

Unfortunately it has to stay in the API definitions for backward
compatibility.

Type: improvement
Signed-off-by: Brian Russell <brian@graphiant.com>
Change-Id: I59a7df9fd5ded2575f2e587b2768a025a213b07c
2021-02-12 14:55:58 +00:00
Brian Russell
e3845d79bf policer: use ip dscp
Use the common IP definitions of DSCP rather than duplicating in the
policer code.

Type: improvement
Signed-off-by: Brian Russell <brian@graphiant.com>
Change-Id: Iff4bc789356edc290b9c31eca33e93cf5b6211bf
2021-02-11 08:21:56 +00:00
Steven Luong
27ba5008a1 vhost: Add event index for interrupt notification to driver
VPP only supports a poor man's approach for interrupt notification to the
driver. It uses a simple binary flag for "interrupt needed" or "interrupt
not needed". Most drivers support more sophisticated event index already.
This feature is to add the long due missing feature and make it configurable,
off by default.

Type: feature

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I68dab7dd07045cafb49af97b7f70db9b8131ae03
2021-01-08 13:10:58 +00:00
Neale Ranns
a9e2774f55 ipsec: Deprecated the old IPsec Tunnel interface
Type: fix

it's been 2 releases since it was marked deprecated.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I0eba7ed607826ed0d00e7d2d8f9b27d09e8e9a6e
2021-01-07 09:15:13 +00:00
Damjan Marion
f0ca1e8d92 misc: refactor clib_bitmap_foreach macro
Type: refactor
Change-Id: I077110e1a422722e20aa546a6f3224c06ab0cde5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-14 12:14:21 +00:00
Damjan Marion
b2c31b685f misc: move to new pool_foreach macros
Type: refactor
Change-Id: Ie67dc579e88132ddb1ee4a34cb69f96920101772
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-14 12:14:21 +00:00
Paul Vinciguerra
dc01471be7 api: add missing version info
Type: fix

Change-Id: I269214e3eae72e837f25ee61d714556d976d410f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-14 01:34:51 +00:00
Neale Ranns
e2fe097424 fib: Source Address Selection
Type: feature

Use the FIB to provide SAS (in so far as it is today)
 - Use the glean adjacency as the record of the connected prefixes
 = there's a glean per-{interface, protocol, connected-prefix}
 - Keep the glean up to date with whatever the recieve host prefix is
(since it can change)

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I0f3dd1edb1f3fc965af1c7c586709028eb9cdeac
2020-12-08 09:00:24 +00:00
Andrew Yourtchenko
86ffb6b232 stats: fix coverity issues
Usage of the possibly negative value with subsequent check on it
makes coverity very unhappy, so put the check before use.

Change-Id: I731fbe6246f9e4212d546fd9277bc1ddcd3c2ec1
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-12-04 08:41:38 +00:00
Neale Ranns
119c0d78f4 gre: Move to new API generated types/messages
Type: improvement

also clean up GRE includes across the code base.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I90928b0da3927b7ca1a23683aa80d4b53bbf63fd
2020-11-26 14:59:55 +00:00
Ole Troan
df87f8092f api: vat2 and json autogeneration for api messages
VAT2: A completely auto-generated replacement of VAT.
Reads input message in JSON from stdin and outputs received messages in JSON.

A VAT2 plugin is automatically built for a .api file.
There no longer a need for a separate _test.c.

Example:
vat2 show_version {}
{
        "_msgname":     "show_version_reply",
        "retval":       0,
        "program":      "vpe",
        "version":      "21.01-rc0~411-gf6eb348a6",
        "build_date":   "2020-11-19T09:49:25",
        "build_directory":      "/vpp/autogen3"
}

vat2 sw_interface_dump '{"sw_if_index": -1,
                         "name_filter_valid": 0,
                         "name_filter": ""}'
[{
                "_msgname":     "sw_interface_details",
                "sw_if_index":  0,
                "sup_sw_if_index":      0,
                "l2_address":   "00:00:00:00:00:00",
                "flags":        "Invalid ENUM",
                "type": "IF_API_TYPE_HARDWARE",
                "link_duplex":  "LINK_DUPLEX_API_UNKNOWN",
                "link_speed":   0,
                "link_mtu":     0,
                "mtu":  [0, 0, 0, 0],
                "sub_id":       0,
                "sub_number_of_tags":   0,
                "sub_outer_vlan_id":    0,
                "sub_inner_vlan_id":    0,
                "sub_if_flags": "Invalid ENUM",
                "vtr_op":       0,
                "vtr_push_dot1q":       0,
                "vtr_tag1":     0,
                "vtr_tag2":     0,
                "outer_tag":    0,
                "b_dmac":       "00:00:00:00:00:00",
                "b_smac":       "00:00:00:00:00:00",
                "b_vlanid":     0,
                "i_sid":        0,
                "interface_name":       "local0",
                "interface_dev_type":   "local",
                "tag":  ""
        }]

This is the first phase and vat2 is not integrated in packaging yet.

Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ib45ddeafb180ea7da8c5dc274a9274d7a4edc876
Signed-off-by: Ole Troan <ot@cisco.com>
2020-11-25 08:25:50 +00:00
Nathan Skrzypczak
61559029da buffers: add page-size config
Type: feature

Add a `buffers {page-size}` parameter to specify page size
for buffers. This also fixes an issue with the parsing in
unformat_log2_page_size.

Change-Id: I7d7b1fa0bb7febaa7509cf2c625882f07eeafaad
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-11-24 15:56:08 +01:00
Benoît Ganne
ec4749a20f vpp: use vpp heap for libc
This makes libc use vpp main heap instead of the default libc heap.
This gives better visibility (accounting, tracing) on allocations
happening in external libraries called from vpp (eg. OpenSSL).

Type: feature

Change-Id: I5d8a673472145a4e090bedb443b8c58a967d1cca
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-10 17:13:53 +00:00
Dave Barach
27d978c913 vlib: add postmortem pcap dispatch trace
Inspired by a real-life conundrum: scenario X involves a vpp crash in
ip4-load-balance because vnet_buffer(b)->ip.adj_index[VLIB_TX] is
(still) set to ~0.

The problem takes most of a day to occur, and we need to see the
broken packet's graph trajectory, metadata, etc. to understand the
problem.

Fix a signed/unsigned ASSERT bug in vlib_get_trace_count().

Rename elog_post_mortem_dump() -> vlib_post_mortem_dump(), add
dispatch trace post-mortem dump.

Add FILTER_FLAG_POST_MORTEM so we can (putatively) capture a ludicrous
number of buffer traces, without actually using more than one dispatch
cycle's worth of memory.

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: If093202ef071df46e290370bd9b33bf6560d30e6
2020-11-04 17:39:10 +00:00
Damjan Marion
055e64066d vlib: per-class logging configuration in startup.conf
logging {
  class avf {
    rate-limit 200
    level debug
    syslog-level debug
  }

  class dpdk/cryptodev {
    rate-limit 200
    level disabled
    syslog-level disabled
  }
}

Type: improvement
Change-Id: Iebe49b3ed4dfbfd589e80fcd2f9a63a8fe66b83b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-21 21:52:17 +00:00
Ole Troan
65c56c83ce stats: missing dimension in stat_set_simple_counter
A simple counter is a two dimensional array by threads and
counter index. 28017 introduced an error missing the first
dimension.

If a vector is updated at the same time as a client reads,
an invalid pointer my result. This will be caught by the
optimistic locking after copying out the data, but if
following a pointer outside of the stat segment then
the stat client would crash. Add suitable boundary checks
for access to stat memory segment.

Fixes: 7d29e320fb
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I94f124ec71d98218c4eda5d124ac5594743d93d6
2020-10-21 18:58:58 +00:00
Damjan Marion
06d82260d9 vlib: print logs to stderr if interactive or nosyslog set
If VPP is started in interactive mode, instead of sending logs to syslog
server we print them directly to stderr.
Output is colorized, but that can be turned off with unix { nocolor }

Type: improvement
Change-Id: I9a0f0803e4cba2849a6efa0b6a86b9614ed33ced
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-21 17:46:01 +00:00
jiangxiaoming
c9e9b976d4 misc: clib_unix_warning usage error
Type: fix
Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: Ibc4e961388d0976b55b9b936d6a37d36cddab5fe
2020-10-10 17:32:11 +08:00