at master 1.5 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _NET_SELFTESTS 3#define _NET_SELFTESTS 4 5#include <linux/ethtool.h> 6#include <linux/netdevice.h> 7 8struct net_packet_attrs { 9 const unsigned char *src; 10 const unsigned char *dst; 11 u32 ip_src; 12 u32 ip_dst; 13 bool tcp; 14 u16 sport; 15 u16 dport; 16 int timeout; 17 int size; 18 int max_size; 19 u8 id; 20 u16 queue_mapping; 21 bool bad_csum; 22}; 23 24struct net_test_priv { 25 struct net_packet_attrs *packet; 26 struct packet_type pt; 27 struct completion comp; 28 int double_vlan; 29 int vlan_id; 30 int ok; 31}; 32 33struct netsfhdr { 34 __be32 version; 35 __be64 magic; 36 u8 id; 37} __packed; 38 39#define NET_TEST_PKT_SIZE (sizeof(struct ethhdr) + sizeof(struct iphdr) + \ 40 sizeof(struct netsfhdr)) 41#define NET_TEST_PKT_MAGIC 0xdeadcafecafedeadULL 42#define NET_LB_TIMEOUT msecs_to_jiffies(200) 43 44#if IS_ENABLED(CONFIG_NET_SELFTESTS) 45 46struct sk_buff *net_test_get_skb(struct net_device *ndev, u8 id, 47 struct net_packet_attrs *attr); 48void net_selftest(struct net_device *ndev, struct ethtool_test *etest, 49 u64 *buf); 50int net_selftest_get_count(void); 51void net_selftest_get_strings(u8 *data); 52 53#else 54 55static inline struct sk_buff *net_test_get_skb(struct net_device *ndev, u8 id, 56 struct net_packet_attrs *attr) 57{ 58 return NULL; 59} 60 61static inline void net_selftest(struct net_device *ndev, struct ethtool_test *etest, 62 u64 *buf) 63{ 64} 65 66static inline int net_selftest_get_count(void) 67{ 68 return 0; 69} 70 71static inline void net_selftest_get_strings(u8 *data) 72{ 73} 74 75#endif 76#endif /* _NET_SELFTESTS */