Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Trouble of redirect route

2 views
Skip to first unread message

Noriko.Katayama

unread,
May 27, 1996, 3:00:00 AM5/27/96
to

Hi!
I have one trouble in gated of gated-R-3.5Beta_3.

When gated was recieved ICMP redirect route,
gated has terminated with core.


Operation summary is below:

1. gated is runnning on HostA

2. HostA --> HostB route-information is nothing

3. HostB --> HostA route-information is having

4. HostA# ping HostB
no answer from HostB

5. add default route on HostA
HostA# route add net default XXX.XXX.XXX.XXX 1

6. HostA# ping HostB
ICMP Host redirect from gateway XXX.XXX.XXX.XXX
to YYY.YYY.YYY.YYY for HostB

7. But gated is not running on HostA


The log of sdb is below:

# sdb /usr/sbin/gated ./core
no source file
no current source file
0x2bde6 (rthlist_match:426+0xc) l r7,4(r6)
*t
rthlist_match(dst=0x1c0178) [rt_radix.c:426]
redirect(dst=0x1c0178,mask=0x1b1630,gateway=0x1c00e8,src=0x1c0180) [rt_redirect.c:109]
icmp_redirect_process(jp=0x202150) [icmp.c:326]
task_job_fg_dispatch() [task.c:1701]
main(0x1,0x7fffff98,0x7fffffa0) [task.c:6526]
*q
#

Then I tried fix of rthlist_match() in rt_radix.c .

% diff -c rt_radix.c.org rt_radix.c.fix
*** rt_radix.c.org Sat May 25 14:47:10 1996
--- rt_radix.c.fix Sat May 25 15:47:38 1996
***************
*** 400,406 ****
* way down
*/
sp = stack;
! while (rn) {
if (rn->rnode_rth) {
*sp++ = rn;
}
--- 400,407 ----
* way down
*/
sp = stack;
! bitlen = mask_to_prefix_si(si, si->si_mask_max);
! while (rn && (rn->rnode_bit < bitlen)) {
if (rn->rnode_rth) {
*sp++ = rn;
}


So, I tried same operation. The gated doesn't terminated, and keep running.
This fix is OK!?
Please verify this fix.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
N o r i k o K a t a y a m a
FUJITSU LIMITED NUMAZU-SHI SHIZUOKA,410-03 JAPAN
E-mail: kata...@open.nm.fujitsu.co.jp
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

0 new messages