Lines Matching refs:pd
1420 static void pppol2tp_next_tunnel(struct net *net, struct pppol2tp_seq_data *pd) in pppol2tp_next_tunnel() argument
1423 if (pd->tunnel) in pppol2tp_next_tunnel()
1424 l2tp_tunnel_dec_refcount(pd->tunnel); in pppol2tp_next_tunnel()
1427 pd->tunnel = l2tp_tunnel_get_nth(net, pd->tunnel_idx); in pppol2tp_next_tunnel()
1428 pd->tunnel_idx++; in pppol2tp_next_tunnel()
1431 if (!pd->tunnel || pd->tunnel->version == 2) in pppol2tp_next_tunnel()
1434 l2tp_tunnel_dec_refcount(pd->tunnel); in pppol2tp_next_tunnel()
1438 static void pppol2tp_next_session(struct net *net, struct pppol2tp_seq_data *pd) in pppol2tp_next_session() argument
1441 if (pd->session) in pppol2tp_next_session()
1442 l2tp_session_dec_refcount(pd->session); in pppol2tp_next_session()
1444 pd->session = l2tp_session_get_nth(pd->tunnel, pd->session_idx); in pppol2tp_next_session()
1445 pd->session_idx++; in pppol2tp_next_session()
1447 if (!pd->session) { in pppol2tp_next_session()
1448 pd->session_idx = 0; in pppol2tp_next_session()
1449 pppol2tp_next_tunnel(net, pd); in pppol2tp_next_session()
1455 struct pppol2tp_seq_data *pd = SEQ_START_TOKEN; in pppol2tp_seq_start() local
1463 pd = NULL; in pppol2tp_seq_start()
1467 pd = m->private; in pppol2tp_seq_start()
1470 if (!pd->tunnel) in pppol2tp_seq_start()
1471 pppol2tp_next_tunnel(net, pd); in pppol2tp_seq_start()
1473 pppol2tp_next_session(net, pd); in pppol2tp_seq_start()
1476 if (!pd->tunnel && !pd->session) in pppol2tp_seq_start()
1477 pd = NULL; in pppol2tp_seq_start()
1480 return pd; in pppol2tp_seq_start()
1491 struct pppol2tp_seq_data *pd = v; in pppol2tp_seq_stop() local
1493 if (!pd || pd == SEQ_START_TOKEN) in pppol2tp_seq_stop()
1499 if (pd->session) { in pppol2tp_seq_stop()
1500 l2tp_session_dec_refcount(pd->session); in pppol2tp_seq_stop()
1501 pd->session = NULL; in pppol2tp_seq_stop()
1503 if (pd->tunnel) { in pppol2tp_seq_stop()
1504 l2tp_tunnel_dec_refcount(pd->tunnel); in pppol2tp_seq_stop()
1505 pd->tunnel = NULL; in pppol2tp_seq_stop()
1585 struct pppol2tp_seq_data *pd = v; in pppol2tp_seq_show() local
1598 if (!pd->session) in pppol2tp_seq_show()
1599 pppol2tp_seq_tunnel_show(m, pd->tunnel); in pppol2tp_seq_show()
1601 pppol2tp_seq_session_show(m, pd->session); in pppol2tp_seq_show()