On Wed, 4 Dec 2002, Don Bowman wrote:
> > From: Julian Elischer [mailto:[EMAIL PROTECTED]] > > On Wed, 4 Dec 2002, Don Bowman wrote: > ... > > > It gets the destination MAC address from the SRC AMC field of the > > preceding incoming packets with that IP src, dst and port > > combination.... i.e. the node would look within the IP header. > > > > > > > Wouldn't it be more efficient for me to > > > just create the ether-header when the SYN comes in, store it > > > in the PCB, and use that on each outgoing packet for that tcp > > > connection, add a sockopt (or use SO_DONTROUTE for this on the > > > listen socket)? > > > > yes and no... you would be breaking the layering in > > the standard code and you'd get crucified for it. > > > > start with the ng_bridge node and make it look within > > the IP header and use that information in it's hash tables instead of > > MAC addresses. It'll need some hosekeeping code too. > > (to flush old info, though you could reduce this by removing > > entries when you see the FIN packets go past.) > > Perhaps I can do this within ipfw? Its only ipfw that is bringing up > this situation, making me respond to things that normally wouldn't > be routed to me. Perhaps 'ipfw' is missing something when it does > a 'fwd' to localhost, another step to make this all work? 'divert' sockets are to allow you to do things in ipfw.. > > FIN are pretty rare :) Too often things just shut off. I'm nervous > about trying to cache the info outside the PCB since it has to > stay in sync (its not like the arp cache, there's no way to get > the info back if you drop it early). > RST is even more problematic since I have to decide if its in-window. doesn't really matter.. if you remove a cache entry, you'll just recreate it on teh next incoming packet. > > --don ([EMAIL PROTECTED] www.sandvine.com) > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-net" in the body of the message > To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-net" in the body of the message