diff --git a/src/debug/netboot.c b/src/debug/netboot.c
index 3d620c4..10b453c 100644
--- a/src/debug/netboot.c
+++ b/src/debug/netboot.c
@@ -22,7 +22,7 @@
 #include "drivers/console/display.h"
 #include "netboot/netboot.h"
 #include "netboot/params.h"
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 /*
  * These are the real implementations for developer-build features that override
diff --git a/src/drivers/net/net.c b/src/drivers/net/net.c
index c763781..5eaa753 100644
--- a/src/drivers/net/net.c
+++ b/src/drivers/net/net.c
@@ -26,8 +26,8 @@
 
 #include "base/time.h"
 #include "drivers/net/net.h"
-#include "net/uip.h"
-#include "net/uip_arp.h"
+#include "net/uip/arp.h"
+#include "net/uip/uip.h"
 
 ListNode net_pollers;
 static ListNode net_devices;
diff --git a/src/drivers/net/net.h b/src/drivers/net/net.h
index 953f4cf..6422c53 100644
--- a/src/drivers/net/net.h
+++ b/src/drivers/net/net.h
@@ -26,7 +26,7 @@
 #include <stdint.h>
 
 #include "base/list.h"
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 typedef struct NetDevice {
 	ListNode list_node;
diff --git a/src/module/netboot.c b/src/module/netboot.c
index a0c95a8..8b41c6e 100644
--- a/src/module/netboot.c
+++ b/src/module/netboot.c
@@ -32,7 +32,7 @@
 #include "drivers/net/net.h"
 #include "drivers/timer/timer.h"
 #include "module/module.h"
-#include "net/uip.h"
+#include "net/uip/uip.h"
 #include "netboot/netboot.h"
 #include "netboot/params.h"
 #include "vboot/vbnv.h"
diff --git a/src/module/uefi/netboot.c b/src/module/uefi/netboot.c
index 80c119d..23cfbf1 100644
--- a/src/module/uefi/netboot.c
+++ b/src/module/uefi/netboot.c
@@ -27,7 +27,7 @@
 #include "drivers/timer/timer.h"
 #include "module/module.h"
 #include "module/uefi/fwdb.h"
-#include "net/uip.h"
+#include "net/uip/uip.h"
 #include "netboot/netboot.h"
 #include "netboot/params.h"
 
diff --git a/src/net/Kconfig b/src/net/Kconfig
index da9bece..50e41fe 100644
--- a/src/net/Kconfig
+++ b/src/net/Kconfig
@@ -1,373 +1,17 @@
-## Copyright (c) 2001-2003, Adam Dunkels.
-## Copyright 2013 Google Inc.
-## All rights reserved.
 ##
-## Redistribution and use in source and binary forms, with or without
-## modification, are permitted provided that the following conditions
-## are met:
-## 1. Redistributions of source code must retain the above copyright
-##    notice, this list of conditions and the following disclaimer.
-## 2. Redistributions in binary form must reproduce the above copyright
-##    notice, this list of conditions and the following disclaimer in the
-##    documentation and/or other materials provided with the distribution.
-## 3. The name of the author may not be used to endorse or promote
-##    products derived from this software without specific prior
-##    written permission.
+## Copyright 2016 Google Inc.  All rights reserved.
 ##
-## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-## OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-## WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-## ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-## DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-## GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-## WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-## NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
 ##
-## This file is part of the uIP TCP/IP stack.
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 
-menu "Static configuration options"
-
-config UIP_IPADDR0
-	int "Default IP octet 0"
-	default 0
-
-config UIP_IPADDR1
-	int "Default IP octet 1"
-	default 0
-
-config UIP_IPADDR2
-	int "Default IP octet 2"
-	default 0
-
-config UIP_IPADDR3
-	int "Default IP octet 3"
-	default 0
-
-config UIP_DRIPADDR0
-	int "Default default router IP octet 0"
-	default 0
-
-config UIP_DRIPADDR1
-	int "Default default router IP octet 1"
-	default 0
-
-config UIP_DRIPADDR2
-	int "Default default router IP octet 2"
-	default 0
-
-config UIP_DRIPADDR3
-	int "Default default router IP octet 3"
-	default 0
-
-config UIP_NETMASK0
-	int "Default netmask octet 0"
-	default 0
-
-config UIP_NETMASK1
-	int "Default netmask octet 1"
-	default 0
-
-config UIP_NETMASK2
-	int "Default netmask octet 2"
-	default 0
-
-config UIP_NETMASK3
-	int "Default netmask octet 3"
-	default 0
-
-config UIP_PINGADDRCONF
-	bool "Ping IP address assignment"
-	default n
-	help
-	  uIP uses a "ping" packet for setting its own IP address if this
-	  option is set. If so, uIP will start with an empty IP address and
-	  the destination IP address of the first incoming "ping" (ICMP echo)
-	  packet will be used for setting the hosts IP address.
-
-	  This works only if fixed IP configuration is disabled.
-
-config UIP_ETHADDR0
-	hex "Default MAC address octet 0"
-	default 0
-
-config UIP_ETHADDR1
-	hex "Default MAC address octet 1"
-	default 0
-
-config UIP_ETHADDR2
-	hex "Default MAC address octet 2"
-	default 0
-
-config UIP_ETHADDR3
-	hex "Default MAC address octet 3"
-	default 0
-
-config UIP_ETHADDR4
-	hex "Default MAC address octet 4"
-	default 0
-
-config UIP_ETHADDR5
-	hex "Default MAC address octet 5"
-	default 0
-
-endmenu
-
-menu "IP configuration options"
-
-config UIP_TTL
-	int "IP TTL (time to live)"
-	default 64
-	help
-	  The IP TTL (time to live) of IP packets sent by uIP.
-
-	  This should normally not be changed.
-
-config UIP_REASSEMBLY
-	bool "Support for IP packet reassembly"
-	default n
-	help
-	  Turn on support for IP packet reassembly.
-
-	  uIP supports reassembly of fragmented IP packets. This features
-	  requires an additional amount of RAM to hold the reassembly buffer
-	  and the reassembly code size is approximately 700 bytes.  The
-	  reassembly buffer is of the same size as the uip_buf buffer
-	  (configured by UIP_BUFSIZE).
-
-	  IP packet reassembly is not heavily tested.
-
-config UIP_REASS_MAXAGE
-	int "IP fragment reassembly max age (seconds)"
-	depends on UIP_REASSEMBLY
-	default 60
-	help
-	  The maximum time an IP fragment should wait in the reassembly
-	  buffer before it is dropped.
-
-config UIP_LINK_MTU
-	int "Maximum transmission unit at the IP layer"
-	default 1280
-
-endmenu
-
-menu "UDP configuration options"
-
-config UIP_UDP
-	bool "UDP support"
-	default y
-
-config UIP_UDP_CHECKSUMS
-	bool "UDP checksums"
-	depends on UIP_UDP
-	default y
-	help
-	  Toggles if UDP checksums should be used or not.
-
-	  Support for UDP checksums is currently not included in uIP,
-	  so this option has no function.
-
-config UIP_UDP_CONNS
-	int "Maximum number of concurrent UDP connections"
-	depends on UIP_UDP
-	default 10
-
-endmenu
-
-menu "TCP configuration options"
-
-config UIP_TCP
-	bool "TCP support"
-	default y
-
-config UIP_ACTIVE_OPEN
-	bool "Support for opening connections"
-	depends on UIP_TCP
-	default y
-	help
-	  Determines if support for opening connections from uIP should be
-	  compiled in.
-
-	  If the applications that are running on top of uIP for this project
-	  do not need to open outgoing TCP connections, this configuration
-	  option can be turned off to reduce the code size of uIP.
-
-config UIP_CONNS
-	int "Maximum number of concurrent TCP connections"
-	depends on UIP_TCP
-	default 10
-	help
-	  The maximum number of simultaneously open TCP connections.
-
-	  Since the TCP connections are statically allocated, turning this
-	  configuration knob down results in less RAM used. Each TCP
-	  connection requires approximately 30 bytes of memory.
-
-config UIP_LISTENPORTS
-	int "Maximum number of simultaneously listening TCP ports"
-	depends on UIP_TCP
-	default 20
-	help
-	  The maximum number of simultaneously listening TCP ports.
-
-	  Each listening TCP port requires 2 bytes of memory.
-
-config UIP_RTO
-	int "Retransmission time out (timer pulses)"
-	depends on UIP_TCP
-	default 3
-	help
-	  The initial retransmission timeout counted in timer pulses.
-
-	  This should not be changed.
-
-config UIP_MAXRTX
-	int "Max segment retransmissions"
-	depends on UIP_TCP
-	default 8
-	help
-	  The maximum number of times a segment should be retransmitted
-	  before the connection should be aborted.
-
-	  This should not be changed.
-
-config UIP_MAXSYNRTX
-	int "Max SYN retransmissions"
-	depends on UIP_TCP
-	default 5
-	help
-	  The maximum number of times a SYN segment should be retransmitted
-	  before a connection request should be deemed to have been
-	  unsuccessful.
-
-	  This should not need to be changed.
-
-config UIP_MAX_TCP_MSS
-	bool "Use the largest TCP maximum segment size"
-	depends on UIP_TCP
-	default y
-	help
-	  The default is UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN
-
-config UIP_TCP_MSS
-	int "TCP maximum segment size"
-	depends on !UIP_MAX_TCP_MSS
-	help
-	  The TCP maximum segment size.
-
-	  This is should not be to set to more than
-	  UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN.
-
-config UIP_DEFAULT_RECEIVE_WINDOW
-	bool "Use the default advertised receive window size"
-	depends on UIP_TCP
-	default y
-	help
-	  The default is UIP_TCP_MSS
-
-config UIP_RECEIVE_WINDOW
-	int "Advertised receive window size"
-	depends on !UIP_DEFAULT_RECEIVE_WINDOW
-	help
-	  Should be set low (i.e., to the size of the uip_buf buffer) if the
-	  application is slow to process incoming data, or high (32768 bytes)
-	  if the application processes data quickly.
-
-config UIP_TIME_WAIT_TIMEOUT
-	int "Time to be in the TIME_WAIT state"
-	depends on UIP_TCP
-	default 120
-	help
-	  How long a connection should stay in the TIME_WAIT state.
-
-	  This can be reduced for faster entry into power saving modes.
-
-endmenu
-
-menu "ARP configuration options"
-
-config UIP_ARPTAB_SIZE
-	int "Size of the ARP table"
-	default 8
-	help
-	  The size of the ARP table.
-
-	  This option should be set to a larger value if this uIP node will
-	  have many connections from the local network.
-
-config UIP_ARP_MAXAGE
-	int "Maximum age of ARP table entries in 10s of seconds"
-	default 120
-	help
-	  The maximum age of ARP table entries measured in 10s of seconds.
-
-	  An UIP_ARP_MAXAGE of 120 corresponds to 20 minutes (BSD default).
-
-endmenu
-
-menu "General configuration options"
-
-config UIP_DEFAULT_BUFSIZE
-	bool "Use the default packet buffer size"
-	default y
-	help
-	  The default is UIP_LINK_MTU + UIP_LLH_LEN
-
-config UIP_BUFSIZE
-	int "Size of the packet buffer"
-	depends on !UIP_DEFAULT_BUFSIZE
-	help
-	  The size of the uIP packet buffer.
-
-	  The uIP packet buffer should not be smaller than 60 bytes, and does
-	  not need to be larger than 1514 bytes. Lower size results in lower
-	  TCP throughput, larger size results in higher TCP throughput.
-
-config UIP_STATISTICS
-	bool "Statistics support"
-	default n
-	help
-	  Determines if statistics support should be compiled in.
-
-	  The statistics is useful for debugging and to show the user.
-
-config UIP_LOGGING
-	bool "Log certain events"
-	default n
-	help
-	  Determines if logging of certain events should be compiled in.
-
-	  This is useful mostly for debugging. The function uip_log()
-	  must be implemented to suit the architecture of the project, if
-	  logging is turned on.
-
-config UIP_BROADCAST
-	bool "Broadcast support"
-	default n
-	help
-	  Determines if uIP will pass received broadcast/multicast IPv4 UDP
-	  packets to the application (all multicast addresses are treated as
-	  broadcast in that case, there is no IGMP support). uIP can always
-	  send outgoing broadcast packets regardless of this option.
-
-config UIP_LLH_LEN
-	int "Link level header length"
-	default 14
-	help
-	  The link level header length.
-
-	  This is the offset into the uip_buf where the IP header can be
-	  found. For Ethernet, this should be set to 14. For SLIP, this
-	  should be set to 0.
-
-	  We probably won't use this constant for other link layers than
-	  ethernet as they have variable header length (this is due to
-	  variable number and type of address fields and to optional security
-	  features)
-
-	  E.g.: 802.15.4 -> 2 + (1/2*4/8) + 0/5/6/10/14
-	        802.11 -> 4 + (6*3/4) + 2
-
-endmenu
+source src/net/uip/Kconfig
diff --git a/src/net/Makefile.inc b/src/net/Makefile.inc
index 2b0d577..21c2df6 100644
--- a/src/net/Makefile.inc
+++ b/src/net/Makefile.inc
@@ -1,5 +1,5 @@
 ##
-## Copyright (c) 2013 Google Inc.
+## Copyright (c) 2016 Google Inc.
 ##
 ## This program is free software; you can redistribute it and/or modify
 ## it under the terms of the GNU General Public License as published by
@@ -15,12 +15,6 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-uip-c-ccopts := -fno-strict-aliasing
-
-uip-y += uip_arp.c
-uip-y += uip.c
-uip-y += uip_debug.c
-uip-y += uiplib.c
-uip-$(CONFIG_UIP_UDP) += uip_udp_packet.c
+subdirs-y += uip
 
 net-y += net.c
diff --git a/src/net/uip/Kconfig b/src/net/uip/Kconfig
new file mode 100644
index 0000000..da9bece
--- /dev/null
+++ b/src/net/uip/Kconfig
@@ -0,0 +1,373 @@
+## Copyright (c) 2001-2003, Adam Dunkels.
+## Copyright 2013 Google Inc.
+## All rights reserved.
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions
+## are met:
+## 1. Redistributions of source code must retain the above copyright
+##    notice, this list of conditions and the following disclaimer.
+## 2. Redistributions in binary form must reproduce the above copyright
+##    notice, this list of conditions and the following disclaimer in the
+##    documentation and/or other materials provided with the distribution.
+## 3. The name of the author may not be used to endorse or promote
+##    products derived from this software without specific prior
+##    written permission.
+##
+## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+## OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+## WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+## ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+## DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+## GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+## WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+## NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+## This file is part of the uIP TCP/IP stack.
+
+menu "Static configuration options"
+
+config UIP_IPADDR0
+	int "Default IP octet 0"
+	default 0
+
+config UIP_IPADDR1
+	int "Default IP octet 1"
+	default 0
+
+config UIP_IPADDR2
+	int "Default IP octet 2"
+	default 0
+
+config UIP_IPADDR3
+	int "Default IP octet 3"
+	default 0
+
+config UIP_DRIPADDR0
+	int "Default default router IP octet 0"
+	default 0
+
+config UIP_DRIPADDR1
+	int "Default default router IP octet 1"
+	default 0
+
+config UIP_DRIPADDR2
+	int "Default default router IP octet 2"
+	default 0
+
+config UIP_DRIPADDR3
+	int "Default default router IP octet 3"
+	default 0
+
+config UIP_NETMASK0
+	int "Default netmask octet 0"
+	default 0
+
+config UIP_NETMASK1
+	int "Default netmask octet 1"
+	default 0
+
+config UIP_NETMASK2
+	int "Default netmask octet 2"
+	default 0
+
+config UIP_NETMASK3
+	int "Default netmask octet 3"
+	default 0
+
+config UIP_PINGADDRCONF
+	bool "Ping IP address assignment"
+	default n
+	help
+	  uIP uses a "ping" packet for setting its own IP address if this
+	  option is set. If so, uIP will start with an empty IP address and
+	  the destination IP address of the first incoming "ping" (ICMP echo)
+	  packet will be used for setting the hosts IP address.
+
+	  This works only if fixed IP configuration is disabled.
+
+config UIP_ETHADDR0
+	hex "Default MAC address octet 0"
+	default 0
+
+config UIP_ETHADDR1
+	hex "Default MAC address octet 1"
+	default 0
+
+config UIP_ETHADDR2
+	hex "Default MAC address octet 2"
+	default 0
+
+config UIP_ETHADDR3
+	hex "Default MAC address octet 3"
+	default 0
+
+config UIP_ETHADDR4
+	hex "Default MAC address octet 4"
+	default 0
+
+config UIP_ETHADDR5
+	hex "Default MAC address octet 5"
+	default 0
+
+endmenu
+
+menu "IP configuration options"
+
+config UIP_TTL
+	int "IP TTL (time to live)"
+	default 64
+	help
+	  The IP TTL (time to live) of IP packets sent by uIP.
+
+	  This should normally not be changed.
+
+config UIP_REASSEMBLY
+	bool "Support for IP packet reassembly"
+	default n
+	help
+	  Turn on support for IP packet reassembly.
+
+	  uIP supports reassembly of fragmented IP packets. This features
+	  requires an additional amount of RAM to hold the reassembly buffer
+	  and the reassembly code size is approximately 700 bytes.  The
+	  reassembly buffer is of the same size as the uip_buf buffer
+	  (configured by UIP_BUFSIZE).
+
+	  IP packet reassembly is not heavily tested.
+
+config UIP_REASS_MAXAGE
+	int "IP fragment reassembly max age (seconds)"
+	depends on UIP_REASSEMBLY
+	default 60
+	help
+	  The maximum time an IP fragment should wait in the reassembly
+	  buffer before it is dropped.
+
+config UIP_LINK_MTU
+	int "Maximum transmission unit at the IP layer"
+	default 1280
+
+endmenu
+
+menu "UDP configuration options"
+
+config UIP_UDP
+	bool "UDP support"
+	default y
+
+config UIP_UDP_CHECKSUMS
+	bool "UDP checksums"
+	depends on UIP_UDP
+	default y
+	help
+	  Toggles if UDP checksums should be used or not.
+
+	  Support for UDP checksums is currently not included in uIP,
+	  so this option has no function.
+
+config UIP_UDP_CONNS
+	int "Maximum number of concurrent UDP connections"
+	depends on UIP_UDP
+	default 10
+
+endmenu
+
+menu "TCP configuration options"
+
+config UIP_TCP
+	bool "TCP support"
+	default y
+
+config UIP_ACTIVE_OPEN
+	bool "Support for opening connections"
+	depends on UIP_TCP
+	default y
+	help
+	  Determines if support for opening connections from uIP should be
+	  compiled in.
+
+	  If the applications that are running on top of uIP for this project
+	  do not need to open outgoing TCP connections, this configuration
+	  option can be turned off to reduce the code size of uIP.
+
+config UIP_CONNS
+	int "Maximum number of concurrent TCP connections"
+	depends on UIP_TCP
+	default 10
+	help
+	  The maximum number of simultaneously open TCP connections.
+
+	  Since the TCP connections are statically allocated, turning this
+	  configuration knob down results in less RAM used. Each TCP
+	  connection requires approximately 30 bytes of memory.
+
+config UIP_LISTENPORTS
+	int "Maximum number of simultaneously listening TCP ports"
+	depends on UIP_TCP
+	default 20
+	help
+	  The maximum number of simultaneously listening TCP ports.
+
+	  Each listening TCP port requires 2 bytes of memory.
+
+config UIP_RTO
+	int "Retransmission time out (timer pulses)"
+	depends on UIP_TCP
+	default 3
+	help
+	  The initial retransmission timeout counted in timer pulses.
+
+	  This should not be changed.
+
+config UIP_MAXRTX
+	int "Max segment retransmissions"
+	depends on UIP_TCP
+	default 8
+	help
+	  The maximum number of times a segment should be retransmitted
+	  before the connection should be aborted.
+
+	  This should not be changed.
+
+config UIP_MAXSYNRTX
+	int "Max SYN retransmissions"
+	depends on UIP_TCP
+	default 5
+	help
+	  The maximum number of times a SYN segment should be retransmitted
+	  before a connection request should be deemed to have been
+	  unsuccessful.
+
+	  This should not need to be changed.
+
+config UIP_MAX_TCP_MSS
+	bool "Use the largest TCP maximum segment size"
+	depends on UIP_TCP
+	default y
+	help
+	  The default is UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN
+
+config UIP_TCP_MSS
+	int "TCP maximum segment size"
+	depends on !UIP_MAX_TCP_MSS
+	help
+	  The TCP maximum segment size.
+
+	  This is should not be to set to more than
+	  UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN.
+
+config UIP_DEFAULT_RECEIVE_WINDOW
+	bool "Use the default advertised receive window size"
+	depends on UIP_TCP
+	default y
+	help
+	  The default is UIP_TCP_MSS
+
+config UIP_RECEIVE_WINDOW
+	int "Advertised receive window size"
+	depends on !UIP_DEFAULT_RECEIVE_WINDOW
+	help
+	  Should be set low (i.e., to the size of the uip_buf buffer) if the
+	  application is slow to process incoming data, or high (32768 bytes)
+	  if the application processes data quickly.
+
+config UIP_TIME_WAIT_TIMEOUT
+	int "Time to be in the TIME_WAIT state"
+	depends on UIP_TCP
+	default 120
+	help
+	  How long a connection should stay in the TIME_WAIT state.
+
+	  This can be reduced for faster entry into power saving modes.
+
+endmenu
+
+menu "ARP configuration options"
+
+config UIP_ARPTAB_SIZE
+	int "Size of the ARP table"
+	default 8
+	help
+	  The size of the ARP table.
+
+	  This option should be set to a larger value if this uIP node will
+	  have many connections from the local network.
+
+config UIP_ARP_MAXAGE
+	int "Maximum age of ARP table entries in 10s of seconds"
+	default 120
+	help
+	  The maximum age of ARP table entries measured in 10s of seconds.
+
+	  An UIP_ARP_MAXAGE of 120 corresponds to 20 minutes (BSD default).
+
+endmenu
+
+menu "General configuration options"
+
+config UIP_DEFAULT_BUFSIZE
+	bool "Use the default packet buffer size"
+	default y
+	help
+	  The default is UIP_LINK_MTU + UIP_LLH_LEN
+
+config UIP_BUFSIZE
+	int "Size of the packet buffer"
+	depends on !UIP_DEFAULT_BUFSIZE
+	help
+	  The size of the uIP packet buffer.
+
+	  The uIP packet buffer should not be smaller than 60 bytes, and does
+	  not need to be larger than 1514 bytes. Lower size results in lower
+	  TCP throughput, larger size results in higher TCP throughput.
+
+config UIP_STATISTICS
+	bool "Statistics support"
+	default n
+	help
+	  Determines if statistics support should be compiled in.
+
+	  The statistics is useful for debugging and to show the user.
+
+config UIP_LOGGING
+	bool "Log certain events"
+	default n
+	help
+	  Determines if logging of certain events should be compiled in.
+
+	  This is useful mostly for debugging. The function uip_log()
+	  must be implemented to suit the architecture of the project, if
+	  logging is turned on.
+
+config UIP_BROADCAST
+	bool "Broadcast support"
+	default n
+	help
+	  Determines if uIP will pass received broadcast/multicast IPv4 UDP
+	  packets to the application (all multicast addresses are treated as
+	  broadcast in that case, there is no IGMP support). uIP can always
+	  send outgoing broadcast packets regardless of this option.
+
+config UIP_LLH_LEN
+	int "Link level header length"
+	default 14
+	help
+	  The link level header length.
+
+	  This is the offset into the uip_buf where the IP header can be
+	  found. For Ethernet, this should be set to 14. For SLIP, this
+	  should be set to 0.
+
+	  We probably won't use this constant for other link layers than
+	  ethernet as they have variable header length (this is due to
+	  variable number and type of address fields and to optional security
+	  features)
+
+	  E.g.: 802.15.4 -> 2 + (1/2*4/8) + 0/5/6/10/14
+	        802.11 -> 4 + (6*3/4) + 2
+
+endmenu
diff --git a/src/net/uip/Makefile.inc b/src/net/uip/Makefile.inc
new file mode 100644
index 0000000..911ad13
--- /dev/null
+++ b/src/net/uip/Makefile.inc
@@ -0,0 +1,25 @@
+##
+## Copyright (c) 2013 Google Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+subdirs-$(CONFIG_UIP_UDP) += udp
+
+uip-c-ccopts := -fno-strict-aliasing
+
+uip-y += arp.c
+uip-y += debug.c
+uip-y += lib.c
+uip-y += uip.c
diff --git a/src/net/uip_arch.h b/src/net/uip/arch.h
similarity index 94%
rename from src/net/uip_arch.h
rename to src/net/uip/arch.h
index fa7a3f0..a8ddb88 100644
--- a/src/net/uip_arch.h
+++ b/src/net/uip/arch.h
@@ -12,7 +12,7 @@
  *
  * The IP checksum calculation is the most computationally expensive
  * operation in the TCP/IP stack and it therefore pays off to
- * implement this in efficient assembler. The purpose of the uip_arch
+ * implement this in efficient assembler. The purpose of the arch
  * module is to let the checksum functions to be implemented in
  * architecture specific assembler.
  *
@@ -54,14 +54,14 @@
  *
  * This file is part of the uIP TCP/IP stack.
  *
- * $Id: uip_arch.h,v 1.1 2006/06/17 22:41:19 adamdunkels Exp $
+ * $Id: arch.h,v 1.1 2006/06/17 22:41:19 adamdunkels Exp $
  *
  */
 
-#ifndef __UIP_ARCH_H__
-#define __UIP_ARCH_H__
+#ifndef __NET_UIP_ARCH_H__
+#define __NET_UIP_ARCH_H__
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 /**
  * Carry out a 32-bit addition.
@@ -135,4 +135,4 @@
 /** @} */
 /** @} */
 
-#endif /* __UIP_ARCH_H__ */
+#endif /* __NET_UIP_ARCH_H__ */
diff --git a/src/net/uip_arp.c b/src/net/uip/arp.c
similarity index 99%
rename from src/net/uip_arp.c
rename to src/net/uip/arp.c
index 7a522f7..4070058 100644
--- a/src/net/uip_arp.c
+++ b/src/net/uip/arp.c
@@ -59,7 +59,7 @@
  */
 
 
-#include "net/uip_arp.h"
+#include "net/uip/arp.h"
 
 #include <string.h>
 
diff --git a/src/net/uip_arp.h b/src/net/uip/arp.h
similarity index 96%
rename from src/net/uip_arp.h
rename to src/net/uip/arp.h
index 3f30b16..6eb4453 100644
--- a/src/net/uip_arp.h
+++ b/src/net/uip/arp.h
@@ -45,14 +45,14 @@
  *
  * This file is part of the uIP TCP/IP stack.
  *
- * $Id: uip_arp.h,v 1.2 2006/08/26 23:58:45 oliverschmidt Exp $
+ * $Id: arp.h,v 1.2 2006/08/26 23:58:45 oliverschmidt Exp $
  *
  */
 
-#ifndef __UIP_ARP_H__
-#define __UIP_ARP_H__
+#ifndef __NET_UIP_ARP_H__
+#define __NET_UIP_ARP_H__
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 
 extern struct uip_eth_addr uip_ethaddr;
@@ -140,5 +140,5 @@
 /** @} */
 
 
-#endif /* __UIP_ARP_H__ */
+#endif /* __NET_UIP_ARP_H__ */
 /** @} */
diff --git a/src/net/uip_debug.c b/src/net/uip/debug.c
similarity index 98%
rename from src/net/uip_debug.c
rename to src/net/uip/debug.c
index 3eb670a..060618d 100644
--- a/src/net/uip_debug.c
+++ b/src/net/uip/debug.c
@@ -37,7 +37,7 @@
  *         Joakim Eriksson <joakime@sics.se>
  */
 
-#include "net/uip_debug.h"
+#include "net/uip/debug.h"
 
 /*---------------------------------------------------------------------------*/
 void
diff --git a/src/net/uip_debug.h b/src/net/uip/debug.h
similarity index 94%
rename from src/net/uip_debug.h
rename to src/net/uip/debug.h
index bee128f..f563859 100644
--- a/src/net/uip_debug.h
+++ b/src/net/uip/debug.h
@@ -28,7 +28,7 @@
  *
  * This file is part of the Contiki operating system.
  *
- * $Id: uip_debug.h,v 1.1 2010/04/30 13:20:57 joxe Exp $
+ * $Id: debug.h,v 1.1 2010/04/30 13:20:57 joxe Exp $
  */
 /**
  * \file
@@ -39,10 +39,10 @@
  *         Joakim Eriksson <joakime@sics.se>
  */
 
-#ifndef UIP_DEBUG_H
-#define UIP_DEBUG_H
+#ifndef __NET_UIP_DEBUG_H__
+#define __NET_UIP_DEBUG_H__
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 #include <stdio.h>
 
 void uip_debug_ipaddr_print(const uip_ipaddr_t *addr);
@@ -85,4 +85,4 @@
 #define PRINTLLADDR(lladdr)
 #endif /* (DEBUG) & DEBUG_PRINT */
 
-#endif
+#endif /* __NET_UIP_DEBUG_H__ */
diff --git a/src/net/uiplib.c b/src/net/uip/lib.c
similarity index 96%
rename from src/net/uiplib.c
rename to src/net/uip/lib.c
index 2d9b7dc..be08d57 100644
--- a/src/net/uiplib.c
+++ b/src/net/uip/lib.c
@@ -34,12 +34,12 @@
  */
 
 
-#include "net/uip.h"
-#include "net/uiplib.h"
+#include "net/uip/uip.h"
+#include "net/uip/lib.h"
 #include <string.h>
 
 #define DEBUG DEBUG_NONE
-#include "net/uip_debug.h"
+#include "net/uip/debug.h"
 
 /*---------------------------------------------------------------------------*/
 int uiplib_ipaddrconv(const char *addrstr, uip_ipaddr_t *ipaddr)
diff --git a/src/net/uiplib.h b/src/net/uip/lib.h
similarity index 95%
rename from src/net/uiplib.h
rename to src/net/uip/lib.h
index 963c43d..f5475e7 100644
--- a/src/net/uiplib.h
+++ b/src/net/uip/lib.h
@@ -40,10 +40,10 @@
  * $Id: uiplib.h,v 1.3 2010/05/31 15:22:08 nifi Exp $
  *
  */
-#ifndef __UIPLIB_H__
-#define __UIPLIB_H__
+#ifndef __NET_UIP_LIB_H__
+#define __NET_UIP_LIB_H__
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 /**
  * \addtogroup uipconvfunc
@@ -71,4 +71,4 @@
 
 /** @} */
 
-#endif /* __UIPLIB_H__ */
+#endif /* __NET_UIP_LIB_H__ */
diff --git a/src/net/uipopt.h b/src/net/uip/opt.h
similarity index 95%
rename from src/net/uipopt.h
rename to src/net/uip/opt.h
index f5a3716..daf8587 100644
--- a/src/net/uipopt.h
+++ b/src/net/uip/opt.h
@@ -10,7 +10,7 @@
  *
  * This file is used for tweaking various configuration options for
  * uIP. You should make a copy of this file into one of your project's
- * directories instead of editing this example "uipopt.h" file that
+ * directories instead of editing this example "opt.h" file that
  * comes with the uIP distribution.
  */
 
@@ -44,12 +44,12 @@
  *
  * This file is part of the uIP TCP/IP stack.
  *
- * $Id: uipopt.h,v 1.14 2010/12/24 00:39:04 dak664 Exp $
+ * $Id: opt.h,v 1.14 2010/12/24 00:39:04 dak664 Exp $
  *
  */
 
-#ifndef __UIPOPT_H__
-#define __UIPOPT_H__
+#ifndef __NET_UIP_OPT_H__
+#define __NET_UIP_OPT_H__
 
 #include <stdint.h>
 
@@ -161,6 +161,6 @@
 {
 } uip_udp_appstate_t;
 
-#endif /* __UIPOPT_H__ */
+#endif /* __NET_UIP_OPT_H__ */
 /** @} */
 /** @} */
diff --git a/src/net/uip/udp/Makefile.inc b/src/net/uip/udp/Makefile.inc
new file mode 100644
index 0000000..73006ea
--- /dev/null
+++ b/src/net/uip/udp/Makefile.inc
@@ -0,0 +1,18 @@
+##
+## Copyright (c) 2013 Google Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+##
+
+uip-y += packet.c
diff --git a/src/net/uip_udp_packet.c b/src/net/uip/udp/packet.c
similarity index 97%
rename from src/net/uip_udp_packet.c
rename to src/net/uip/udp/packet.c
index 6b85cbb..53265b0 100644
--- a/src/net/uip_udp_packet.c
+++ b/src/net/uip/udp/packet.c
@@ -43,8 +43,8 @@
 extern uint16_t uip_slen;
 
 #include "drivers/net/net.h"
-#include "net/uip_arp.h"
-#include "net/uip_udp_packet.h"
+#include "net/uip/arp.h"
+#include "net/uip/udp/packet.h"
 
 #include <string.h>
 
diff --git a/src/net/uip_udp_packet.h b/src/net/uip/udp/packet.h
similarity index 90%
rename from src/net/uip_udp_packet.h
rename to src/net/uip/udp/packet.h
index 34f469d..4d58a2b 100644
--- a/src/net/uip_udp_packet.h
+++ b/src/net/uip/udp/packet.h
@@ -28,7 +28,7 @@
  *
  * This file is part of the Contiki operating system.
  *
- * $Id: uip_udp_packet.h,v 1.3 2009/10/18 22:02:01 adamdunkels Exp $
+ * $Id: packet.h,v 1.3 2009/10/18 22:02:01 adamdunkels Exp $
  */
 
 /**
@@ -38,13 +38,13 @@
  *         Adam Dunkels <adam@sics.se>
  */
 
-#ifndef __UIP_UDP_PACKET_H__
-#define __UIP_UDP_PACKET_H__
+#ifndef __NET_UIP_UDP_PACKET_H__
+#define __NET_UIP_UDP_PACKET_H__
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 void uip_udp_packet_send(struct uip_udp_conn *c, const void *data, int len);
 void uip_udp_packet_sendto(struct uip_udp_conn *c, const void *data, int len,
 			   const uip_ipaddr_t *toaddr, uint16_t toport);
 
-#endif /* __UIP_UDP_PACKET_H__ */
+#endif /* __NET_UIP_UDP_PACKET_H__ */
diff --git a/src/net/uip.c b/src/net/uip/uip.c
similarity index 99%
rename from src/net/uip.c
rename to src/net/uip/uip.c
index f96b4e2..962b9cd 100644
--- a/src/net/uip.c
+++ b/src/net/uip/uip.c
@@ -74,10 +74,10 @@
 #include <string.h>
 
 #include "base/algorithm.h"
-#include "net/uip.h"
-#include "net/uipopt.h"
-#include "net/uip_arp.h"
-#include "net/uip_arch.h"
+#include "net/uip/arch.h"
+#include "net/uip/arp.h"
+#include "net/uip/opt.h"
+#include "net/uip/uip.h"
 
 /*---------------------------------------------------------------------------*/
 /* Variable definitions. */
diff --git a/src/net/uip.h b/src/net/uip/uip.h
similarity index 99%
rename from src/net/uip.h
rename to src/net/uip/uip.h
index 34d735f..976ce1d 100644
--- a/src/net/uip.h
+++ b/src/net/uip/uip.h
@@ -51,10 +51,10 @@
  *
  */
 
-#ifndef __UIP_H__
-#define __UIP_H__
+#ifndef __NET_UIP_UIP_H__
+#define __NET_UIP_UIP_H__
 
-#include "net/uipopt.h"
+#include "net/uip/opt.h"
 
 /**
  * Representation of an IP address.
@@ -1790,7 +1790,7 @@
 uint16_t uip_icmp6chksum(void);
 
 
-#endif /* __UIP_H__ */
+#endif /* __NET_UIP_UIP_H__ */
 
 
 /** @} */
diff --git a/src/netboot/dhcp.c b/src/netboot/dhcp.c
index f0e197c..721346a 100644
--- a/src/netboot/dhcp.c
+++ b/src/netboot/dhcp.c
@@ -28,9 +28,9 @@
 #include "base/xalloc.h"
 #include "drivers/net/net.h"
 #include "net/net.h"
-#include "net/uip.h"
-#include "net/uip_arp.h"
-#include "net/uip_udp_packet.h"
+#include "net/uip/arp.h"
+#include "net/uip/udp/packet.h"
+#include "net/uip/uip.h"
 #include "netboot/dhcp.h"
 
 typedef enum DhcpOpcode
diff --git a/src/netboot/dhcp.h b/src/netboot/dhcp.h
index dde59cd..408183b 100644
--- a/src/netboot/dhcp.h
+++ b/src/netboot/dhcp.h
@@ -25,7 +25,7 @@
 
 #include <stdint.h>
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 int dhcp_request(uip_ipaddr_t *next_ip, uip_ipaddr_t *server_ip,
 		 const char **bootfile);
diff --git a/src/netboot/netboot.c b/src/netboot/netboot.c
index f51d807..f399419 100644
--- a/src/netboot/netboot.c
+++ b/src/netboot/netboot.c
@@ -24,8 +24,8 @@
 
 #include "base/algorithm.h"
 #include "drivers/net/net.h"
-#include "net/uip.h"
-#include "net/uip_arp.h"
+#include "net/uip/arp.h"
+#include "net/uip/uip.h"
 #include "netboot/dhcp.h"
 #include "netboot/netboot.h"
 #include "netboot/params.h"
diff --git a/src/netboot/netboot.h b/src/netboot/netboot.h
index 241d3e7..314bfe7 100644
--- a/src/netboot/netboot.h
+++ b/src/netboot/netboot.h
@@ -20,7 +20,7 @@
 #ifndef __NETBOOT_NETBOOT_H__
 #define __NETBOOT_NETBOOT_H__
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 // argsfile takes precedence before args. All parameters can be NULL.
 void netboot(uip_ipaddr_t *tftp_ip, char *bootfile, char *argsfile, char *args);
diff --git a/src/netboot/params.c b/src/netboot/params.c
index edd4642..950a6a9 100644
--- a/src/netboot/params.c
+++ b/src/netboot/params.c
@@ -27,7 +27,7 @@
 #include "base/xalloc.h"
 #include "drivers/board/board.h"
 #include "drivers/storage/storage.h"
-#include "net/uip.h"
+#include "net/uip/uip.h"
 #include "netboot/params.h"
 
 static NetbootParam netboot_params[NetbootParamIdMax];
diff --git a/src/netboot/params.h b/src/netboot/params.h
index 26d387b..41b0367 100644
--- a/src/netboot/params.h
+++ b/src/netboot/params.h
@@ -26,7 +26,7 @@
 #include <stdint.h>
 
 #include "drivers/storage/storage.h"
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 typedef enum NetbootParamId
 {
diff --git a/src/netboot/tftp.c b/src/netboot/tftp.c
index 06b5717..4db4ed1 100644
--- a/src/netboot/tftp.c
+++ b/src/netboot/tftp.c
@@ -28,8 +28,8 @@
 #include "base/xalloc.h"
 #include "drivers/net/net.h"
 #include "net/net.h"
-#include "net/uip.h"
-#include "net/uip_udp_packet.h"
+#include "net/uip/udp/packet.h"
+#include "net/uip/uip.h"
 #include "netboot/tftp.h"
 
 typedef enum TftpStatus
diff --git a/src/netboot/tftp.h b/src/netboot/tftp.h
index 4dcfcec..8f807f1 100644
--- a/src/netboot/tftp.h
+++ b/src/netboot/tftp.h
@@ -23,7 +23,7 @@
 #ifndef __NETBOOT_TFTP_H__
 #define __NETBOOT_TFTP_H__
 
-#include "net/uip.h"
+#include "net/uip/uip.h"
 
 typedef enum TftpOpcode
 {
