162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * can in net namespaces
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#ifndef __NETNS_CAN_H__
762306a36Sopenharmony_ci#define __NETNS_CAN_H__
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <linux/spinlock.h>
1062306a36Sopenharmony_ci#include <linux/timer.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cistruct can_dev_rcv_lists;
1362306a36Sopenharmony_cistruct can_pkg_stats;
1462306a36Sopenharmony_cistruct can_rcv_lists_stats;
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cistruct netns_can {
1762306a36Sopenharmony_ci#if IS_ENABLED(CONFIG_PROC_FS)
1862306a36Sopenharmony_ci	struct proc_dir_entry *proc_dir;
1962306a36Sopenharmony_ci	struct proc_dir_entry *pde_stats;
2062306a36Sopenharmony_ci	struct proc_dir_entry *pde_reset_stats;
2162306a36Sopenharmony_ci	struct proc_dir_entry *pde_rcvlist_all;
2262306a36Sopenharmony_ci	struct proc_dir_entry *pde_rcvlist_fil;
2362306a36Sopenharmony_ci	struct proc_dir_entry *pde_rcvlist_inv;
2462306a36Sopenharmony_ci	struct proc_dir_entry *pde_rcvlist_sff;
2562306a36Sopenharmony_ci	struct proc_dir_entry *pde_rcvlist_eff;
2662306a36Sopenharmony_ci	struct proc_dir_entry *pde_rcvlist_err;
2762306a36Sopenharmony_ci	struct proc_dir_entry *bcmproc_dir;
2862306a36Sopenharmony_ci#endif
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	/* receive filters subscribed for 'all' CAN devices */
3162306a36Sopenharmony_ci	struct can_dev_rcv_lists *rx_alldev_list;
3262306a36Sopenharmony_ci	spinlock_t rcvlists_lock;
3362306a36Sopenharmony_ci	struct timer_list stattimer; /* timer for statistics update */
3462306a36Sopenharmony_ci	struct can_pkg_stats *pkg_stats;
3562306a36Sopenharmony_ci	struct can_rcv_lists_stats *rcv_lists_stats;
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	/* CAN GW per-net gateway jobs */
3862306a36Sopenharmony_ci	struct hlist_head cgw_list;
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci#endif /* __NETNS_CAN_H__ */
42