jromine@Uci-750a.ARPA (04/20/84)
From: John Romine <jromine@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; ***************