Lines Matching refs:daddr
195 struct in6_addr daddr; in tcp_checksum() member
201 struct in_addr daddr; in tcp_checksum() member
210 if (inet_pton(AF_INET6, addr6_dst, &ph6.daddr) != 1) in tcp_checksum()
219 if (inet_pton(AF_INET, addr4_dst, &ph4.daddr) != 1) in tcp_checksum()
261 if (inet_pton(AF_INET6, addr6_dst, &ip6h->daddr) != 1) in fill_networklayer()
275 if (inet_pton(AF_INET, addr4_dst, &iph->daddr) != 1) in fill_networklayer()
300 static void write_packet(int fd, char *buf, int len, struct sockaddr_ll *daddr) in write_packet() argument
304 ret = sendto(fd, buf, len, 0, (struct sockaddr *)daddr, sizeof(*daddr)); in write_packet()
323 static void send_flags(int fd, struct sockaddr_ll *daddr, int psh, int syn, in send_flags() argument
347 write_packet(fd, flag_buf, pkt_size, daddr); in send_flags()
351 write_packet(fd, buf, total_hdr_len + PAYLOAD_LEN, daddr); in send_flags()
358 static void send_data_pkts(int fd, struct sockaddr_ll *daddr, in send_data_pkts() argument
364 write_packet(fd, buf, total_hdr_len + payload_len1, daddr); in send_data_pkts()
366 write_packet(fd, buf, total_hdr_len + payload_len2, daddr); in send_data_pkts()
372 static void send_large(int fd, struct sockaddr_ll *daddr, int remainder) in send_large() argument
385 write_packet(fd, pkts[i], total_hdr_len + MSS, daddr); in send_large()
386 write_packet(fd, last, total_hdr_len + remainder, daddr); in send_large()
387 write_packet(fd, new_seg, total_hdr_len + remainder, daddr); in send_large()
391 static void send_ack(int fd, struct sockaddr_ll *daddr) in send_ack() argument
396 write_packet(fd, buf, total_hdr_len, daddr); in send_ack()
397 write_packet(fd, buf, total_hdr_len, daddr); in send_ack()
399 write_packet(fd, buf, total_hdr_len, daddr); in send_ack()
495 static void send_changed_checksum(int fd, struct sockaddr_ll *daddr) in send_changed_checksum() argument
502 write_packet(fd, buf, pkt_size, daddr); in send_changed_checksum()
506 write_packet(fd, buf, pkt_size, daddr); in send_changed_checksum()
510 static void send_changed_seq(int fd, struct sockaddr_ll *daddr) in send_changed_seq() argument
517 write_packet(fd, buf, pkt_size, daddr); in send_changed_seq()
523 write_packet(fd, buf, pkt_size, daddr); in send_changed_seq()
529 static void send_changed_ts(int fd, struct sockaddr_ll *daddr) in send_changed_ts() argument
537 write_packet(fd, extpkt, pkt_size, daddr); in send_changed_ts()
541 write_packet(fd, extpkt, pkt_size, daddr); in send_changed_ts()
545 write_packet(fd, extpkt, pkt_size, daddr); in send_changed_ts()
549 write_packet(fd, extpkt, pkt_size, daddr); in send_changed_ts()
553 write_packet(fd, extpkt, pkt_size, daddr); in send_changed_ts()
557 static void send_diff_opt(int fd, struct sockaddr_ll *daddr) in send_diff_opt() argument
567 write_packet(fd, extpkt1, extpkt1_size, daddr); in send_diff_opt()
571 write_packet(fd, extpkt1, extpkt1_size, daddr); in send_diff_opt()
577 write_packet(fd, extpkt2, extpkt2_size, daddr); in send_diff_opt()
630 static void send_flush_id_case(int fd, struct sockaddr_ll *daddr, int tcase) in send_flush_id_case() argument
712 write_packet(fd, buf1, total_hdr_len + PAYLOAD_LEN, daddr); in send_flush_id_case()
713 write_packet(fd, buf2, total_hdr_len + PAYLOAD_LEN, daddr); in send_flush_id_case()
717 write_packet(fd, buf3, total_hdr_len + PAYLOAD_LEN, daddr); in send_flush_id_case()
721 static void test_flush_id(int fd, struct sockaddr_ll *daddr, char *fin_pkt) in test_flush_id() argument
725 send_flush_id_case(fd, daddr, i); in test_flush_id()
727 write_packet(fd, fin_pkt, total_hdr_len, daddr); in test_flush_id()
731 static void send_ipv6_exthdr(int fd, struct sockaddr_ll *daddr, char *ext_data1, char *ext_data2) in send_ipv6_exthdr() argument
738 write_packet(fd, exthdr_pck, total_hdr_len + PAYLOAD_LEN + MIN_EXTHDR_SIZE, daddr); in send_ipv6_exthdr()
742 write_packet(fd, exthdr_pck, total_hdr_len + PAYLOAD_LEN + MIN_EXTHDR_SIZE, daddr); in send_ipv6_exthdr()
746 static void send_ip_options(int fd, struct sockaddr_ll *daddr) in send_ip_options() argument
754 write_packet(fd, buf, total_hdr_len + PAYLOAD_LEN, daddr); in send_ip_options()
758 write_packet(fd, optpkt, pkt_size, daddr); in send_ip_options()
761 write_packet(fd, buf, total_hdr_len + PAYLOAD_LEN, daddr); in send_ip_options()
765 static void send_fragment4(int fd, struct sockaddr_ll *daddr) in send_fragment4() argument
772 write_packet(fd, buf, pkt_size, daddr); in send_fragment4()
786 write_packet(fd, buf, pkt_size, daddr); in send_fragment4()
790 static void send_changed_ttl(int fd, struct sockaddr_ll *daddr) in send_changed_ttl() argument
797 write_packet(fd, buf, pkt_size, daddr); in send_changed_ttl()
803 write_packet(fd, buf, pkt_size, daddr); in send_changed_ttl()
807 static void send_changed_tos(int fd, struct sockaddr_ll *daddr) in send_changed_tos() argument
815 write_packet(fd, buf, pkt_size, daddr); in send_changed_tos()
825 write_packet(fd, buf, pkt_size, daddr); in send_changed_tos()
829 static void send_changed_ECN(int fd, struct sockaddr_ll *daddr) in send_changed_ECN() argument
836 write_packet(fd, buf, pkt_size, daddr); in send_changed_ECN()
846 write_packet(fd, buf, pkt_size, daddr); in send_changed_ECN()
850 static void send_fragment6(int fd, struct sockaddr_ll *daddr) in send_fragment6() argument
864 write_packet(fd, buf, bufpkt_len, daddr); in send_fragment6()
877 write_packet(fd, extpkt, extpkt_len, daddr); in send_fragment6()
880 write_packet(fd, buf, bufpkt_len, daddr); in send_fragment6()
885 struct sockaddr_ll daddr = {}; in bind_packetsocket() local
887 daddr.sll_family = AF_PACKET; in bind_packetsocket()
888 daddr.sll_protocol = ethhdr_proto; in bind_packetsocket()
889 daddr.sll_ifindex = if_nametoindex(ifname); in bind_packetsocket()
890 if (daddr.sll_ifindex == 0) in bind_packetsocket()
893 if (bind(fd, (void *)&daddr, sizeof(daddr)) < 0) in bind_packetsocket()
973 struct sockaddr_ll daddr = {}; in gro_sender() local
980 memset(&daddr, 0, sizeof(daddr)); in gro_sender()
981 daddr.sll_ifindex = if_nametoindex(ifname); in gro_sender()
982 if (daddr.sll_ifindex == 0) in gro_sender()
984 daddr.sll_family = AF_PACKET; in gro_sender()
985 memcpy(daddr.sll_addr, dst_mac, ETH_ALEN); in gro_sender()
986 daddr.sll_halen = ETH_ALEN; in gro_sender()
990 send_data_pkts(txfd, &daddr, PAYLOAD_LEN, PAYLOAD_LEN); in gro_sender()
991 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
993 send_data_pkts(txfd, &daddr, PAYLOAD_LEN, PAYLOAD_LEN / 2); in gro_sender()
994 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
996 send_data_pkts(txfd, &daddr, PAYLOAD_LEN / 2, PAYLOAD_LEN); in gro_sender()
997 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
999 send_ack(txfd, &daddr); in gro_sender()
1000 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1002 send_flags(txfd, &daddr, 1, 0, 0, 0); in gro_sender()
1003 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1005 send_flags(txfd, &daddr, 0, 1, 0, 0); in gro_sender()
1006 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1008 send_flags(txfd, &daddr, 0, 0, 1, 0); in gro_sender()
1009 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1011 send_flags(txfd, &daddr, 0, 0, 0, 1); in gro_sender()
1012 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1014 send_changed_checksum(txfd, &daddr); in gro_sender()
1015 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1017 send_changed_seq(txfd, &daddr); in gro_sender()
1018 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1020 send_changed_ts(txfd, &daddr); in gro_sender()
1021 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1023 send_diff_opt(txfd, &daddr); in gro_sender()
1024 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1026 send_changed_ECN(txfd, &daddr); in gro_sender()
1027 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1029 send_changed_tos(txfd, &daddr); in gro_sender()
1030 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1037 send_changed_ttl(txfd, &daddr); in gro_sender()
1038 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1041 send_ip_options(txfd, &daddr); in gro_sender()
1043 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1046 send_fragment4(txfd, &daddr); in gro_sender()
1048 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1050 test_flush_id(txfd, &daddr, fin_pkt); in gro_sender()
1053 send_fragment6(txfd, &daddr); in gro_sender()
1055 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1059 send_ipv6_exthdr(txfd, &daddr, EXT_PAYLOAD_1, EXT_PAYLOAD_1); in gro_sender()
1061 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1065 send_ipv6_exthdr(txfd, &daddr, EXT_PAYLOAD_1, EXT_PAYLOAD_2); in gro_sender()
1067 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1077 send_large(txfd, &daddr, remainder); in gro_sender()
1078 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()
1080 send_large(txfd, &daddr, remainder + 1); in gro_sender()
1081 write_packet(txfd, fin_pkt, total_hdr_len, &daddr); in gro_sender()