xref: /openbmc/linux/include/net/netns/can.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
28e8cda6dSMario Kicherer /*
38e8cda6dSMario Kicherer  * can in net namespaces
48e8cda6dSMario Kicherer  */
58e8cda6dSMario Kicherer 
68e8cda6dSMario Kicherer #ifndef __NETNS_CAN_H__
78e8cda6dSMario Kicherer #define __NETNS_CAN_H__
88e8cda6dSMario Kicherer 
98e8cda6dSMario Kicherer #include <linux/spinlock.h>
10*949d6b40SJakub Kicinski #include <linux/timer.h>
118e8cda6dSMario Kicherer 
12ff847ee4SMarc Kleine-Budde struct can_dev_rcv_lists;
136c43bb3aSMarc Kleine-Budde struct can_pkg_stats;
146c43bb3aSMarc Kleine-Budde struct can_rcv_lists_stats;
158e8cda6dSMario Kicherer 
168e8cda6dSMario Kicherer struct netns_can {
178e8cda6dSMario Kicherer #if IS_ENABLED(CONFIG_PROC_FS)
188e8cda6dSMario Kicherer 	struct proc_dir_entry *proc_dir;
198e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_stats;
208e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_reset_stats;
218e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_rcvlist_all;
228e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_rcvlist_fil;
238e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_rcvlist_inv;
248e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_rcvlist_sff;
258e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_rcvlist_eff;
268e8cda6dSMario Kicherer 	struct proc_dir_entry *pde_rcvlist_err;
27384317efSOliver Hartkopp 	struct proc_dir_entry *bcmproc_dir;
288e8cda6dSMario Kicherer #endif
298e8cda6dSMario Kicherer 
308e8cda6dSMario Kicherer 	/* receive filters subscribed for 'all' CAN devices */
31564577dfSMarc Kleine-Budde 	struct can_dev_rcv_lists *rx_alldev_list;
32564577dfSMarc Kleine-Budde 	spinlock_t rcvlists_lock;
33564577dfSMarc Kleine-Budde 	struct timer_list stattimer; /* timer for statistics update */
342341086dSMarc Kleine-Budde 	struct can_pkg_stats *pkg_stats;
352341086dSMarc Kleine-Budde 	struct can_rcv_lists_stats *rcv_lists_stats;
361ef83310SOliver Hartkopp 
371ef83310SOliver Hartkopp 	/* CAN GW per-net gateway jobs */
381ef83310SOliver Hartkopp 	struct hlist_head cgw_list;
398e8cda6dSMario Kicherer };
408e8cda6dSMario Kicherer 
418e8cda6dSMario Kicherer #endif /* __NETNS_CAN_H__ */
42