net/mctp/test/utils.h

Source file repositories/reference/linux-study-clean/net/mctp/test/utils.h

File Facts

System
Linux kernel
Corpus path
net/mctp/test/utils.h
Extension
.h
Size
2090 bytes
Lines
76
Domain
Networking Core
Bucket
Sockets, Protocols, Packet Path, And Network Policy
Inferred role
Networking Core: implementation source
Status
source implementation candidate

Why This File Exists

Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.

Dependency Surface

Detected Declarations

Annotated Snippet

struct mctp_test_dev {
	struct net_device *ndev;
	struct mctp_dev *mdev;

	unsigned short lladdr_len;
	unsigned char lladdr[MAX_ADDR_LEN];

	struct sk_buff_head pkts;
};

struct mctp_test_dev;

struct mctp_test_route {
	struct mctp_route	rt;
};

struct mctp_test_bind_setup {
	mctp_eid_t bind_addr;
	int bind_net;
	u8 bind_type;

	bool have_peer;
	mctp_eid_t peer_addr;
	int peer_net;

	/* optional name. Used for comparison in "lookup" tests */
	const char *name;
};

struct mctp_test_dev *mctp_test_create_dev(void);
struct mctp_test_dev *mctp_test_create_dev_with_addr(mctp_eid_t eid);
struct mctp_test_dev *mctp_test_create_dev_lladdr(unsigned short lladdr_len,
						  const unsigned char *lladdr);
void mctp_test_destroy_dev(struct mctp_test_dev *dev);

struct mctp_test_route *mctp_test_create_route_direct(struct net *net,
						      struct mctp_dev *dev,
						      mctp_eid_t eid,
						      unsigned int mtu);
struct mctp_test_route *mctp_test_create_route_gw(struct net *net,
						  unsigned int netid,
						  mctp_eid_t eid,
						  mctp_eid_t gw,
						  unsigned int mtu);
void mctp_test_dst_setup(struct kunit *test, struct mctp_dst *dst,
			 struct mctp_test_dev *dev, unsigned int mtu);
void mctp_test_route_destroy(struct kunit *test, struct mctp_test_route *rt);
void mctp_test_skb_set_dev(struct sk_buff *skb, struct mctp_test_dev *dev);
struct sk_buff *mctp_test_create_skb(const struct mctp_hdr *hdr,
				     unsigned int data_len);
struct sk_buff *__mctp_test_create_skb_data(const struct mctp_hdr *hdr,
					    const void *data, size_t data_len);

#define mctp_test_create_skb_data(h, d) \
	__mctp_test_create_skb_data(h, d, sizeof(*d))

void mctp_test_bind_run(struct kunit *test,
			const struct mctp_test_bind_setup *setup,
			int *ret_bind_errno, struct socket **sock);

#endif /* __NET_MCTP_TEST_UTILS_H */

Annotation

Implementation Notes