Branch data Line data Source code
1 : : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : : #pragma once 3 : : 4 : : #include <netinet/in.h> 5 : : #include <linux/if_bridge.h> 6 : : 7 : : #include "conf-parser.h" 8 : : #include "netdev.h" 9 : : 10 : : typedef struct Bridge { 11 : : NetDev meta; 12 : : 13 : : int mcast_querier; 14 : : int mcast_snooping; 15 : : int vlan_filtering; 16 : : int stp; 17 : : uint16_t priority; 18 : : uint16_t group_fwd_mask; 19 : : uint16_t default_pvid; 20 : : uint8_t igmp_version; 21 : : 22 : : usec_t forward_delay; 23 : : usec_t hello_time; 24 : : usec_t max_age; 25 : : usec_t ageing_time; 26 : : } Bridge; 27 : : 28 : : typedef enum MulticastRouter { 29 : : MULTICAST_ROUTER_NONE = MDB_RTR_TYPE_DISABLED, 30 : : MULTICAST_ROUTER_TEMPORARY_QUERY = MDB_RTR_TYPE_TEMP_QUERY, 31 : : MULTICAST_ROUTER_PERMANENT = MDB_RTR_TYPE_PERM, 32 : : MULTICAST_ROUTER_TEMPORARY = MDB_RTR_TYPE_TEMP, 33 : : _MULTICAST_ROUTER_MAX, 34 : : _MULTICAST_ROUTER_INVALID = -1, 35 : : } MulticastRouter; 36 : : 37 [ # # # # : 0 : DEFINE_NETDEV_CAST(BRIDGE, Bridge); # # ] 38 : : extern const NetDevVTable bridge_vtable; 39 : : 40 : : int link_set_bridge(Link *link); 41 : : 42 : : const char* multicast_router_to_string(MulticastRouter i) _const_; 43 : : MulticastRouter multicast_router_from_string(const char *s) _pure_; 44 : : 45 : : CONFIG_PARSER_PROTOTYPE(config_parse_multicast_router); 46 : : CONFIG_PARSER_PROTOTYPE(config_parse_bridge_igmp_version);