brunner@bullhead.uucp (03/02/90)
Subject: Token ring fix (all-routes bit set) Fix: /sys/caif/if_lan.c Description: In multipath token rings, broadcasts (typically arps) having the all-routes bit set in the rip field of the link-level header results in redundent flooding during route discovery. In very large multipath rings this may cause bridges to fail. Using limited broadcast (implemented in this patch) the total number of packets generated during route discovery is reduced. Fix: Change directories to /sys/caif and apply the following patch, e.g., patch < this_file *** if_lan.c.orig Fri Dec 9 14:50:39 1988 --- if_lan.c.fix Thu Feb 8 15:14:29 1990 *************** *** 300,306 **** /* set up lan header areas */ lns->rp[i]->d_parm[0].d_cnt = (((short)(sizeof(struct mac_hdr) + ! sizeof(struct llc_hdr) + LAN_MTU)) & (~LAN_CHAIN)); lns->rp[i]->d_parm[0].d_haddr = DMA_HI_ADDR(tcw); lns->rp[i]->d_parm[0].d_laddr = DMA_LO_ADDR(lns->lns_rdata[i], tcw); --- 300,306 ---- /* set up lan header areas */ lns->rp[i]->d_parm[0].d_cnt = (((short)(sizeof(struct mac_hdr) + ! sizeof(struct llc_hdr) + LAN_MTU +3)) & (~LAN_CHAIN)); lns->rp[i]->d_parm[0].d_haddr = DMA_HI_ADDR(tcw); lns->rp[i]->d_parm[0].d_laddr = DMA_LO_ADDR(lns->lns_rdata[i], tcw); *************** *** 1030,1035 **** --- 1030,1036 ---- | LAN_RCF_BROADCAST; /* all rings broadcast */ } } + printf("after local masking rcf=0x%x\n", rcf); break; #endif case AF_UNSPEC: Eric Brunner, Consultant, IBM AWD Palo Alto (415) 855-4486 inet: brunner@monet.berkeley.edu uucp: uunet!ibmsupt!brunner