File Index
Files and directories
Sign in
FILE

utils.h

File preview with syntax highlighting.

linux-6.19.14/net/mctp/test/utils.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2
 3#ifndef __NET_MCTP_TEST_UTILS_H
 4#define __NET_MCTP_TEST_UTILS_H
 5
 6#include <uapi/linux/netdevice.h>
 7
 8#include <net/mctp.h>
 9#include <net/mctpdevice.h>
10
11#include <kunit/test.h>
12
13#define MCTP_DEV_TEST_MTU	68
14
15struct mctp_test_dev {
16	struct net_device *ndev;
17	struct mctp_dev *mdev;
18
19	unsigned short lladdr_len;
20	unsigned char lladdr[MAX_ADDR_LEN];
21
22	struct sk_buff_head pkts;
23};
24
25struct mctp_test_dev;
26
27struct mctp_test_route {
28	struct mctp_route	rt;
29};
30
31struct mctp_test_bind_setup {
32	mctp_eid_t bind_addr;
33	int bind_net;
34	u8 bind_type;
35
36	bool have_peer;
37	mctp_eid_t peer_addr;
38	int peer_net;
39
40	/* optional name. Used for comparison in "lookup" tests */
41	const char *name;
42};
43
44struct mctp_test_dev *mctp_test_create_dev(void);
45struct mctp_test_dev *mctp_test_create_dev_lladdr(unsigned short lladdr_len,
46						  const unsigned char *lladdr);
47void mctp_test_destroy_dev(struct mctp_test_dev *dev);
48
49struct mctp_test_route *mctp_test_create_route_direct(struct net *net,
50						      struct mctp_dev *dev,
51						      mctp_eid_t eid,
52						      unsigned int mtu);
53struct mctp_test_route *mctp_test_create_route_gw(struct net *net,
54						  unsigned int netid,
55						  mctp_eid_t eid,
56						  mctp_eid_t gw,
57						  unsigned int mtu);
58void mctp_test_dst_setup(struct kunit *test, struct mctp_dst *dst,
59			 struct mctp_test_dev *dev, unsigned int mtu);
60void mctp_test_route_destroy(struct kunit *test, struct mctp_test_route *rt);
61void mctp_test_skb_set_dev(struct sk_buff *skb, struct mctp_test_dev *dev);
62struct sk_buff *mctp_test_create_skb(const struct mctp_hdr *hdr,
63				     unsigned int data_len);
64struct sk_buff *__mctp_test_create_skb_data(const struct mctp_hdr *hdr,
65					    const void *data, size_t data_len);
66
67#define mctp_test_create_skb_data(h, d) \
68	__mctp_test_create_skb_data(h, d, sizeof(*d))
69
70void mctp_test_bind_run(struct kunit *test,
71			const struct mctp_test_bind_setup *setup,
72			int *ret_bind_errno, struct socket **sock);
73
74#endif /* __NET_MCTP_TEST_UTILS_H */
~/ Read-only file preview.