Lines Matching refs:ip
70 void do_icmp(ip_t *ip, char *args) in do_icmp() argument
75 ip->ip_p = IPPROTO_ICMP; in do_icmp()
76 ip->ip_len += sizeof(*ic); in do_icmp()
77 ic = (struct icmp *)(ip + 1); in do_icmp()
120 send_packets(char *dev, int mtu, ip_t *ip, struct in_addr gwip) in send_packets() argument
127 return (send_packet(wfd, mtu, ip, gwip)); in send_packets()
131 udpcksum(ip_t *ip, struct udphdr *udp, int len) in udpcksum() argument
149 ph.h.src = ip->ip_src.s_addr; in udpcksum()
150 ph.h.dst = ip->ip_dst.s_addr; in udpcksum()
169 ip_t *ip; in main() local
178 ip = (ip_t *)calloc(1, 65536); in main()
179 tcp = (tcphdr_t *)(ip + 1); in main()
181 ip->ip_len = sizeof(*ip); in main()
182 IP_HL_A(ip, sizeof(*ip) >> 2); in main()
189 if (ip->ip_p) in main()
192 ip->ip_p); in main()
195 do_icmp(ip, optarg); in main()
217 if (ip->ip_p) in main()
220 ip->ip_p); in main()
224 ip->ip_p = p->p_proto; in main()
232 if (ip->ip_p) in main()
235 ip->ip_p); in main()
238 ip->ip_p = IPPROTO_TCP; in main()
239 ip->ip_len += sizeof(tcphdr_t); in main()
243 if (ip->ip_p) in main()
246 ip->ip_p); in main()
249 ip->ip_p = IPPROTO_UDP; in main()
250 ip->ip_len += sizeof(udphdr_t); in main()
257 ip->ip_off = strtol(optarg, NULL, 0); in main()
278 olen = buildopts(optarg, options, (IP_HL(ip) - 5) << 2); in main()
286 if (ip->ip_p == IPPROTO_TCP || ip->ip_p == IPPROTO_UDP) in main()
294 if (ip->ip_p == IPPROTO_TCP) in main()
315 if (resolve(src, (char *)&ip->ip_src) == -1) in main()
321 if (resolve(dst, (char *)&ip->ip_dst) == -1) in main()
328 gwip = ip->ip_dst; in main()
341 hlen = sizeof(*ip) + olen; in main()
342 IP_HL_A(ip, hlen >> 2); in main()
343 ip->ip_len += olen; in main()
351 bcopy(ip, p, sizeof(*ip)); in main()
352 bcopy(options, p + sizeof(*ip), olen); in main()
353 bcopy(ip + 1, p + hlen, ip->ip_len - hlen); in main()
354 ip = (ip_t *)p; in main()
356 if (ip->ip_p == IPPROTO_TCP) { in main()
358 } else if (ip->ip_p == IPPROTO_UDP) { in main()
363 if (ip->ip_p == IPPROTO_TCP) in main()
399 printf("Source: %s\n", inet_ntoa(ip->ip_src)); in main()
400 printf("Dest: %s\n", inet_ntoa(ip->ip_dst)); in main()
402 if (ip->ip_p == IPPROTO_TCP && __tcp_get_flags(tcp) != 0) in main()
406 if (ip->ip_p == IPPROTO_UDP) { in main()
408 udpcksum(ip, udp, ip->ip_len - (IP_HL(ip) << 2)); in main()
411 if (ip->ip_p == IPPROTO_TCP && tcp->th_dport) in main()
412 return (do_socket(dev, mtu, ip, gwip)); in main()
414 return (send_packets(dev, mtu, ip, gwip)); in main()