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);
|