Lines Matching refs:optlen
782 unsigned int optlen;
784 optlen = opt->m_len - sizeof(p->ipopt_dst);
785 if (optlen + ntohs(ip->ip_len) > IP_MAXPACKET)
789 if ((optlen + sizeof(struct ip)) > (0x0f << 2)) {
796 if (m->m_flags & M_EXT || m->m_data - optlen < m->m_pktdat) {
801 n->m_pkthdr.len += optlen;
806 m->m_len = optlen + sizeof(struct ip);
810 m->m_data -= optlen;
811 m->m_len += optlen;
812 m->m_pkthdr.len += optlen;
816 memcpy(ip + 1, p->ipopt_list, optlen);
817 *phlen = sizeof(struct ip) + optlen;
818 ip->ip_len = htons(ntohs(ip->ip_len) + optlen);
830 int opt, optlen, cnt;
835 for (; cnt > 0; cnt -= optlen, cp += optlen) {
842 optlen = 1;
849 optlen = cp[IPOPT_OLEN];
851 if (optlen < IPOPT_OLEN + sizeof(*cp) || optlen > cnt)
855 if (optlen > cnt)
856 optlen = cnt;
858 memcpy(dp, cp, optlen);
859 dp += optlen;
862 for (optlen = dp - (u_char *)(jp+1); optlen & 0x3; optlen++)
864 return (optlen);
1247 int cnt, off, optlen;
1280 optlen = 1;
1284 optlen = cp[IPOPT_OLEN];
1285 if (optlen < IPOPT_OLEN + sizeof(*cp) || optlen > cnt)
1290 memcpy(p->ipopt_list + off, cp, optlen);
1303 if (optlen < IPOPT_MINOFF - 1 + sizeof(struct in_addr))
1311 optlen -= sizeof(struct in_addr);
1313 p->ipopt_list[off + IPOPT_OLEN] = optlen;
1326 cp + IPOPT_OFFSET, optlen - IPOPT_OFFSET);
1329 off += optlen;
1330 cp += optlen;
1331 cnt -= optlen;