Lines Matching defs:offset
135 int offset, bool ipv6)
139 int payload_offset = offset > 0 ? offset - UDP_HLEN : 0;
143 if (offset == 0) {
159 if (payload_len - payload_offset <= max_frag_len && offset > 0) {
162 fraghdr->ip6f_offlg = htons(offset);
165 fraghdr->ip6f_offlg = htons(offset | IP6_MF);
168 if (offset == 0)
177 if (payload_len - payload_offset <= max_frag_len && offset > 0) {
180 iphdr->ip_off = htons(offset / 8);
183 iphdr->ip_off = htons(offset / 8 | IP4_MF);
186 if (offset == 0)
209 int offset;
246 offset = 0;
247 while (offset < (UDP_HLEN + payload_len)) {
248 send_fragment(fd_raw, addr, alen, offset, ipv6);
249 offset += max_frag_len;
257 offset = 6 * max_frag_len;
258 while (offset < (UDP_HLEN + payload_len)) {
259 send_fragment(fd_raw, addr, alen, offset, ipv6);
260 offset += max_frag_len;
262 offset = 3 * max_frag_len;
263 while (offset < 6 * max_frag_len) {
264 send_fragment(fd_raw, addr, alen, offset, ipv6);
265 offset += max_frag_len;
267 offset = 0;
268 while (offset < 3 * max_frag_len) {
269 send_fragment(fd_raw, addr, alen, offset, ipv6);
270 offset += max_frag_len;
276 offset = max_frag_len;
277 while (offset < (UDP_HLEN + payload_len)) {
278 send_fragment(fd_raw, addr, alen, offset, ipv6);
281 send_fragment(fd_raw, addr, alen, offset, ipv6);
282 offset += 2 * max_frag_len;
290 * random offset and frag_len can result in a dropped
292 * hard-code offset and frag_len.
295 /* not enough payload for random offset and frag_len. */
296 offset = 8;
299 offset = rand() % (payload_len / 2);
304 /* sendto() returns EINVAL if offset + frag_len is too small. */
307 fraghdr->ip6f_offlg = htons(offset / 8 | IP6_MF);
312 iphdr->ip_off = htons(offset / 8 | IP4_MF);
324 offset = 0;
325 while (offset < (UDP_HLEN + payload_len)) {
326 send_fragment(fd_raw, addr, alen, offset, ipv6);
329 send_fragment(fd_raw, addr, alen, offset, ipv6);
330 offset += 2 * max_frag_len;