Lines Matching refs:optlen
50 memcpy(iph + sizeof(struct iphdr), opt->__data, opt->optlen);
95 int optlen;
99 if (sopt->optlen == 0)
106 optlen = sptr[sopt->rr+1];
108 dopt->rr = dopt->optlen + sizeof(struct iphdr);
109 memcpy(dptr, sptr+sopt->rr, optlen);
110 if (sopt->rr_needaddr && soffset <= optlen) {
111 if (soffset + 3 > optlen)
116 dptr += optlen;
117 dopt->optlen += optlen;
120 optlen = sptr[sopt->ts+1];
122 dopt->ts = dopt->optlen + sizeof(struct iphdr);
123 memcpy(dptr, sptr+sopt->ts, optlen);
124 if (soffset <= optlen) {
126 if (soffset + 3 > optlen)
132 if (soffset + 3 > optlen)
140 if (soffset + 7 <= optlen) {
153 dptr += optlen;
154 dopt->optlen += optlen;
160 optlen = start[1];
163 if (soffset > optlen)
164 soffset = optlen + 1;
183 dopt->srr = dopt->optlen + sizeof(struct iphdr);
184 dopt->optlen += doffset+3;
189 optlen = sptr[sopt->cipso+1];
190 dopt->cipso = dopt->optlen+sizeof(struct iphdr);
191 memcpy(dptr, sptr+sopt->cipso, optlen);
192 dptr += optlen;
193 dopt->optlen += optlen;
195 while (dopt->optlen & 3) {
197 dopt->optlen++;
212 int l = opt->optlen;
213 int optlen;
224 optlen = optptr[1];
225 if (optlen < 2 || optlen > l)
228 memset(optptr, IPOPT_NOOP, optlen);
229 l -= optlen;
230 optptr += optlen;
263 int optlen, l;
272 for (l = opt->optlen; l > 0; ) {
291 optlen = optptr[1];
292 if (optlen < 2 || optlen > l) {
299 if (optlen < 3) {
313 if (optptr[2] != 4 || optlen < 7 || ((optlen-3) & 3)) {
318 if (optlen > 7)
319 memmove(&optptr[3], &optptr[7], optlen-7);
329 if (optlen < 3) {
337 if (optptr[2] <= optlen) {
338 if (optptr[2]+3 > optlen) {
357 if (optlen < 4) {
365 if (optptr[2] <= optlen) {
367 if (optptr[2]+3 > optlen) {
379 if (optptr[2]+7 > optlen) {
393 if (optptr[2]+7 > optlen) {
436 if (optlen < 4) {
463 l -= optlen;
464 optptr += optlen;
526 sockptr_t data, int optlen)
530 opt = kzalloc(sizeof(struct ip_options_rcu) + ((optlen + 3) & ~3),
534 if (optlen && copy_from_sockptr(opt->opt.__data, data, optlen)) {
539 while (optlen & 3)
540 opt->opt.__data[optlen++] = IPOPT_END;
541 opt->opt.optlen = optlen;
542 if (optlen && ip_options_compile(net, &opt->opt, NULL)) {