ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/slirp/ip_icmp.c
(Generate patch)

Comparing BasiliskII/src/slirp/ip_icmp.c (file contents):
Revision 1.1 by gbeauche, 2005-05-13T09:00:59Z vs.
Revision 1.2 by gbeauche, 2007-11-03T11:11:42Z

# Line 114 | Line 114 | icmp_input(m, hlen)
114    case ICMP_ECHO:
115      icp->icmp_type = ICMP_ECHOREPLY;
116      ip->ip_len += hlen;              /* since ip_input subtracts this */
117 <    if (ip->ip_dst.s_addr == our_addr.s_addr ||
118 <        (ip->ip_dst.s_addr == (special_addr.s_addr|htonl(CTL_ALIAS))) ) {
117 >    if (ip->ip_dst.s_addr == alias_addr.s_addr) {
118        icmp_reflect(m);
119      } else {
120        struct socket *so;
# Line 161 | Line 160 | icmp_input(m, hlen)
160          icmp_error(m, ICMP_UNREACH,ICMP_UNREACH_NET, 0,strerror(errno));
161          udp_detach(so);
162        }
163 <    } /* if ip->ip_dst.s_addr == our_addr.s_addr */
163 >    } /* if ip->ip_dst.s_addr == alias_addr.s_addr */
164      break;
165    case ICMP_UNREACH:
166      /* XXX? report error? close socket? */
# Line 311 | Line 310 | icmp_error(msrc, type, code, minsize, me
310    ip->ip_ttl = MAXTTL;
311    ip->ip_p = IPPROTO_ICMP;
312    ip->ip_dst = ip->ip_src;    /* ip adresses */
313 <  ip->ip_src = our_addr;
313 >  ip->ip_src = alias_addr;
314  
315    (void ) ip_output((struct socket *)NULL, m);
316    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines