tag | line | file | source code |
sopt | 91 | include/net/ip.h | extern int ip_options_echo(struct options * dopt, struct options * sopt, |
sopt | 219 | net/ipv4/ip.c | int ip_options_echo(struct options * dopt, struct options * sopt, |
sopt | 230 | net/ipv4/ip.c | if (!sopt) |
sopt | 231 | net/ipv4/ip.c | sopt = (struct options*)skb->proto_priv; |
sopt | 233 | net/ipv4/ip.c | if (sopt->optlen == 0) { |
sopt | 238 | net/ipv4/ip.c | sptr = (sopt->is_data ? sopt->__data - sizeof(struct iphdr) : |
sopt | 242 | net/ipv4/ip.c | if (sopt->rr) { |
sopt | 243 | net/ipv4/ip.c | optlen = sptr[sopt->rr+1]; |
sopt | 244 | net/ipv4/ip.c | soffset = sptr[sopt->rr+2]; |
sopt | 246 | net/ipv4/ip.c | memcpy(dptr, sptr+sopt->rr, optlen); |
sopt | 247 | net/ipv4/ip.c | if (sopt->rr_needaddr && soffset <= optlen) { |
sopt | 256 | net/ipv4/ip.c | if (sopt->ts) { |
sopt | 257 | net/ipv4/ip.c | optlen = sptr[sopt->ts+1]; |
sopt | 258 | net/ipv4/ip.c | soffset = sptr[sopt->ts+2]; |
sopt | 260 | net/ipv4/ip.c | memcpy(dptr, sptr+sopt->ts, optlen); |
sopt | 288 | net/ipv4/ip.c | if (sopt->srr) { |
sopt | 289 | net/ipv4/ip.c | unsigned char * start = sptr+sopt->srr; |
sopt | 317 | net/ipv4/ip.c | dopt->is_strictroute = sopt->is_strictroute; |