Lines Matching defs:daddr

169 		struct in6_addr daddr;
175 struct in_addr daddr;
184 if (inet_pton(AF_INET6, addr6_dst, &ph6.daddr) != 1)
193 if (inet_pton(AF_INET, addr4_dst, &ph4.daddr) != 1)
235 if (inet_pton(AF_INET6, addr6_dst, &ip6h->daddr) != 1)
249 if (inet_pton(AF_INET, addr4_dst, &iph->daddr) != 1)
274 static void write_packet(int fd, char *buf, int len, struct sockaddr_ll *daddr)
278 ret = sendto(fd, buf, len, 0, (struct sockaddr *)daddr, sizeof(*daddr));
297 static void send_flags(int fd, struct sockaddr_ll *daddr, int psh, int syn,
321 write_packet(fd, flag_buf, pkt_size, daddr);
325 write_packet(fd, buf, total_hdr_len + PAYLOAD_LEN, daddr);
332 static void send_data_pkts(int fd, struct sockaddr_ll *daddr,
338 write_packet(fd, buf, total_hdr_len + payload_len1, daddr);
340 write_packet(fd, buf, total_hdr_len + payload_len2, daddr);
346 static void send_large(int fd, struct sockaddr_ll *daddr, int remainder)
359 write_packet(fd, pkts[i], total_hdr_len + MSS, daddr);
360 write_packet(fd, last, total_hdr_len + remainder, daddr);
361 write_packet(fd, new_seg, total_hdr_len + remainder, daddr);
365 static void send_ack(int fd, struct sockaddr_ll *daddr)
370 write_packet(fd, buf, total_hdr_len, daddr);
371 write_packet(fd, buf, total_hdr_len, daddr);
373 write_packet(fd, buf, total_hdr_len, daddr);
469 static void send_changed_checksum(int fd, struct sockaddr_ll *daddr)
476 write_packet(fd, buf, pkt_size, daddr);
480 write_packet(fd, buf, pkt_size, daddr);
484 static void send_changed_seq(int fd, struct sockaddr_ll *daddr)
491 write_packet(fd, buf, pkt_size, daddr);
497 write_packet(fd, buf, pkt_size, daddr);
503 static void send_changed_ts(int fd, struct sockaddr_ll *daddr)
511 write_packet(fd, extpkt, pkt_size, daddr);
515 write_packet(fd, extpkt, pkt_size, daddr);
519 write_packet(fd, extpkt, pkt_size, daddr);
523 write_packet(fd, extpkt, pkt_size, daddr);
527 write_packet(fd, extpkt, pkt_size, daddr);
531 static void send_diff_opt(int fd, struct sockaddr_ll *daddr)
541 write_packet(fd, extpkt1, extpkt1_size, daddr);
545 write_packet(fd, extpkt1, extpkt1_size, daddr);
551 write_packet(fd, extpkt2, extpkt2_size, daddr);
580 static void send_ip_options(int fd, struct sockaddr_ll *daddr)
588 write_packet(fd, buf, total_hdr_len + PAYLOAD_LEN, daddr);
592 write_packet(fd, optpkt, pkt_size, daddr);
595 write_packet(fd, buf, total_hdr_len + PAYLOAD_LEN, daddr);
599 static void send_fragment4(int fd, struct sockaddr_ll *daddr)
606 write_packet(fd, buf, pkt_size, daddr);
620 write_packet(fd, buf, pkt_size, daddr);
624 static void send_changed_ttl(int fd, struct sockaddr_ll *daddr)
631 write_packet(fd, buf, pkt_size, daddr);
637 write_packet(fd, buf, pkt_size, daddr);
641 static void send_changed_tos(int fd, struct sockaddr_ll *daddr)
649 write_packet(fd, buf, pkt_size, daddr);
659 write_packet(fd, buf, pkt_size, daddr);
663 static void send_changed_ECN(int fd, struct sockaddr_ll *daddr)
670 write_packet(fd, buf, pkt_size, daddr);
680 write_packet(fd, buf, pkt_size, daddr);
684 static void send_fragment6(int fd, struct sockaddr_ll *daddr)
698 write_packet(fd, buf, bufpkt_len, daddr);
711 write_packet(fd, extpkt, extpkt_len, daddr);
714 write_packet(fd, buf, bufpkt_len, daddr);
719 struct sockaddr_ll daddr = {};
721 daddr.sll_family = AF_PACKET;
722 daddr.sll_protocol = ethhdr_proto;
723 daddr.sll_ifindex = if_nametoindex(ifname);
724 if (daddr.sll_ifindex == 0)
727 if (bind(fd, (void *)&daddr, sizeof(daddr)) < 0)
806 struct sockaddr_ll daddr = {};
813 memset(&daddr, 0, sizeof(daddr));
814 daddr.sll_ifindex = if_nametoindex(ifname);
815 if (daddr.sll_ifindex == 0)
817 daddr.sll_family = AF_PACKET;
818 memcpy(daddr.sll_addr, dst_mac, ETH_ALEN);
819 daddr.sll_halen = ETH_ALEN;
823 send_data_pkts(txfd, &daddr, PAYLOAD_LEN, PAYLOAD_LEN);
824 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
826 send_data_pkts(txfd, &daddr, PAYLOAD_LEN, PAYLOAD_LEN / 2);
827 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
829 send_data_pkts(txfd, &daddr, PAYLOAD_LEN / 2, PAYLOAD_LEN);
830 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
832 send_ack(txfd, &daddr);
833 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
835 send_flags(txfd, &daddr, 1, 0, 0, 0);
836 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
838 send_flags(txfd, &daddr, 0, 1, 0, 0);
839 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
841 send_flags(txfd, &daddr, 0, 0, 1, 0);
842 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
844 send_flags(txfd, &daddr, 0, 0, 0, 1);
845 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
847 send_changed_checksum(txfd, &daddr);
848 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
850 send_changed_seq(txfd, &daddr);
851 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
853 send_changed_ts(txfd, &daddr);
854 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
856 send_diff_opt(txfd, &daddr);
857 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
859 send_changed_ECN(txfd, &daddr);
860 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
862 send_changed_tos(txfd, &daddr);
863 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
870 send_changed_ttl(txfd, &daddr);
871 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
874 send_ip_options(txfd, &daddr);
876 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
879 send_fragment4(txfd, &daddr);
881 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
883 send_fragment6(txfd, &daddr);
884 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
894 send_large(txfd, &daddr, remainder);
895 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
897 send_large(txfd, &daddr, remainder + 1);
898 write_packet(txfd, fin_pkt, total_hdr_len, &daddr);
1027 { "daddr", required_argument, NULL, 'd' },