Revision a7a7372a proto/ospf/dbdes.c

View differences:

proto/ospf/dbdes.c
200 200
 * of the buffer.
201 201
 */
202 202
void
203
ospf_send_dbdes(struct ospf_neighbor *n, int next)
203
ospf_send_dbdes(struct ospf_proto *p, struct ospf_neighbor *n, int next)
204 204
{
205
  struct ospf_iface *ifa = n->ifa;
206
  struct ospf_area *oa = ifa->oa;
207
  struct ospf_proto *p = oa->po;
208

  
209 205
  /* RFC 2328 10.8 */
210 206

  
211
  if (oa->rt == NULL)
207
  if (n->ifa->oa->rt == NULL)
212 208
    return;
213 209

  
214 210
  switch (n->state)
......
312 308
	s_add_tail(&n->lsrql, SNODE req);
313 309

  
314 310
      req->lsa = lsa;
311
      req->lsa_body = LSA_BODY_DUMMY;
315 312
    }
316 313
  }
317 314

  
......
394 391
      n->imms = rcv_imms;
395 392
      OSPF_TRACE(D_PACKETS, "I'm slave to %I", n->ip);
396 393
      ospf_neigh_sm(n, INM_NEGDONE);
397
      ospf_send_dbdes(n, 1);
394
      ospf_send_dbdes(p, n, 1);
398 395
      break;
399 396
    }
400 397

  
......
426 423
      if (!(n->myimms & DBDES_MS))
427 424
      {
428 425
	/* Slave should retransmit dbdes packet */
429
	ospf_send_dbdes(n, 0);
426
	ospf_send_dbdes(p, n, 0);
430 427
      }
431 428
      return;
432 429
    }
......
472 469
      if (!(n->myimms & DBDES_M) && !(n->imms & DBDES_M))
473 470
	ospf_neigh_sm(n, INM_EXDONE);
474 471
      else
475
	ospf_send_dbdes(n, 1);
472
	ospf_send_dbdes(p, n, 1);
476 473
    }
477 474
    else
478 475
    {
......
489 486
      if (ospf_process_dbdes(p, pkt, n) < 0)
490 487
	return;
491 488

  
492
      ospf_send_dbdes(n, 1);
489
      ospf_send_dbdes(p, n, 1);
493 490
    }
494 491
    break;
495 492

  
......
504 501
      if (!(n->myimms & DBDES_MS))
505 502
      {
506 503
	/* Slave should retransmit dbdes packet */
507
	ospf_send_dbdes(n, 0);
504
	ospf_send_dbdes(p, n, 0);
508 505
      }
509 506
      return;
510 507
    }

Also available in: Unified diff