Date: Mon, 10 Mar 2008 16:11:27 GMT From: Paolo Pisati <piso@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 137323 for review Message-ID: <200803101611.m2AGBREp008793@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=137323 Change 137323 by piso@piso_ferret on 2008/03/10 16:10:28 -Don't pass the entire pkt to FragmentIn() & FragmentOut() -Remove some stale comments Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#67 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#67 (text+ko) ==== @@ -642,8 +642,6 @@ return (iresult); } - -// XXX ip free static int ProtoAliasIn(struct libalias *la, struct in_addr ip_src, struct in_addr *ip_dst, u_char ip_p, u_short *ip_sum) @@ -677,7 +675,6 @@ return (PKT_ALIAS_IGNORED); } -// XXX ip free static int ProtoAliasOut(struct libalias *la, struct in_addr *ip_src, struct in_addr ip_dst, u_char ip_p, u_short *ip_sum, int create) @@ -1094,41 +1091,42 @@ */ /* Local prototypes */ -static int FragmentIn(struct libalias *, struct ip *); -static int FragmentOut(struct libalias *, struct ip *); +static int FragmentIn(struct libalias *la, struct in_addr ip_src, + struct in_addr *ip_dst, u_char ip_p, u_short *ip_sum); +static int FragmentOut(struct libalias *, struct in_addr *ip_src, + u_short *ip_sum); -// XXX ip free static int -FragmentIn(struct libalias *la, struct ip *pip) +FragmentIn(struct libalias *la, struct in_addr ip_src, struct in_addr *ip_dst, + u_char ip_id, u_short *ip_sum) { struct alias_link *lnk; LIBALIAS_LOCK_ASSERT(la); - lnk = FindFragmentIn2(la, pip->ip_src, pip->ip_dst, pip->ip_id); + lnk = FindFragmentIn2(la, ip_src, *ip_dst, ip_id); if (lnk != NULL) { struct in_addr original_address; GetFragmentAddr(lnk, &original_address); - DifferentialChecksum(&pip->ip_sum, - &original_address, &pip->ip_dst, 2); - pip->ip_dst = original_address; + DifferentialChecksum(ip_sum, + &original_address, ip_dst, 2); + *ip_dst = original_address; return (PKT_ALIAS_OK); } return (PKT_ALIAS_UNRESOLVED_FRAGMENT); } -// XXX ip free static int -FragmentOut(struct libalias *la, struct ip *pip) +FragmentOut(struct libalias *la, struct in_addr *ip_src, u_short *ip_sum) { struct in_addr alias_address; LIBALIAS_LOCK_ASSERT(la); - alias_address = FindAliasAddress(la, pip->ip_src); - DifferentialChecksum(&pip->ip_sum, - &alias_address, &pip->ip_src, 2); - pip->ip_src = alias_address; + alias_address = FindAliasAddress(la, *ip_src); + DifferentialChecksum(ip_sum, + &alias_address, ip_src, 2); + *ip_src = alias_address; return (PKT_ALIAS_OK); } @@ -1310,7 +1308,8 @@ } } } else { - iresult = FragmentIn(la, pip); + iresult = FragmentIn(la, pip->ip_src, &pip->ip_dst, pip->ip_id, + &pip->ip_sum); } getout: @@ -1441,7 +1440,7 @@ break; } } else { - iresult = FragmentOut(la, pip); + iresult = FragmentOut(la, &pip->ip_src, &pip->ip_sum); } SetDefaultAliasAddress(la, addr_save);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803101611.m2AGBREp008793>