Lines Matching refs:pd

43 static void l2tp_dfs_next_tunnel(struct l2tp_dfs_seq_data *pd)
46 if (pd->tunnel)
47 l2tp_tunnel_dec_refcount(pd->tunnel);
49 pd->tunnel = l2tp_tunnel_get_nth(pd->net, pd->tunnel_idx);
50 pd->tunnel_idx++;
53 static void l2tp_dfs_next_session(struct l2tp_dfs_seq_data *pd)
56 if (pd->session)
57 l2tp_session_dec_refcount(pd->session);
59 pd->session = l2tp_session_get_nth(pd->tunnel, pd->session_idx);
60 pd->session_idx++;
62 if (!pd->session) {
63 pd->session_idx = 0;
64 l2tp_dfs_next_tunnel(pd);
70 struct l2tp_dfs_seq_data *pd = SEQ_START_TOKEN;
77 pd = NULL;
80 pd = m->private;
82 if (!pd->tunnel)
83 l2tp_dfs_next_tunnel(pd);
85 l2tp_dfs_next_session(pd);
88 if (!pd->tunnel && !pd->session)
89 pd = NULL;
92 return pd;
103 struct l2tp_dfs_seq_data *pd = v;
105 if (!pd || pd == SEQ_START_TOKEN)
111 if (pd->session) {
112 l2tp_session_dec_refcount(pd->session);
113 pd->session = NULL;
115 if (pd->tunnel) {
116 l2tp_tunnel_dec_refcount(pd->tunnel);
117 pd->tunnel = NULL;
233 struct l2tp_dfs_seq_data *pd = v;
251 if (!pd->session)
252 l2tp_dfs_seq_tunnel_show(m, pd->tunnel);
254 l2tp_dfs_seq_session_show(m, pd->session);
269 struct l2tp_dfs_seq_data *pd;
273 pd = kzalloc(sizeof(*pd), GFP_KERNEL);
274 if (!pd)
280 pd->net = get_net_ns_by_pid(current->pid);
281 if (IS_ERR(pd->net)) {
282 rc = PTR_ERR(pd->net);
285 netns_tracker_alloc(pd->net, &pd->ns_tracker, GFP_KERNEL);
291 seq->private = pd;
297 put_net_track(pd->net, &pd->ns_tracker);
299 kfree(pd);
305 struct l2tp_dfs_seq_data *pd;
309 pd = seq->private;
310 if (pd->net)
311 put_net_track(pd->net, &pd->ns_tracker);
312 kfree(pd);