Lines Matching refs:lsa
91 static int interpret_ospf_lsa(int flags, struct lsa *lsa, uchar_t *);
326 interpret_ospf_lsa(int flags, struct lsa *lsa, uchar_t *fragend)
338 interpret_ospf_lsa_hdr(flags, &lsa->ls_hdr);
340 ls_end = (uchar_t *)lsa + ntohs(lsa->ls_hdr.ls_length);
345 switch (lsa->ls_hdr.ls_type) {
348 if (TRUNC(&lsa->lsa_un.un_rla.rla_flags))
353 lsa->lsa_un.un_rla.rla_flags);
356 if (TRUNC(&lsa->lsa_un.un_rla.rla_count))
358 rla_count = ntohs(lsa->lsa_un.un_rla.rla_count);
360 rl = lsa->lsa_un.un_rla.rla_link;
441 if (TRUNC(&lsa->lsa_un.un_nla.nla_mask))
447 inet_ntoa(lsa->lsa_un.un_nla.nla_mask));
451 addr = lsa->lsa_un.un_nla.nla_router;
464 if (TRUNC((uchar_t *)&lsa->lsa_un.un_sla.sla_mask +
470 inet_ntoa(lsa->lsa_un.un_sla.sla_mask));
474 if (TRUNC(&lsa->lsa_un.un_sla.sla_tosmetric))
476 tosmetric = lsa->lsa_un.un_sla.sla_tosmetric;
491 if (TRUNC(&lsa->lsa_un.un_asla.asla_mask))
495 inet_ntoa(lsa->lsa_un.un_asla.asla_mask));
497 am = lsa->lsa_un.un_asla.asla_metric;
530 " Unknown LSA type %d", lsa->ls_hdr.ls_type);
545 struct lsa *lsa;
704 lsa = ospf->ospf_lsu.lsu_lsa;
713 if (((uchar_t *)lsa >= fragend) ||
714 ((uchar_t *)lsa + sizeof (struct lsa_hdr) >
716 ((uchar_t *)lsa + ntohs(lsa->ls_hdr.ls_length) >
722 if (interpret_ospf_lsa(flags, lsa, fragend) < 0) {
726 lsa = (struct lsa *)((uchar_t *)lsa +
727 ntohs(lsa->ls_hdr.ls_length));