Lines Matching refs:walk
1554 int xfrm_state_walk(struct net *net, struct xfrm_state_walk *walk, in xfrm_state_walk() argument
1562 if (walk->seq != 0 && list_empty(&walk->all)) in xfrm_state_walk()
1566 if (list_empty(&walk->all)) in xfrm_state_walk()
1569 x = list_entry(&walk->all, struct xfrm_state_walk, all); in xfrm_state_walk()
1574 if (!xfrm_id_proto_match(state->id.proto, walk->proto)) in xfrm_state_walk()
1576 err = func(state, walk->seq, data); in xfrm_state_walk()
1578 list_move_tail(&walk->all, &x->all); in xfrm_state_walk()
1581 walk->seq++; in xfrm_state_walk()
1583 if (walk->seq == 0) { in xfrm_state_walk()
1587 list_del_init(&walk->all); in xfrm_state_walk()
1594 void xfrm_state_walk_init(struct xfrm_state_walk *walk, u8 proto) in xfrm_state_walk_init() argument
1596 INIT_LIST_HEAD(&walk->all); in xfrm_state_walk_init()
1597 walk->proto = proto; in xfrm_state_walk_init()
1598 walk->state = XFRM_STATE_DEAD; in xfrm_state_walk_init()
1599 walk->seq = 0; in xfrm_state_walk_init()
1603 void xfrm_state_walk_done(struct xfrm_state_walk *walk) in xfrm_state_walk_done() argument
1605 if (list_empty(&walk->all)) in xfrm_state_walk_done()
1609 list_del(&walk->all); in xfrm_state_walk_done()