Lines Matching defs:isr
1424 struct ip_srcrt *isr;
1429 if (olen > sizeof(isr->isr_hdr) + sizeof(isr->isr_routes))
1432 mtag = m_tag_get(PACKET_TAG_SRCROUTE, sizeof(*isr), M_NOWAIT);
1437 isr = (struct ip_srcrt *)(mtag + 1);
1439 memcpy(isr->isr_hdr, option, olen);
1440 isr->isr_nhops = (olen - IPOPT_OFFSET - 1) / sizeof(struct in_addr);
1441 isr->isr_dst = dst;
1455 struct ip_srcrt *isr;
1464 isr = (struct ip_srcrt *)(mtag + 1);
1466 if (isr->isr_nhops == 0)
1474 #define OPTSIZ (sizeof(isr->isr_nop) + sizeof(isr->isr_hdr))
1477 m->m_len = (isr->isr_nhops + 1) * sizeof(struct in_addr) + OPTSIZ;
1482 p = &(isr->isr_routes[isr->isr_nhops - 1]);
1488 isr->isr_nop = IPOPT_NOP;
1489 isr->isr_hdr[IPOPT_OFFSET] = IPOPT_MINOFF;
1490 memcpy(mtod(m, caddr_t) + sizeof(struct in_addr), &isr->isr_nop,
1499 while (p >= isr->isr_routes) {
1505 *q = isr->isr_dst;
1506 m_tag_delete(m0, (struct m_tag *)isr);