Lines Matching refs:d

141 static bool tipc_disc_addr_trial_msg(struct tipc_discoverer *d,  in tipc_disc_addr_trial_msg()  argument
149 struct net *net = d->net; in tipc_disc_addr_trial_msg()
164 msg_set_prevnode(buf_msg(d->skb), sugg_addr); in tipc_disc_addr_trial_msg()
172 msg_set_prevnode(buf_msg(d->skb), tn->trial_addr); in tipc_disc_addr_trial_msg()
173 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_addr_trial_msg()
260 void tipc_disc_add_dest(struct tipc_discoverer *d) in tipc_disc_add_dest() argument
262 spin_lock_bh(&d->lock); in tipc_disc_add_dest()
263 d->num_nodes++; in tipc_disc_add_dest()
264 spin_unlock_bh(&d->lock); in tipc_disc_add_dest()
269 void tipc_disc_remove_dest(struct tipc_discoverer *d) in tipc_disc_remove_dest() argument
273 spin_lock_bh(&d->lock); in tipc_disc_remove_dest()
274 d->num_nodes--; in tipc_disc_remove_dest()
275 num = d->num_nodes; in tipc_disc_remove_dest()
276 intv = d->timer_intv; in tipc_disc_remove_dest()
278 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_remove_dest()
279 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_remove_dest()
281 spin_unlock_bh(&d->lock); in tipc_disc_remove_dest()
292 struct tipc_discoverer *d = from_timer(d, t, timer); in tipc_disc_timeout() local
293 struct tipc_net *tn = tipc_net(d->net); in tipc_disc_timeout()
296 struct net *net = d->net; in tipc_disc_timeout()
299 spin_lock_bh(&d->lock); in tipc_disc_timeout()
302 if (tipc_node(d->domain) && d->num_nodes) { in tipc_disc_timeout()
303 d->timer_intv = TIPC_DISC_INACTIVE; in tipc_disc_timeout()
309 mod_timer(&d->timer, jiffies + TIPC_DISC_INIT); in tipc_disc_timeout()
310 spin_unlock_bh(&d->lock); in tipc_disc_timeout()
317 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_timeout()
319 d->timer_intv *= 2; in tipc_disc_timeout()
320 if (d->num_nodes && d->timer_intv > TIPC_DISC_SLOW) in tipc_disc_timeout()
321 d->timer_intv = TIPC_DISC_SLOW; in tipc_disc_timeout()
322 else if (!d->num_nodes && d->timer_intv > TIPC_DISC_FAST) in tipc_disc_timeout()
323 d->timer_intv = TIPC_DISC_FAST; in tipc_disc_timeout()
324 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_timeout()
325 msg_set_prevnode(buf_msg(d->skb), tn->trial_addr); in tipc_disc_timeout()
328 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_timeout()
329 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_timeout()
330 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_timeout()
331 bearer_id = d->bearer_id; in tipc_disc_timeout()
333 spin_unlock_bh(&d->lock); in tipc_disc_timeout()
351 struct tipc_discoverer *d; in tipc_disc_create() local
353 d = kmalloc(sizeof(*d), GFP_ATOMIC); in tipc_disc_create()
354 if (!d) in tipc_disc_create()
356 d->skb = tipc_buf_acquire(MAX_H_SIZE + NODE_ID_LEN, GFP_ATOMIC); in tipc_disc_create()
357 if (!d->skb) { in tipc_disc_create()
358 kfree(d); in tipc_disc_create()
361 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_create()
366 msg_set_type(buf_msg(d->skb), DSC_TRIAL_MSG); in tipc_disc_create()
368 memcpy(&d->dest, dest, sizeof(*dest)); in tipc_disc_create()
369 d->net = net; in tipc_disc_create()
370 d->bearer_id = b->identity; in tipc_disc_create()
371 d->domain = b->domain; in tipc_disc_create()
372 d->num_nodes = 0; in tipc_disc_create()
373 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_create()
374 spin_lock_init(&d->lock); in tipc_disc_create()
375 timer_setup(&d->timer, tipc_disc_timeout, 0); in tipc_disc_create()
376 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_create()
377 b->disc = d; in tipc_disc_create()
378 *skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_create()
386 void tipc_disc_delete(struct tipc_discoverer *d) in tipc_disc_delete() argument
388 del_timer_sync(&d->timer); in tipc_disc_delete()
389 kfree_skb(d->skb); in tipc_disc_delete()
390 kfree(d); in tipc_disc_delete()
400 struct tipc_discoverer *d = b->disc; in tipc_disc_reset() local
404 spin_lock_bh(&d->lock); in tipc_disc_reset()
405 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_reset()
406 d->net = net; in tipc_disc_reset()
407 d->bearer_id = b->identity; in tipc_disc_reset()
408 d->domain = b->domain; in tipc_disc_reset()
409 d->num_nodes = 0; in tipc_disc_reset()
410 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_reset()
411 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_reset()
412 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_reset()
413 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_reset()
414 spin_unlock_bh(&d->lock); in tipc_disc_reset()