uip_arp_ipin removed, ARP requests now result in ARP table update
diff --git a/contiki/uip/uip_arp.c b/contiki/uip/uip_arp.c
index f1430ad..3890dda 100644
--- a/contiki/uip/uip_arp.c
+++ b/contiki/uip/uip_arp.c
@@ -54,7 +54,7 @@
  *
  * This file is part of the uIP TCP/IP stack.
  *
- * $Id: uip_arp.c,v 1.10 2004/02/24 10:13:55 adamdunkels Exp $
+ * $Id: uip_arp.c,v 1.11 2004/03/25 09:46:10 adamdunkels Exp $
  *
  */
 
@@ -237,6 +237,7 @@
  * variable uip_len.
  */
 /*-----------------------------------------------------------------------------------*/
+#if 0
 void
 uip_arp_ipin(void)
 {
@@ -256,6 +257,7 @@
   
   return;
 }
+#endif /* 0 */
 /*-----------------------------------------------------------------------------------*/
 /**
  * ARP processing for incoming ARP packets.
@@ -296,6 +298,12 @@
        reply. */
     if(BUF->dipaddr[0] == uip_hostaddr[0] &&
        BUF->dipaddr[1] == uip_hostaddr[1]) {
+
+      /* First, we register the one who made the request in our ARP
+	 table, since it is likely that we will do more communication
+	 with this host in the future. */
+      uip_arp_update(BUF->sipaddr, &BUF->shwaddr);
+      
       /* The reply opcode is 2. */
       BUF->opcode = HTONS(2);
 
@@ -358,6 +366,13 @@
 uip_arp_out(void)
 {
   struct arp_entry *tabptr;
+
+  /* Only work with IP packets. */
+  if(IPBUF->ethhdr.type != HTONS(UIP_ETHTYPE_IP)) {
+    return;
+  }
+      
+  
   /* Find the destination IP address in the ARP table and construct
      the Ethernet header. If the destination IP addres isn't on the
      local network, we use the default router's IP address instead.
diff --git a/contiki/uip/uip_arp.h b/contiki/uip/uip_arp.h
index a10d639..088a676 100644
--- a/contiki/uip/uip_arp.h
+++ b/contiki/uip/uip_arp.h
@@ -45,7 +45,7 @@
  *
  * This file is part of the uIP TCP/IP stack.
  *
- * $Id: uip_arp.h,v 1.7 2003/10/14 11:12:50 adamdunkels Exp $
+ * $Id: uip_arp.h,v 1.8 2004/03/25 09:46:10 adamdunkels Exp $
  *
  */
 
@@ -87,7 +87,8 @@
    inserts a new mapping if none exists. The function assumes that an
    IP packet with an Ethernet header is present in the uip_buf buffer
    and that the length of the packet is in the uip_len variable. */
-void uip_arp_ipin(void);
+/*void uip_arp_ipin(void);*/
+#define uip_arp_ipin()
 
 /* The uip_arp_arpin() should be called when an ARP packet is received
    by the Ethernet driver. This function also assumes that the