xref: /aosp_15_r20/external/libnl/include/netlink/route/link/bridge_info.h (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1 /* SPDX-License-Identifier: LGPL-2.1-only */
2 /*
3  * Copyright (c) 2022 MaxLinear, Inc.
4  */
5 
6 #ifndef NETLINK_LINK_BRIDGE_INFO_H_
7 #define NETLINK_LINK_BRIDGE_INFO_H_
8 
9 #include <netlink/netlink.h>
10 #include <netlink/route/link.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 extern void rtnl_link_bridge_set_ageing_time(struct rtnl_link *link,
17 					     uint32_t ageing_time);
18 extern int rtnl_link_bridge_get_ageing_time(struct rtnl_link *link,
19 					    uint32_t *ageing_time);
20 
21 extern void rtnl_link_bridge_set_vlan_filtering(struct rtnl_link *link,
22 						uint8_t vlan_filtering);
23 extern int rtnl_link_bridge_get_vlan_filtering(struct rtnl_link *link,
24 					       uint8_t *vlan_filtering);
25 
26 extern void rtnl_link_bridge_set_vlan_protocol(struct rtnl_link *link,
27 					       uint16_t vlan_protocol);
28 extern int rtnl_link_bridge_get_vlan_protocol(struct rtnl_link *link,
29 					      uint16_t *vlan_protocol);
30 
31 extern void rtnl_link_bridge_set_vlan_default_pvid(struct rtnl_link *link,
32 						   uint16_t default_pvid);
33 extern int rtnl_link_bridge_get_vlan_default_pvid(struct rtnl_link *link,
34 						  uint16_t *default_pvid);
35 
36 extern void rtnl_link_bridge_set_vlan_stats_enabled(struct rtnl_link *link,
37 						    uint8_t vlan_stats_enabled);
38 extern int rtnl_link_bridge_get_vlan_stats_enabled(struct rtnl_link *link,
39 						   uint8_t *vlan_stats_enabled);
40 extern void rtnl_link_bridge_set_nf_call_iptables(struct rtnl_link *link,
41 						  uint8_t call_enabled);
42 extern void rtnl_link_bridge_set_nf_call_ip6tables(struct rtnl_link *link,
43 						   uint8_t call_enabled);
44 extern void rtnl_link_bridge_set_nf_call_arptables(struct rtnl_link *link,
45 						   uint8_t call_enabled);
46 
47 #ifdef __cplusplus
48 }
49 #endif
50 
51 #endif
52