Lines Matching full:pd
48 static void l2tp_dfs_next_tunnel(struct l2tp_dfs_seq_data *pd) in l2tp_dfs_next_tunnel() argument
51 if (pd->tunnel) in l2tp_dfs_next_tunnel()
52 l2tp_tunnel_dec_refcount(pd->tunnel); in l2tp_dfs_next_tunnel()
54 pd->tunnel = l2tp_tunnel_get_nth(pd->net, pd->tunnel_idx); in l2tp_dfs_next_tunnel()
55 pd->tunnel_idx++; in l2tp_dfs_next_tunnel()
58 static void l2tp_dfs_next_session(struct l2tp_dfs_seq_data *pd) in l2tp_dfs_next_session() argument
61 if (pd->session) in l2tp_dfs_next_session()
62 l2tp_session_dec_refcount(pd->session); in l2tp_dfs_next_session()
64 pd->session = l2tp_session_get_nth(pd->tunnel, pd->session_idx); in l2tp_dfs_next_session()
65 pd->session_idx++; in l2tp_dfs_next_session()
67 if (pd->session == NULL) { in l2tp_dfs_next_session()
68 pd->session_idx = 0; in l2tp_dfs_next_session()
69 l2tp_dfs_next_tunnel(pd); in l2tp_dfs_next_session()
76 struct l2tp_dfs_seq_data *pd = SEQ_START_TOKEN; in l2tp_dfs_seq_start() local
83 pd = m->private; in l2tp_dfs_seq_start()
85 if (pd->tunnel == NULL) in l2tp_dfs_seq_start()
86 l2tp_dfs_next_tunnel(pd); in l2tp_dfs_seq_start()
88 l2tp_dfs_next_session(pd); in l2tp_dfs_seq_start()
91 if ((pd->tunnel == NULL) && (pd->session == NULL)) in l2tp_dfs_seq_start()
92 pd = NULL; in l2tp_dfs_seq_start()
95 return pd; in l2tp_dfs_seq_start()
107 struct l2tp_dfs_seq_data *pd = v; in l2tp_dfs_seq_stop() local
109 if (!pd || pd == SEQ_START_TOKEN) in l2tp_dfs_seq_stop()
115 if (pd->session) { in l2tp_dfs_seq_stop()
116 l2tp_session_dec_refcount(pd->session); in l2tp_dfs_seq_stop()
117 pd->session = NULL; in l2tp_dfs_seq_stop()
119 if (pd->tunnel) { in l2tp_dfs_seq_stop()
120 l2tp_tunnel_dec_refcount(pd->tunnel); in l2tp_dfs_seq_stop()
121 pd->tunnel = NULL; in l2tp_dfs_seq_stop()
238 struct l2tp_dfs_seq_data *pd = v; in l2tp_dfs_seq_show() local
256 if (!pd->session) in l2tp_dfs_seq_show()
257 l2tp_dfs_seq_tunnel_show(m, pd->tunnel); in l2tp_dfs_seq_show()
259 l2tp_dfs_seq_session_show(m, pd->session); in l2tp_dfs_seq_show()
274 struct l2tp_dfs_seq_data *pd; in l2tp_dfs_seq_open() local
278 pd = kzalloc(sizeof(*pd), GFP_KERNEL); in l2tp_dfs_seq_open()
279 if (pd == NULL) in l2tp_dfs_seq_open()
285 pd->net = get_net_ns_by_pid(current->pid); in l2tp_dfs_seq_open()
286 if (IS_ERR(pd->net)) { in l2tp_dfs_seq_open()
287 rc = PTR_ERR(pd->net); in l2tp_dfs_seq_open()
296 seq->private = pd; in l2tp_dfs_seq_open()
302 put_net(pd->net); in l2tp_dfs_seq_open()
304 kfree(pd); in l2tp_dfs_seq_open()
310 struct l2tp_dfs_seq_data *pd; in l2tp_dfs_seq_release() local
314 pd = seq->private; in l2tp_dfs_seq_release()
315 if (pd->net) in l2tp_dfs_seq_release()
316 put_net(pd->net); in l2tp_dfs_seq_release()
317 kfree(pd); in l2tp_dfs_seq_release()