routed sets flag bits incorrectly
jromine at Uci-750a.ARPA
jromine at Uci-750a.ARPA
Fri Apr 20 15:51:48 AEST 1984
From: John Romine <jromine at Uci-750a.ARPA>
Description:
Routed sets its internal flags wrong for interfaces. The flags 0x1
to 0x10 are the same as the kernel flags, but the other flag bits are
never masked out.
Repeat-By:
Set the 'trailers', and '-arp' configuration flags for a hardware
interface with /etc/ifconfig, then start routed. routed will get
confused and delete the routing entry for that interface.
Fix:
Mask out the flag bits which are not the same as the kernel flags
bits. (i'm not certain of the line numbers.)
*** bk_startup.c Wed May 25 17:51:40 1983
--- startup.c Tue Apr 17 07:16:05 1984
***************
*** 103,107
strcpy(ifp->int_name, name);
ifp->int_addr = ifs.if_addr;
! ifp->int_flags = ifs.if_flags | IFF_INTERFACE;
/* this works because broadaddr overlaps dstaddr */
ifp->int_broadaddr = ifs.if_broadaddr;
--- 103,107 -----
strcpy(ifp->int_name, name);
ifp->int_addr = ifs.if_addr;
! ifp->int_flags = (ifs.if_flags & 0x1f)| IFF_INTERFACE;
/* this works because broadaddr overlaps dstaddr */
ifp->int_broadaddr = ifs.if_broadaddr;
***************
More information about the Comp.unix.wizards
mailing list