From: chas w. <ch...@us...> - 2005-04-18 15:49:10
|
Update of /cvsroot/linux-atm/linux-atm/src/led In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19177 Modified Files: Tag: V2_5_0 frames.c Log Message: From: "Talbert, Scott" <sco...@lm...> Here is a patch for zeppelin. It did not handle the byte ordering properly for the REMOTE_ADDRESS flag in an LE_ARP response. Thus, the REMOTE_ADDRESS flag would never be set and sent to the kernel. Index: frames.c =================================================================== RCS file: /cvsroot/linux-atm/linux-atm/src/led/frames.c,v retrieving revision 1.2.2.2 retrieving revision 1.2.2.3 diff -C2 -d -r1.2.2.2 -r1.2.2.3 *** frames.c 19 Jul 2003 22:42:01 -0000 1.2.2.2 --- frames.c 18 Apr 2005 15:49:01 -0000 1.2.2.3 *************** *** 194,198 **** memcpy(msg->content.normal.mac_addr, frame->src_lan_dst.mac, ETH_ALEN); memcpy(msg->content.normal.atm_addr, frame->src_atm_addr, ATM_ESA_LEN); ! msg->content.normal.flag = (frame->header.flags & REMOTE_ADDRESS) ? 1 : 0; msg->content.normal.targetless_le_arp = 1; msg->sizeoftlvs = sizeoftlvs; --- 194,198 ---- memcpy(msg->content.normal.mac_addr, frame->src_lan_dst.mac, ETH_ALEN); memcpy(msg->content.normal.atm_addr, frame->src_atm_addr, ATM_ESA_LEN); ! msg->content.normal.flag = (frame->header.flags & htons(REMOTE_ADDRESS)) ? 1 : 0; msg->content.normal.targetless_le_arp = 1; msg->sizeoftlvs = sizeoftlvs; *************** *** 237,241 **** memcpy(msg->content.normal.mac_addr, frame->src_lan_dst.mac, ETH_ALEN); memcpy(msg->content.normal.atm_addr, frame->src_atm_addr, ATM_ESA_LEN); ! msg->content.normal.flag = (frame->header.flags & REMOTE_ADDRESS) ? 1 : 0; msg->content.normal.no_source_le_narp = no_source; msg->sizeoftlvs = sizeoftlvs; --- 237,241 ---- memcpy(msg->content.normal.mac_addr, frame->src_lan_dst.mac, ETH_ALEN); memcpy(msg->content.normal.atm_addr, frame->src_atm_addr, ATM_ESA_LEN); ! msg->content.normal.flag = (frame->header.flags & htons(REMOTE_ADDRESS)) ? 1 : 0; msg->content.normal.no_source_le_narp = no_source; msg->sizeoftlvs = sizeoftlvs; *************** *** 270,274 **** memcpy(msg->content.normal.mac_addr, frame->target_lan_dst.mac, ETH_ALEN); memcpy(msg->content.normal.atm_addr, frame->target_atm_addr, ATM_ESA_LEN); ! msg->content.normal.flag = (frame->header.flags & REMOTE_ADDRESS) ? 1 : 0; msg->sizeoftlvs = sizeoftlvs; if (sizeoftlvs > 0) memcpy(msg + 1, frame + 1, sizeoftlvs); --- 270,274 ---- memcpy(msg->content.normal.mac_addr, frame->target_lan_dst.mac, ETH_ALEN); memcpy(msg->content.normal.atm_addr, frame->target_atm_addr, ATM_ESA_LEN); ! msg->content.normal.flag = (frame->header.flags & htons(REMOTE_ADDRESS)) ? 1 : 0; msg->sizeoftlvs = sizeoftlvs; if (sizeoftlvs > 0) memcpy(msg + 1, frame + 1, sizeoftlvs); |