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