1 /*
2  * Copyright (c) 2020 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 /**
8  * @file
9  * @brief Zperf sample.
10  */
11 #include <zephyr/usb/usbd.h>
12 #include <zephyr/net/net_config.h>
13 
14 LOG_MODULE_REGISTER(zperf, CONFIG_NET_ZPERF_LOG_LEVEL);
15 
16 #ifdef CONFIG_NET_LOOPBACK_SIMULATE_PACKET_DROP
17 #include <zephyr/net/loopback.h>
18 #endif
19 
20 #if defined(CONFIG_USB_DEVICE_STACK_NEXT)
21 #include <sample_usbd.h>
22 #endif
23 
main(void)24 int main(void)
25 {
26 #if defined(CONFIG_USB_DEVICE_STACK_NEXT)
27 	struct usbd_context *sample_usbd;
28 	int err;
29 
30 	sample_usbd = sample_usbd_init_device(NULL);
31 	if (sample_usbd == NULL) {
32 		return -ENODEV;
33 	}
34 
35 	err = usbd_enable(sample_usbd);
36 	if (err) {
37 		return err;
38 	}
39 
40 	(void)net_config_init_app(NULL, "Initializing network");
41 #endif /* CONFIG_USB_DEVICE_STACK_NEXT */
42 
43 #ifdef CONFIG_NET_LOOPBACK_SIMULATE_PACKET_DROP
44 	loopback_set_packet_drop_ratio(1);
45 #endif
46 
47 #if defined(CONFIG_NET_DHCPV4) && !defined(CONFIG_NET_CONFIG_SETTINGS)
48 	net_dhcpv4_start(net_if_get_default());
49 #endif
50 	return 0;
51 }
52