/* ICMP header + IP header + 8 bytes of data */ q = pbuf_alloc(PBUF_IP, sizeof(struct icmp_echo_hdr) + IP_HLEN + ICMP_DEST_UNREACH_DATASIZE, q = pbuf_alloc(PBUF_IP, sizeof(struct icmp_hdr) + IP_HLEN + ICMP_DEST_
{ struct ethhdr eh; struct arphdr arp; }; void echo_udp_pkt(struct udppkt *udp, struct udppkt *udp_rt) { memcpy(udp_rt, udp, sizeof(struct udppkt)); memcpy(udp_rt->eh.h_dst, udp->eh.h_src, ETH_ADDR_LENGTH); memcpy(udp_rt->eh.h_src, udp->eh.h_dst, ETH_ADDR_LENGTH...