14714d137SHoratiu Vultur /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 24714d137SHoratiu Vultur 34714d137SHoratiu Vultur #ifndef _UAPI_LINUX_MRP_BRIDGE_H_ 44714d137SHoratiu Vultur #define _UAPI_LINUX_MRP_BRIDGE_H_ 54714d137SHoratiu Vultur 64714d137SHoratiu Vultur #include <linux/types.h> 74714d137SHoratiu Vultur #include <linux/if_ether.h> 84714d137SHoratiu Vultur 94714d137SHoratiu Vultur #define MRP_MAX_FRAME_LENGTH 200 104714d137SHoratiu Vultur #define MRP_DEFAULT_PRIO 0x8000 114714d137SHoratiu Vultur #define MRP_DOMAIN_UUID_LENGTH 16 124714d137SHoratiu Vultur #define MRP_VERSION 1 134714d137SHoratiu Vultur #define MRP_FRAME_PRIO 7 14c6676e7dSHoratiu Vultur #define MRP_OUI_LENGTH 3 15c6676e7dSHoratiu Vultur #define MRP_MANUFACTURE_DATA_LENGTH 2 164714d137SHoratiu Vultur 174714d137SHoratiu Vultur enum br_mrp_ring_role_type { 184714d137SHoratiu Vultur BR_MRP_RING_ROLE_DISABLED, 194714d137SHoratiu Vultur BR_MRP_RING_ROLE_MRC, 204714d137SHoratiu Vultur BR_MRP_RING_ROLE_MRM, 21c6676e7dSHoratiu Vultur BR_MRP_RING_ROLE_MRA, 224714d137SHoratiu Vultur }; 234714d137SHoratiu Vultur 2428017583SHoratiu Vultur enum br_mrp_in_role_type { 2528017583SHoratiu Vultur BR_MRP_IN_ROLE_DISABLED, 2628017583SHoratiu Vultur BR_MRP_IN_ROLE_MIC, 2728017583SHoratiu Vultur BR_MRP_IN_ROLE_MIM, 2828017583SHoratiu Vultur }; 2928017583SHoratiu Vultur 304714d137SHoratiu Vultur enum br_mrp_ring_state_type { 314714d137SHoratiu Vultur BR_MRP_RING_STATE_OPEN, 324714d137SHoratiu Vultur BR_MRP_RING_STATE_CLOSED, 334714d137SHoratiu Vultur }; 344714d137SHoratiu Vultur 3528017583SHoratiu Vultur enum br_mrp_in_state_type { 3628017583SHoratiu Vultur BR_MRP_IN_STATE_OPEN, 3728017583SHoratiu Vultur BR_MRP_IN_STATE_CLOSED, 3828017583SHoratiu Vultur }; 3928017583SHoratiu Vultur 404714d137SHoratiu Vultur enum br_mrp_port_state_type { 414714d137SHoratiu Vultur BR_MRP_PORT_STATE_DISABLED, 424714d137SHoratiu Vultur BR_MRP_PORT_STATE_BLOCKED, 434714d137SHoratiu Vultur BR_MRP_PORT_STATE_FORWARDING, 444714d137SHoratiu Vultur BR_MRP_PORT_STATE_NOT_CONNECTED, 454714d137SHoratiu Vultur }; 464714d137SHoratiu Vultur 474714d137SHoratiu Vultur enum br_mrp_port_role_type { 484714d137SHoratiu Vultur BR_MRP_PORT_ROLE_PRIMARY, 494714d137SHoratiu Vultur BR_MRP_PORT_ROLE_SECONDARY, 5028017583SHoratiu Vultur BR_MRP_PORT_ROLE_INTER, 514714d137SHoratiu Vultur }; 524714d137SHoratiu Vultur 534714d137SHoratiu Vultur enum br_mrp_tlv_header_type { 544714d137SHoratiu Vultur BR_MRP_TLV_HEADER_END = 0x0, 554714d137SHoratiu Vultur BR_MRP_TLV_HEADER_COMMON = 0x1, 564714d137SHoratiu Vultur BR_MRP_TLV_HEADER_RING_TEST = 0x2, 574714d137SHoratiu Vultur BR_MRP_TLV_HEADER_RING_TOPO = 0x3, 584714d137SHoratiu Vultur BR_MRP_TLV_HEADER_RING_LINK_DOWN = 0x4, 594714d137SHoratiu Vultur BR_MRP_TLV_HEADER_RING_LINK_UP = 0x5, 6028017583SHoratiu Vultur BR_MRP_TLV_HEADER_IN_TEST = 0x6, 6128017583SHoratiu Vultur BR_MRP_TLV_HEADER_IN_TOPO = 0x7, 6228017583SHoratiu Vultur BR_MRP_TLV_HEADER_IN_LINK_DOWN = 0x8, 6328017583SHoratiu Vultur BR_MRP_TLV_HEADER_IN_LINK_UP = 0x9, 64*bfd04232SHoratiu Vultur BR_MRP_TLV_HEADER_IN_LINK_STATUS = 0xa, 65c6676e7dSHoratiu Vultur BR_MRP_TLV_HEADER_OPTION = 0x7f, 66c6676e7dSHoratiu Vultur }; 67c6676e7dSHoratiu Vultur 68c6676e7dSHoratiu Vultur enum br_mrp_sub_tlv_header_type { 69c6676e7dSHoratiu Vultur BR_MRP_SUB_TLV_HEADER_TEST_MGR_NACK = 0x1, 70c6676e7dSHoratiu Vultur BR_MRP_SUB_TLV_HEADER_TEST_PROPAGATE = 0x2, 71c6676e7dSHoratiu Vultur BR_MRP_SUB_TLV_HEADER_TEST_AUTO_MGR = 0x3, 724714d137SHoratiu Vultur }; 734714d137SHoratiu Vultur 744714d137SHoratiu Vultur #endif 75