/third_party/lwip/src/core/ipv4/ |
H A D | ip4.c | 310 * @param iphdr the IP header of the input packet 314 ip4_forward(struct pbuf *p, struct ip_hdr *iphdr, struct netif *inp) argument 352 IPH_TTL_SET(iphdr, IPH_TTL(iphdr) - 1); 354 if (IPH_TTL(iphdr) == 0) { 358 if (IPH_PROTO(iphdr) != IP_PROTO_ICMP) { 366 if (IPH_CHKSUM(iphdr) >= PP_HTONS(0xffffU - 0x100)) { 367 IPH_CHKSUM_SET(iphdr, (u16_t)(IPH_CHKSUM(iphdr) + PP_HTONS(0x100) + 1)); 369 IPH_CHKSUM_SET(iphdr, (u16_ 461 const struct ip_hdr *iphdr; global() local 886 struct ip_hdr *iphdr; global() local 1141 struct ip_hdr *iphdr = (struct ip_hdr *)p->payload; global() local [all...] |
H A D | icmp.c | 212 struct ip_hdr *iphdr = (struct ip_hdr *)p->payload; in icmp_input() local 213 ip4_addr_copy(iphdr->src, *src); in icmp_input() 214 ip4_addr_copy(iphdr->dest, *ip4_current_src_addr()); in icmp_input() 235 IPH_TTL_SET(iphdr, ICMP_TTL); in icmp_input() 236 IPH_CHKSUM_SET(iphdr, 0); in icmp_input() 239 IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, hlen)); in icmp_input() 343 struct ip_hdr *iphdr; in icmp_send_response() local 369 iphdr = (struct ip_hdr *)p->payload; in icmp_send_response() 371 ip4_addr_debug_print_val(ICMP_DEBUG, iphdr in icmp_send_response() [all...] |
H A D | ip4_frag.c | 185 SMEMCPY(p->payload, &ipr->iphdr, IP_HLEN); in ip_reass_free_complete_datagram() 265 if (!IP_ADDRESSES_AND_ID_MATCH(&r->iphdr, fraghdr)) { in ip_reass_remove_oldest_datagram() 328 SMEMCPY(&(ipr->iphdr), fraghdr, IP_HLEN); in ip_reass_enqueue_new_datagram() 578 if (IP_ADDRESSES_AND_ID_MATCH(&ipr->iphdr, fraghdr)) { in ip4_reass() 595 ((lwip_ntohs(IPH_OFFSET(&ipr->iphdr)) & IP_OFFMASK) != 0)) { in ip4_reass() 596 /* ipr->iphdr is not the header from the first fragment, but fraghdr is in ip4_reass() 597 * -> copy fraghdr into ipr->iphdr since we want to have the header in ip4_reass() 600 SMEMCPY(&ipr->iphdr, fraghdr, IP_HLEN); in ip4_reass() 648 SMEMCPY(fraghdr, &ipr->iphdr, IP_HLEN); in ip4_reass() 769 struct ip_hdr *iphdr; in ip4_frag() local [all...] |
/kernel/liteos_m/components/net/test/ |
H A D | net_socket_test_011.c | 77 struct ip_hdr *iphdr;
in ReplayUdpEncodeIp() local 86 iphdr = (struct ip_hdr *)p->payload;
in ReplayUdpEncodeIp() 87 IPH_TTL_SET(iphdr, UDP_TTL);
in ReplayUdpEncodeIp() 88 IPH_PROTO_SET(iphdr, IP_PROTO_UDP);
in ReplayUdpEncodeIp() 95 ip4_addr_copy(iphdr->dest, *dest);
in ReplayUdpEncodeIp() 97 chk_sum += ip4_addr_get_u32(&iphdr->dest) & 0xFFFF;
in ReplayUdpEncodeIp() 98 chk_sum += ip4_addr_get_u32(&iphdr->dest) >> 16;
in ReplayUdpEncodeIp() 102 IPH_VHL_SET(iphdr, 4, ip_hlen / 4);
in ReplayUdpEncodeIp() 103 IPH_TOS_SET(iphdr, 0);
in ReplayUdpEncodeIp() 105 chk_sum += PP_NTOHS(tos | (iphdr in ReplayUdpEncodeIp() 190 const struct ip_hdr *iphdr; ParsePackageIpUdp() local [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | ip.h | 19 static inline struct iphdr *ip_hdr(const struct sk_buff *skb) in ip_hdr() 21 return (struct iphdr *)skb_network_header(skb); in ip_hdr() 24 static inline struct iphdr *inner_ip_hdr(const struct sk_buff *skb) in inner_ip_hdr() 26 return (struct iphdr *)skb_inner_network_header(skb); in inner_ip_hdr() 29 static inline struct iphdr *ipip_hdr(const struct sk_buff *skb) in ipip_hdr() 31 return (struct iphdr *)skb_transport_header(skb); in ipip_hdr() 39 static inline unsigned int iph_totlen(const struct sk_buff *skb, const struct iphdr *iph) in iph_totlen() 55 static inline void iph_set_totlen(struct iphdr *iph, unsigned int len) in iph_set_totlen()
|
/third_party/lwip/test/unit/ip4/ |
H A D | test_ip4.c | 29 struct ip_hdr *iphdr = (struct ip_hdr *)p->payload; in create_ip4_input_fragment() local 30 IPH_VHL_SET(iphdr, 4, sizeof(struct ip_hdr) / 4); in create_ip4_input_fragment() 31 IPH_TOS_SET(iphdr, 0); in create_ip4_input_fragment() 32 IPH_LEN_SET(iphdr, lwip_htons(p->tot_len)); in create_ip4_input_fragment() 33 IPH_ID_SET(iphdr, lwip_htons(ip_id)); in create_ip4_input_fragment() 35 IPH_OFFSET_SET(iphdr, lwip_htons(start / 8)); in create_ip4_input_fragment() 37 IPH_OFFSET_SET(iphdr, lwip_htons((start / 8) | IP_MF)); in create_ip4_input_fragment() 39 IPH_TTL_SET(iphdr, 5); in create_ip4_input_fragment() 40 IPH_PROTO_SET(iphdr, IP_PROTO_UDP); in create_ip4_input_fragment() 41 IPH_CHKSUM_SET(iphdr, in create_ip4_input_fragment() [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/net/ |
H A D | ip_defrag.c | 29 #define IP4_HLEN (sizeof(struct iphdr)) 101 static uint16_t udp_checksum(struct ip *iphdr, struct udphdr *udphdr) in udp_checksum() argument 106 sum = raw_checksum((uint8_t *)&iphdr->ip_src, 2 * sizeof(iphdr->ip_src), in udp_checksum() 117 static uint16_t udp6_checksum(struct ip6_hdr *iphdr, struct udphdr *udphdr) in udp6_checksum() argument 122 sum = raw_checksum((uint8_t *)&iphdr->ip6_src, 2 * sizeof(iphdr->ip6_src), in udp6_checksum() 176 struct ip *iphdr = (struct ip *)ip_frame; in send_fragment() local 180 iphdr->ip_off = htons(offset / 8); in send_fragment() 183 iphdr in send_fragment() 206 struct ip *iphdr = (struct ip *)ip_frame; send_udp_frags() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/net/ |
H A D | ip_defrag.c | 29 #define IP4_HLEN (sizeof(struct iphdr)) 101 static uint16_t udp_checksum(struct ip *iphdr, struct udphdr *udphdr) in udp_checksum() argument 106 sum = raw_checksum((uint8_t *)&iphdr->ip_src, 2 * sizeof(iphdr->ip_src), in udp_checksum() 117 static uint16_t udp6_checksum(struct ip6_hdr *iphdr, struct udphdr *udphdr) in udp6_checksum() argument 122 sum = raw_checksum((uint8_t *)&iphdr->ip6_src, 2 * sizeof(iphdr->ip6_src), in udp6_checksum() 176 struct ip *iphdr = (struct ip *)ip_frame; in send_fragment() local 180 iphdr->ip_off = htons(offset / 8); in send_fragment() 183 iphdr in send_fragment() 206 struct ip *iphdr = (struct ip *)ip_frame; send_udp_frags() local [all...] |
H A D | nat6to4.c | 77 if (bpf_ntohs(ip6->payload_len) > 0xFFFF - sizeof(struct iphdr)) in sched_cls_ingress6_nat_6_prog() 94 struct iphdr ip = { in sched_cls_ingress6_nat_6_prog() 96 .ihl = sizeof(struct iphdr) / sizeof(__u32), // u4 in sched_cls_ingress6_nat_6_prog() 98 .tot_len = bpf_htons(bpf_ntohs(ip6->payload_len) + sizeof(struct iphdr)), // u16 in sched_cls_ingress6_nat_6_prog() 136 if (data + l2_header_size + sizeof(struct iphdr) > data_end) in sched_cls_ingress6_nat_6_prog() 145 *(struct iphdr *)(new_eth + 1) = ip; in sched_cls_ingress6_nat_6_prog() 156 const struct iphdr *const ip4 = (void *)(eth + 1); in sched_cls_egress4_snat4_prog()
|
H A D | gro.c | 111 next_off = offsetof(struct iphdr, protocol); in setup_sock_filter() 224 struct iphdr *iph = buf; in fill_networklayer() 245 payload_len + sizeof(struct iphdr)); in fill_networklayer() 251 iph->check = checksum_fold(buf, sizeof(struct iphdr), 0); in fill_networklayer() 380 struct iphdr *iph = (struct iphdr *)(buf + ETH_HLEN); in recompute_packet() 392 iph->check = checksum_fold(iph, sizeof(struct iphdr), 0); in recompute_packet() 558 struct iphdr *iph; in add_ipv4_ts_option() 572 iph = (struct iphdr *)(optpkt + ETH_HLEN); in add_ipv4_ts_option() 576 iph->check = checksum_fold(iph, sizeof(struct iphdr) in add_ipv4_ts_option() [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | ip.h | 19 static inline struct iphdr *ip_hdr(const struct sk_buff *skb) in ip_hdr() 21 return (struct iphdr *)skb_network_header(skb); in ip_hdr() 24 static inline struct iphdr *inner_ip_hdr(const struct sk_buff *skb) in inner_ip_hdr() 26 return (struct iphdr *)skb_inner_network_header(skb); in inner_ip_hdr() 29 static inline struct iphdr *ipip_hdr(const struct sk_buff *skb) in ipip_hdr() 31 return (struct iphdr *)skb_transport_header(skb); in ipip_hdr()
|
/kernel/linux/linux-6.6/net/ipv4/netfilter/ |
H A D | nf_reject_ipv4.c | 17 struct iphdr *iph; in nf_reject_iphdr_validate() 20 if (!pskb_may_pull(skb, sizeof(struct iphdr))) in nf_reject_iphdr_validate() 46 struct iphdr *niph; in nf_reject_skb_v4_tcp_reset() 56 nskb = alloc_skb(sizeof(struct iphdr) + sizeof(struct tcphdr) + in nf_reject_skb_v4_tcp_reset() 80 struct iphdr *niph; in nf_reject_skb_v4_unreach() 111 nskb = alloc_skb(sizeof(struct iphdr) + sizeof(struct icmphdr) + in nf_reject_skb_v4_unreach() 168 struct iphdr *nf_reject_iphdr_put(struct sk_buff *nskb, in nf_reject_iphdr_put() 172 struct iphdr *niph, *oiph = ip_hdr(oldskb); in nf_reject_iphdr_put() 175 niph = skb_put(nskb, sizeof(struct iphdr)); in nf_reject_iphdr_put() 177 niph->ihl = sizeof(struct iphdr) / in nf_reject_iphdr_put() [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/qualcomm/rmnet/ |
H A D | rmnet_map_data.c | 47 struct iphdr *ip4h; in rmnet_map_ipv4_dl_csum_trailer() 51 ip4h = (struct iphdr *)(skb->data); in rmnet_map_ipv4_dl_csum_trailer() 181 static void rmnet_map_complement_ipv4_txporthdr_csum_field(void *iphdr) in rmnet_map_complement_ipv4_txporthdr_csum_field() argument 183 struct iphdr *ip4h = (struct iphdr *)iphdr; in rmnet_map_complement_ipv4_txporthdr_csum_field() 187 txphdr = iphdr + ip4h->ihl * 4; in rmnet_map_complement_ipv4_txporthdr_csum_field() 196 rmnet_map_ipv4_ul_csum_header(void *iphdr, in rmnet_map_ipv4_ul_csum_header() argument 200 struct iphdr *ip4h = (struct iphdr *)iphd in rmnet_map_ipv4_ul_csum_header() 394 void *iphdr; rmnet_map_checksum_uplink_packet() local [all...] |
/kernel/linux/linux-5.10/samples/bpf/ |
H A D | tcbpf1_kern.c | 21 #define IP_CSUM_OFF (ETH_HLEN + offsetof(struct iphdr, check)) 22 #define TOS_OFF (ETH_HLEN + offsetof(struct iphdr, tos)) 32 #define TCP_CSUM_OFF (ETH_HLEN + sizeof(struct iphdr) + offsetof(struct tcphdr, check)) 33 #define IP_SRC_OFF (ETH_HLEN + offsetof(struct iphdr, saddr)) 46 #define TCP_DPORT_OFF (ETH_HLEN + sizeof(struct iphdr) + offsetof(struct tcphdr, dest)) 58 __u8 proto = load_byte(skb, ETH_HLEN + offsetof(struct iphdr, protocol)); in bpf_prog1()
|
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | tcbpf1_kern.c | 21 #define IP_CSUM_OFF (ETH_HLEN + offsetof(struct iphdr, check)) 22 #define TOS_OFF (ETH_HLEN + offsetof(struct iphdr, tos)) 32 #define TCP_CSUM_OFF (ETH_HLEN + sizeof(struct iphdr) + offsetof(struct tcphdr, check)) 33 #define IP_SRC_OFF (ETH_HLEN + offsetof(struct iphdr, saddr)) 46 #define TCP_DPORT_OFF (ETH_HLEN + sizeof(struct iphdr) + offsetof(struct tcphdr, dest)) 58 __u8 proto = load_byte(skb, ETH_HLEN + offsetof(struct iphdr, protocol)); in bpf_prog1()
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | skb_pkt_end.c | 11 #define ETH_IPV4_TCP_SIZE (14 + sizeof(struct iphdr) + sizeof(struct tcphdr)) 13 static INLINE struct iphdr *get_iphdr(struct __sk_buff *skb) in get_iphdr() 15 struct iphdr *ip = NULL; in get_iphdr() 31 struct iphdr *ip = NULL; in main_prog()
|
H A D | test_cls_redirect_dynptr.c | 117 static bool ipv4_is_fragment(const struct iphdr *ip) in ipv4_is_fragment() 123 static int pkt_parse_ipv4(struct bpf_dynptr *dynptr, __u64 *offset, struct iphdr *iphdr) in pkt_parse_ipv4() argument 125 if (bpf_dynptr_read(iphdr, sizeof(*iphdr), dynptr, *offset, 0)) in pkt_parse_ipv4() 128 *offset += sizeof(*iphdr); in pkt_parse_ipv4() 130 if (iphdr->ihl < 5) in pkt_parse_ipv4() 134 *offset += (iphdr->ihl - 5) * 4; in pkt_parse_ipv4() 166 static void pkt_ipv4_checksum(struct iphdr *iph) in pkt_ipv4_checksum() 175 _Static_assert(sizeof(struct iphdr) in pkt_ipv4_checksum() 513 sizeof(struct iphdr) fill_tuple() argument [all...] |
H A D | test_cls_redirect.c | 198 static INLINING bool pkt_skip_ipv4_options(buf_t *buf, const struct iphdr *ipv4) in pkt_skip_ipv4_options() 207 static INLINING bool ipv4_is_fragment(const struct iphdr *ip) in ipv4_is_fragment() 213 static __always_inline struct iphdr *pkt_parse_ipv4(buf_t *pkt, struct iphdr *scratch) in pkt_parse_ipv4() 215 struct iphdr *ipv4 = buf_assign(pkt, sizeof(*ipv4), scratch); in pkt_parse_ipv4() 257 static INLINING void pkt_ipv4_checksum(struct iphdr *iph) in pkt_ipv4_checksum() 266 _Static_assert(sizeof(struct iphdr) == 20, "iphdr must be 20 bytes"); in pkt_ipv4_checksum() 271 for (size_t i = 0; i < sizeof(struct iphdr) / 2; i++) { in pkt_ipv4_checksum() 408 payload_off - sizeof(struct ethhdr) - sizeof(struct iphdr); in forward_with_gre() 622 sizeof(struct iphdr) fill_tuple() argument [all...] |
/kernel/linux/linux-5.10/net/ipv4/netfilter/ |
H A D | nf_reject_ipv4.c | 44 struct iphdr *nf_reject_iphdr_put(struct sk_buff *nskb, in nf_reject_iphdr_put() 48 struct iphdr *niph, *oiph = ip_hdr(oldskb); in nf_reject_iphdr_put() 51 niph = skb_put(nskb, sizeof(struct iphdr)); in nf_reject_iphdr_put() 53 niph->ihl = sizeof(struct iphdr) / 4; in nf_reject_iphdr_put() 72 struct iphdr *niph = ip_hdr(nskb); in nf_reject_ip_tcphdr_put() 120 struct iphdr *niph; in nf_send_reset() 134 nskb = alloc_skb(sizeof(struct iphdr) + sizeof(struct tcphdr) + in nf_send_reset() 190 struct iphdr *iph = ip_hdr(skb_in); in nf_send_unreach()
|
H A D | nf_log_ipv4.c | 39 struct iphdr _iph; in dump_ipv4_packet() 40 const struct iphdr *ih; in dump_ipv4_packet() 77 ih->ihl * 4 > sizeof(struct iphdr)) { in dump_ipv4_packet() 79 unsigned char _opt[4 * 15 - sizeof(struct iphdr)]; in dump_ipv4_packet() 82 optsize = ih->ihl * 4 - sizeof(struct iphdr); in dump_ipv4_packet() 117 = 8 + sizeof(struct iphdr), in dump_ipv4_packet() 119 = 8 + sizeof(struct iphdr), in dump_ipv4_packet() 121 = 8 + sizeof(struct iphdr), in dump_ipv4_packet() 124 = 8 + sizeof(struct iphdr), in dump_ipv4_packet() 126 = 8 + sizeof(struct iphdr), in dump_ipv4_packet() [all...] |
/kernel/linux/linux-6.6/include/net/ |
H A D | inet_ecn.h | 77 static inline int IP_ECN_set_ce(struct iphdr *iph) in IP_ECN_set_ce() 105 static inline int IP_ECN_set_ect1(struct iphdr *iph) in IP_ECN_set_ect1() 115 static inline void IP_ECN_clear(struct iphdr *iph) in IP_ECN_clear() 120 static inline void ipv4_copy_dscp(unsigned int dscp, struct iphdr *inner) in ipv4_copy_dscp() 176 if (skb_network_header(skb) + sizeof(struct iphdr) <= in INET_ECN_set_ce() 195 if (!pskb_network_may_pull(skb, sizeof(struct iphdr))) in skb_get_dsfield() 212 if (skb_network_header(skb) + sizeof(struct iphdr) <= in INET_ECN_set_ect1() 286 static inline int IP_ECN_decapsulate(const struct iphdr *oiph, in IP_ECN_decapsulate()
|
/third_party/lwip/test/unit/tcp/ |
H A D | tcp_helper.c | 52 struct ip_hdr* iphdr; in tcp_create_segment_wnd() local 70 iphdr = (struct ip_hdr*)p->payload; in tcp_create_segment_wnd() 72 iphdr->dest.addr = ip_2_ip4(dst_ip)->addr; in tcp_create_segment_wnd() 73 iphdr->src.addr = ip_2_ip4(src_ip)->addr; in tcp_create_segment_wnd() 74 IPH_VHL_SET(iphdr, 4, IP_HLEN / 4); in tcp_create_segment_wnd() 75 IPH_TOS_SET(iphdr, 0); in tcp_create_segment_wnd() 76 IPH_LEN_SET(iphdr, htons(p->tot_len)); in tcp_create_segment_wnd() 77 IPH_CHKSUM_SET(iphdr, inet_chksum(iphdr, IP_HLEN)); in tcp_create_segment_wnd() 256 struct ip_hdr *iphdr in test_tcp_input() local [all...] |
/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A D | test_cls_redirect.c | 197 static INLINING bool pkt_skip_ipv4_options(buf_t *buf, const struct iphdr *ipv4) in pkt_skip_ipv4_options() 206 static INLINING bool ipv4_is_fragment(const struct iphdr *ip) in ipv4_is_fragment() 212 static __always_inline struct iphdr *pkt_parse_ipv4(buf_t *pkt, struct iphdr *scratch) in pkt_parse_ipv4() 214 struct iphdr *ipv4 = buf_assign(pkt, sizeof(*ipv4), scratch); in pkt_parse_ipv4() 256 static INLINING void pkt_ipv4_checksum(struct iphdr *iph) in pkt_ipv4_checksum() 265 _Static_assert(sizeof(struct iphdr) == 20, "iphdr must be 20 bytes"); in pkt_ipv4_checksum() 270 for (size_t i = 0; i < sizeof(struct iphdr) / 2; i++) { in pkt_ipv4_checksum() 407 payload_off - sizeof(struct ethhdr) - sizeof(struct iphdr); in forward_with_gre() 615 sizeof(struct iphdr) fill_tuple() argument [all...] |
/kernel/linux/linux-5.10/include/net/ |
H A D | inet_ecn.h | 76 static inline int IP_ECN_set_ce(struct iphdr *iph) in IP_ECN_set_ce() 103 static inline int IP_ECN_set_ect1(struct iphdr *iph) in IP_ECN_set_ect1() 117 static inline void IP_ECN_clear(struct iphdr *iph) in IP_ECN_clear() 122 static inline void ipv4_copy_dscp(unsigned int dscp, struct iphdr *inner) in ipv4_copy_dscp() 178 if (skb_network_header(skb) + sizeof(struct iphdr) <= in INET_ECN_set_ce() 197 if (skb_network_header(skb) + sizeof(struct iphdr) <= in INET_ECN_set_ect1() 271 static inline int IP_ECN_decapsulate(const struct iphdr *oiph, in IP_ECN_decapsulate()
|
H A D | ip_vs.h | 69 int hdr_flags, struct ip_vs_iphdr *iphdr) in ip_vs_fill_iph_skb_off() 71 iphdr->hdr_flags = hdr_flags; in ip_vs_fill_iph_skb_off() 72 iphdr->off = offset; in ip_vs_fill_iph_skb_off() 82 iphdr->saddr.in6 = iph->saddr; in ip_vs_fill_iph_skb_off() 83 iphdr->daddr.in6 = iph->daddr; in ip_vs_fill_iph_skb_off() 85 iphdr->len = offset; in ip_vs_fill_iph_skb_off() 86 iphdr->flags = 0; in ip_vs_fill_iph_skb_off() 87 iphdr->protocol = ipv6_find_hdr(skb, &iphdr->len, -1, in ip_vs_fill_iph_skb_off() 88 &iphdr in ip_vs_fill_iph_skb_off() 68 ip_vs_fill_iph_skb_off(int af, const struct sk_buff *skb, int offset, int hdr_flags, struct ip_vs_iphdr *iphdr) ip_vs_fill_iph_skb_off() argument 112 ip_vs_fill_iph_skb_icmp(int af, const struct sk_buff *skb, int offset, bool inverse, struct ip_vs_iphdr *iphdr) ip_vs_fill_iph_skb_icmp() argument 124 ip_vs_fill_iph_skb(int af, const struct sk_buff *skb, bool inverse, struct ip_vs_iphdr *iphdr) ip_vs_fill_iph_skb() argument [all...] |