On Tue, Mar 18, 2008 at 4:48 AM, Matthew Dillon <[EMAIL PROTECTED]> wrote: > > :I have changed this test program a little bit. Run it in following way: > :./test_udp remote_ip > : > :... > :I think we need to fix following entry points: > > :1) udp_output(): after ip_output() if old_lport==0 and > :mycpuid!=udp_addrcpu(inpcb addr/port pair) then free inpcb's route > :entry > :2) udp_connect(): this function always happens on CPU0, so if > :udp_addrcpu(inpcb addr/port pair)!=mycpuid(0 here), then we need to > :free inpcb's route entry > :3) udp_disconnect(): at the end of it, if mycpuid!=udp_addrcpu(inpcb > :addr/port pair) then free inpcb's route entry > : > :I may miss some entry points here, so please point them out to me, if > :some pop up in your mind. > : > :Best Regards, > :sephe > > I'm not sure how appropriate my idea is but... what if we simply > do not cache the route until after the addr/port pair is assigned?
This is probably same as 1). We still need to fix 2) and 3). Best Regards, sephe -- Live Free or Die
