1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef __LINUX_BRIDGE_EBT_STP_H
3#define __LINUX_BRIDGE_EBT_STP_H
4
5#include <linux/types.h>
6
7#define EBT_STP_TYPE		0x0001
8
9#define EBT_STP_FLAGS		0x0002
10#define EBT_STP_ROOTPRIO	0x0004
11#define EBT_STP_ROOTADDR	0x0008
12#define EBT_STP_ROOTCOST	0x0010
13#define EBT_STP_SENDERPRIO	0x0020
14#define EBT_STP_SENDERADDR	0x0040
15#define EBT_STP_PORT		0x0080
16#define EBT_STP_MSGAGE		0x0100
17#define EBT_STP_MAXAGE		0x0200
18#define EBT_STP_HELLOTIME	0x0400
19#define EBT_STP_FWDD		0x0800
20
21#define EBT_STP_MASK		0x0fff
22#define EBT_STP_CONFIG_MASK	0x0ffe
23
24#define EBT_STP_MATCH "stp"
25
26struct ebt_stp_config_info {
27	__u8 flags;
28	__u16 root_priol, root_priou;
29	char root_addr[6], root_addrmsk[6];
30	__u32 root_costl, root_costu;
31	__u16 sender_priol, sender_priou;
32	char sender_addr[6], sender_addrmsk[6];
33	__u16 portl, portu;
34	__u16 msg_agel, msg_ageu;
35	__u16 max_agel, max_ageu;
36	__u16 hello_timel, hello_timeu;
37	__u16 forward_delayl, forward_delayu;
38};
39
40struct ebt_stp_info {
41	__u8 type;
42	struct ebt_stp_config_info config;
43	__u16 bitmask;
44	__u16 invflags;
45};
46
47#endif
48