| #include "kvm/uip.h" | |
| int uip_tx_do_ipv4_icmp(struct uip_tx_arg *arg) | |
| { | |
| struct uip_ip *ip, *ip2; | |
| struct uip_icmp *icmp2; | |
| struct uip_buf *buf; | |
| buf = uip_buf_clone(arg); | |
| icmp2 = (struct uip_icmp *)(buf->eth); | |
| ip2 = (struct uip_ip *)(buf->eth); | |
| ip = (struct uip_ip *)(arg->eth); | |
| ip2->sip = ip->dip; | |
| ip2->dip = ip->sip; | |
| ip2->csum = 0; | |
| /* | |
| * ICMP reply: 0 | |
| */ | |
| icmp2->type = 0; | |
| icmp2->csum = 0; | |
| ip2->csum = uip_csum_ip(ip2); | |
| icmp2->csum = uip_csum_icmp(icmp2); | |
| uip_buf_set_used(arg->info, buf); | |
| return 0; | |
| } |