Re: [U-Boot] [PATCH 08/28] net: Move RARP receive logic out of net.c

2014-04-13 Thread Harsh Tailor


Sent from my iPhone
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 08/28] net: Move RARP receive logic out of net.c

2012-02-03 Thread Mike Frysinger
Acked-by: Mike Frysinger vap...@gentoo.org
-mike


signature.asc
Description: This is a digitally signed message part.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 08/28] net: Move RARP receive logic out of net.c

2012-01-23 Thread Simon Glass
On Thu, Jan 19, 2012 at 4:53 PM, Joe Hershberger joe.hershber...@ni.com wrote:
 Signed-off-by: Joe Hershberger joe.hershber...@ni.com
 Cc: Joe Hershberger joe.hershber...@gmail.com
 Cc: Wolfgang Denk w...@denx.de

Acked-by: Simon Glass s...@chromium.org

 ---
  net/net.c  |   25 +
  net/rarp.c |   38 +++---
  net/rarp.h |    1 +
  3 files changed, 29 insertions(+), 35 deletions(-)

 diff --git a/net/net.c b/net/net.c
 index c2fbcb5..fdc1ebe 100644
 --- a/net/net.c
 +++ b/net/net.c
 @@ -857,9 +857,6 @@ NetReceive(volatile uchar *inpkt, int len)
  {
        Ethernet_t *et;
        IP_t    *ip;
 -#ifdef CONFIG_CMD_RARP
 -       ARP_t   *arp;
 -#endif
        IPaddr_t tmp;
        IPaddr_t src_ip;
        int     x;
 @@ -964,27 +961,7 @@ NetReceive(volatile uchar *inpkt, int len)

  #ifdef CONFIG_CMD_RARP
        case PROT_RARP:
 -               debug(Got RARP\n);
 -               arp = (ARP_t *)ip;
 -               if (len  ARP_HDR_SIZE) {
 -                       printf(bad length %d  %d\n, len, ARP_HDR_SIZE);
 -                       return;
 -               }
 -
 -               if ((ntohs(arp-ar_op) != RARPOP_REPLY) ||
 -                       (ntohs(arp-ar_hrd) != ARP_ETHER)   ||
 -                       (ntohs(arp-ar_pro) != PROT_IP)     ||
 -                       (arp-ar_hln != 6) || (arp-ar_pln != 4)) {
 -
 -                       puts(invalid RARP header\n);
 -               } else {
 -                       NetCopyIP(NetOurIP, arp-ar_data[16]);
 -                       if (NetServerIP == 0)
 -                               NetCopyIP(NetServerIP, arp-ar_data[6]);
 -                       memcpy(NetServerEther, arp-ar_data[0], 6);
 -
 -                       (*packetHandler)(0, 0, 0, 0, 0);
 -               }
 +               RarpReceive(ip, len);
                break;
  #endif
        case PROT_IP:
 diff --git a/net/rarp.c b/net/rarp.c
 index 5a813a2..761560c 100644
 --- a/net/rarp.c
 +++ b/net/rarp.c
 @@ -36,18 +36,37 @@
  # define TIMEOUT_COUNT  (CONFIG_NET_RETRY_COUNT)
  #endif

 -
  int            RarpTry;

  /*
  *     Handle a RARP received packet.
  */
 -static void
 -RarpHandler(uchar *dummi0, unsigned dummi1, IPaddr_t sip, unsigned dummi2,
 -           unsigned dummi3)
 +void

void on same line as function?

 +RarpReceive(IP_t *ip, unsigned len)
  {
 -       debug(Got good RARP\n);
 -       net_auto_load();
 +       ARP_t *arp;
 +
 +       debug(Got RARP\n);
 +       arp = (ARP_t *)ip;
 +       if (len  ARP_HDR_SIZE) {
 +               printf(bad length %d  %d\n, len, ARP_HDR_SIZE);
 +               return;
 +       }
 +
 +       if ((ntohs(arp-ar_op) != RARPOP_REPLY) ||
 +               (ntohs(arp-ar_hrd) != ARP_ETHER)   ||
 +               (ntohs(arp-ar_pro) != PROT_IP)     ||
 +               (arp-ar_hln != 6) || (arp-ar_pln != 4)) {
 +
 +               puts(invalid RARP header\n);
 +       } else {
 +               NetCopyIP(NetOurIP, arp-ar_data[16]);
 +               if (NetServerIP == 0)
 +                       NetCopyIP(NetServerIP, arp-ar_data[6]);
 +               memcpy(NetServerEther, arp-ar_data[0], 6);
 +               debug(Got good RARP\n);
 +               net_auto_load();
 +       }
  }


 @@ -70,7 +89,6 @@ RarpTimeout(void)
  void
  RarpRequest(void)
  {
 -       int i;
        uchar *pkt;
        ARP_t *rarp;

 @@ -90,12 +108,10 @@ RarpRequest(void)
        memcpy(rarp-ar_data[6],  NetOurIP,   4);     /* source IP addr */
        /* dest ET addr = source ET addr ??*/
        memcpy(rarp-ar_data[10], NetOurEther, 6);
 -       /* dest. IP addr set to broadcast */
 -       for (i = 0; i = 3; i++)
 -               rarp-ar_data[16 + i] = 0xff;
 +       /* dest IP addr set to broadcast */
 +       memset(rarp-ar_data[16], 0xff,        4);

        NetSendPacket(NetTxPacket, (pkt - NetTxPacket) + ARP_HDR_SIZE);

        NetSetTimeout(TIMEOUT, RarpTimeout);
 -       NetSetHandler(RarpHandler);
  }
 diff --git a/net/rarp.h b/net/rarp.h
 index 4e92d80..0d728dc 100644
 --- a/net/rarp.h
 +++ b/net/rarp.h
 @@ -37,6 +37,7 @@

  extern int RarpTry;

 +extern void RarpReceive(IP_t *ip, unsigned len);
  extern void RarpRequest(void); /* Send a RARP request */

  /**/
 --
 1.6.0.2

 ___
 U-Boot mailing list
 U-Boot@lists.denx.de
 http://lists.denx.de/mailman/listinfo/u-boot
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 08/28] net: Move RARP receive logic out of net.c

2012-01-20 Thread Joe Hershberger
Signed-off-by: Joe Hershberger joe.hershber...@ni.com
Cc: Joe Hershberger joe.hershber...@gmail.com
Cc: Wolfgang Denk w...@denx.de
---
 net/net.c  |   25 +
 net/rarp.c |   38 +++---
 net/rarp.h |1 +
 3 files changed, 29 insertions(+), 35 deletions(-)

diff --git a/net/net.c b/net/net.c
index c2fbcb5..fdc1ebe 100644
--- a/net/net.c
+++ b/net/net.c
@@ -857,9 +857,6 @@ NetReceive(volatile uchar *inpkt, int len)
 {
Ethernet_t *et;
IP_t*ip;
-#ifdef CONFIG_CMD_RARP
-   ARP_t   *arp;
-#endif
IPaddr_t tmp;
IPaddr_t src_ip;
int x;
@@ -964,27 +961,7 @@ NetReceive(volatile uchar *inpkt, int len)
 
 #ifdef CONFIG_CMD_RARP
case PROT_RARP:
-   debug(Got RARP\n);
-   arp = (ARP_t *)ip;
-   if (len  ARP_HDR_SIZE) {
-   printf(bad length %d  %d\n, len, ARP_HDR_SIZE);
-   return;
-   }
-
-   if ((ntohs(arp-ar_op) != RARPOP_REPLY) ||
-   (ntohs(arp-ar_hrd) != ARP_ETHER)   ||
-   (ntohs(arp-ar_pro) != PROT_IP) ||
-   (arp-ar_hln != 6) || (arp-ar_pln != 4)) {
-
-   puts(invalid RARP header\n);
-   } else {
-   NetCopyIP(NetOurIP, arp-ar_data[16]);
-   if (NetServerIP == 0)
-   NetCopyIP(NetServerIP, arp-ar_data[6]);
-   memcpy(NetServerEther, arp-ar_data[0], 6);
-
-   (*packetHandler)(0, 0, 0, 0, 0);
-   }
+   RarpReceive(ip, len);
break;
 #endif
case PROT_IP:
diff --git a/net/rarp.c b/net/rarp.c
index 5a813a2..761560c 100644
--- a/net/rarp.c
+++ b/net/rarp.c
@@ -36,18 +36,37 @@
 # define TIMEOUT_COUNT  (CONFIG_NET_RETRY_COUNT)
 #endif
 
-
 intRarpTry;
 
 /*
  * Handle a RARP received packet.
  */
-static void
-RarpHandler(uchar *dummi0, unsigned dummi1, IPaddr_t sip, unsigned dummi2,
-   unsigned dummi3)
+void
+RarpReceive(IP_t *ip, unsigned len)
 {
-   debug(Got good RARP\n);
-   net_auto_load();
+   ARP_t *arp;
+
+   debug(Got RARP\n);
+   arp = (ARP_t *)ip;
+   if (len  ARP_HDR_SIZE) {
+   printf(bad length %d  %d\n, len, ARP_HDR_SIZE);
+   return;
+   }
+
+   if ((ntohs(arp-ar_op) != RARPOP_REPLY) ||
+   (ntohs(arp-ar_hrd) != ARP_ETHER)   ||
+   (ntohs(arp-ar_pro) != PROT_IP) ||
+   (arp-ar_hln != 6) || (arp-ar_pln != 4)) {
+
+   puts(invalid RARP header\n);
+   } else {
+   NetCopyIP(NetOurIP, arp-ar_data[16]);
+   if (NetServerIP == 0)
+   NetCopyIP(NetServerIP, arp-ar_data[6]);
+   memcpy(NetServerEther, arp-ar_data[0], 6);
+   debug(Got good RARP\n);
+   net_auto_load();
+   }
 }
 
 
@@ -70,7 +89,6 @@ RarpTimeout(void)
 void
 RarpRequest(void)
 {
-   int i;
uchar *pkt;
ARP_t *rarp;
 
@@ -90,12 +108,10 @@ RarpRequest(void)
memcpy(rarp-ar_data[6],  NetOurIP,   4); /* source IP addr */
/* dest ET addr = source ET addr ??*/
memcpy(rarp-ar_data[10], NetOurEther, 6);
-   /* dest. IP addr set to broadcast */
-   for (i = 0; i = 3; i++)
-   rarp-ar_data[16 + i] = 0xff;
+   /* dest IP addr set to broadcast */
+   memset(rarp-ar_data[16], 0xff,4);
 
NetSendPacket(NetTxPacket, (pkt - NetTxPacket) + ARP_HDR_SIZE);
 
NetSetTimeout(TIMEOUT, RarpTimeout);
-   NetSetHandler(RarpHandler);
 }
diff --git a/net/rarp.h b/net/rarp.h
index 4e92d80..0d728dc 100644
--- a/net/rarp.h
+++ b/net/rarp.h
@@ -37,6 +37,7 @@
 
 extern int RarpTry;
 
+extern void RarpReceive(IP_t *ip, unsigned len);
 extern void RarpRequest(void); /* Send a RARP request */
 
 /**/
-- 
1.6.0.2

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot