blob: 233297caf44bcc037d85403288f6bc930915dad5 [file] [log] [blame]
#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;
}