1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * can in net namespaces 4 */ 5 6 #ifndef __NETNS_CAN_H__ 7 #define __NETNS_CAN_H__ 8 9 #include <linux/spinlock.h> 10 11 struct can_dev_rcv_lists; 12 struct can_pkg_stats; 13 struct can_rcv_lists_stats; 14 15 struct netns_can { 16 #if IS_ENABLED(CONFIG_PROC_FS) 17 struct proc_dir_entry *proc_dir; 18 struct proc_dir_entry *pde_stats; 19 struct proc_dir_entry *pde_reset_stats; 20 struct proc_dir_entry *pde_rcvlist_all; 21 struct proc_dir_entry *pde_rcvlist_fil; 22 struct proc_dir_entry *pde_rcvlist_inv; 23 struct proc_dir_entry *pde_rcvlist_sff; 24 struct proc_dir_entry *pde_rcvlist_eff; 25 struct proc_dir_entry *pde_rcvlist_err; 26 struct proc_dir_entry *bcmproc_dir; 27 #endif 28 29 /* receive filters subscribed for 'all' CAN devices */ 30 struct can_dev_rcv_lists *rx_alldev_list; 31 spinlock_t rcvlists_lock; 32 struct timer_list stattimer; /* timer for statistics update */ 33 struct can_pkg_stats *pkg_stats; 34 struct can_rcv_lists_stats *rcv_lists_stats; 35 36 /* CAN GW per-net gateway jobs */ 37 struct hlist_head cgw_list; 38 }; 39 40 #endif /* __NETNS_CAN_H__ */ 41