taglinefilesource code
icmph95include/net/head_explode.hextern __inline__ unsigned char *icmp_explode(unsigned char *icmph, struct icmp_header *icmp)
icmph99include/net/head_explode.hicmph=exp_getn16(icmph,&icmp->checksum);
icmph101include/net/head_explode.hexp_getu32(icmph,&icmp->gateway);  
icmph102include/net/head_explode.hicmph=exp_getu16(icmph,&icmp->id);
icmph103include/net/head_explode.hicmph=exp_getu16(icmph,&icmp->sequence);
icmph104include/net/head_explode.hreturn icmph;
icmph105net/ipv4/icmp.cstruct icmphdr *icmph;
icmph152net/ipv4/icmp.cicmph = (struct icmphdr *) ((char *) iph +
icmph159net/ipv4/icmp.cif (icmph->type == ICMP_DEST_UNREACH ||
icmph160net/ipv4/icmp.cicmph->type == ICMP_SOURCE_QUENCH ||
icmph161net/ipv4/icmp.cicmph->type == ICMP_REDIRECT ||
icmph162net/ipv4/icmp.cicmph->type == ICMP_TIME_EXCEEDED ||
icmph163net/ipv4/icmp.cicmph->type == ICMP_PARAMETERPROB)
icmph252net/ipv4/icmp.cicmph = (struct icmphdr *) (skb->data + offset);
icmph253net/ipv4/icmp.cicmph->type = type;
icmph254net/ipv4/icmp.cicmph->code = code;
icmph255net/ipv4/icmp.cicmph->checksum = 0;
icmph256net/ipv4/icmp.cicmph->un.gateway = info;  /* This might not be meant for 
icmph259net/ipv4/icmp.cmemcpy(icmph + 1, iph, sizeof(struct iphdr) + 8);
icmph261net/ipv4/icmp.cicmph->checksum = ip_compute_csum((unsigned char *)icmph,
icmph275net/ipv4/icmp.cstatic void icmp_unreach(struct icmphdr *icmph, struct sk_buff *skb)
icmph282net/ipv4/icmp.cerr = (icmph->type << 8) | icmph->code;
icmph283net/ipv4/icmp.ciph = (struct iphdr *) (icmph + 1);
icmph285net/ipv4/icmp.cswitch(icmph->code & 7) 
icmph336net/ipv4/icmp.cipprot->err_handler(err, (unsigned char *)(icmph + 1),
icmph350net/ipv4/icmp.cstatic void icmp_redirect(struct icmphdr *icmph, struct sk_buff *skb,
icmph361net/ipv4/icmp.ciph = (struct iphdr *) (icmph + 1);
icmph370net/ipv4/icmp.cswitch(icmph->code & 7) 
icmph380net/ipv4/icmp.cip, 0, icmph->un.gateway, dev,0, 0);
icmph396net/ipv4/icmp.c((icmph->un.gateway^dev->pa_addr)&dev->pa_mask) ||
icmph397net/ipv4/icmp.cip_chk_addr(icmph->un.gateway))
icmph401net/ipv4/icmp.cip, 0, icmph->un.gateway, dev,0, 0, 0);
icmph423net/ipv4/icmp.cstatic void icmp_echo(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
icmph468net/ipv4/icmp.cmemcpy((char *) icmphr, (char *) icmph, len);
icmph490net/ipv4/icmp.cstatic void icmp_timestamp(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
icmph547net/ipv4/icmp.cmemcpy((char *) icmphr, (char *) icmph, 12);
icmph577net/ipv4/icmp.cstatic void icmp_info(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
icmph590net/ipv4/icmp.cstatic void icmp_address(struct icmphdr *icmph, struct sk_buff *skb, struct device *dev,
icmph641net/ipv4/icmp.cicmphr->un.echo.id = icmph->un.echo.id;
icmph642net/ipv4/icmp.cicmphr->un.echo.sequence = icmph->un.echo.sequence;
icmph663net/ipv4/icmp.cstruct icmphdr *icmph;
icmph679net/ipv4/icmp.cicmph = (struct icmphdr *) buff;
icmph685net/ipv4/icmp.cif (ip_compute_csum((unsigned char *) icmph, len)) 
icmph700net/ipv4/icmp.cif (icmph->type != ICMP_ECHO) 
icmph709net/ipv4/icmp.cswitch(icmph->type) 
icmph713net/ipv4/icmp.cicmp_unreach(icmph, skb1);
icmph717net/ipv4/icmp.cicmp_unreach(icmph, skb1);
icmph721net/ipv4/icmp.cicmp_unreach(icmph, skb1);
icmph725net/ipv4/icmp.cicmp_redirect(icmph, skb1, dev, saddr);
icmph729net/ipv4/icmp.cicmp_echo(icmph, skb1, dev, saddr, daddr, len, opt);
icmph737net/ipv4/icmp.cicmp_timestamp(icmph, skb1, dev, saddr, daddr, len, opt);
icmph745net/ipv4/icmp.cicmp_info(icmph, skb1, dev, saddr, daddr, len, opt);
icmph753net/ipv4/icmp.cicmp_address(icmph, skb1, dev, saddr, daddr, len, opt);