1# Capture network packets
2
3# Copyright (c) 2021 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6config NET_CAPTURE
7	bool "Network packet capture support"
8	select NET_L2_VIRTUAL
9	select NET_L2_VIRTUAL_MGMT
10	select NET_L2_IPIP
11	select NET_MGMT
12	select NET_MGMT_EVENT
13	select NET_CONTEXT_NET_PKT_POOL
14	help
15	  This option allows user to capture network packets.
16	  The captured packets are sent to another host for processing.
17	  User can use network packet analyzer like Wireshark to
18	  process the packets.
19	  The captured network packets are sent using IPIP tunnel
20	  as a payload in UDP datagrams.
21
22if NET_CAPTURE
23
24config NET_CAPTURE_PKT_COUNT
25	int "How many network packets to allocate for capture"
26	default 4
27	help
28	  This tells how many net_pkt to allocate for capturing
29	  network traffic. Each network frame sent or received
30	  will allocate one net_pkt for network metadata.
31	  Each net_pkt will contain a list of net_buf's that contain
32	  the actual network data.
33
34config NET_CAPTURE_BUF_COUNT
35	int "How many network buffers to allocate for capture"
36	default 16
37	help
38	  This tells how many net_buf to allocate for capturing
39	  network traffic.
40
41config NET_CAPTURE_DEVICE_COUNT
42	int "Number of network capture devices"
43	default 1
44	help
45	  Number of network capture devices. Usually one is enough but
46	  if one needs to send captured data to multiple different devices,
47	  then you need to increase the value.
48
49module = NET_CAPTURE
50module-dep = NET_LOG
51module-str = Log level for network capture API
52module-help = Enables network capture API debug messages.
53source "subsys/net/Kconfig.template.log_config.net"
54
55config NET_CAPTURE_TX_DEBUG
56	bool "Debug sent packets"
57	depends on NET_CAPTURE_LOG_LEVEL_DBG
58	help
59	  Enables printing of sent network packet.
60	  This can produce lot of output so it is disabled by default.
61
62endif # NET_CAPTURE
63