blob: b106e6ae2e5b46dc119a322ebf22437e88158962 [file] [log] [blame]
Mario Kicherer8e8cda62017-02-21 12:19:47 +01001/*
2 * can in net namespaces
3 */
4
5#ifndef __NETNS_CAN_H__
6#define __NETNS_CAN_H__
7
8#include <linux/spinlock.h>
9
10struct dev_rcv_lists;
Oliver Hartkoppcb5635a2017-04-25 08:19:41 +020011struct s_stats;
12struct s_pstats;
Mario Kicherer8e8cda62017-02-21 12:19:47 +010013
14struct netns_can {
15#if IS_ENABLED(CONFIG_PROC_FS)
16 struct proc_dir_entry *proc_dir;
17 struct proc_dir_entry *pde_version;
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;
Oliver Hartkopp384317e2017-04-25 08:19:42 +020026 struct proc_dir_entry *bcmproc_dir;
Mario Kicherer8e8cda62017-02-21 12:19:47 +010027#endif
28
29 /* receive filters subscribed for 'all' CAN devices */
30 struct dev_rcv_lists *can_rx_alldev_list;
31 spinlock_t can_rcvlists_lock;
Oliver Hartkoppcb5635a2017-04-25 08:19:41 +020032 struct timer_list can_stattimer;/* timer for statistics update */
33 struct s_stats *can_stats; /* packet statistics */
34 struct s_pstats *can_pstats; /* receive list statistics */
Oliver Hartkopp1ef83312017-04-25 08:19:43 +020035
36 /* CAN GW per-net gateway jobs */
37 struct hlist_head cgw_list;
Mario Kicherer8e8cda62017-02-21 12:19:47 +010038};
39
40#endif /* __NETNS_CAN_H__ */