summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-11-17 17:16:46 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-11-17 17:16:46 -0600
commitf9e2bc993048ea1d83138b3bd01cbb8c9d8a32fd (patch)
tree450f07ffcecc153d3901a5ef85af3ba4beb545dc
parent0ca9db7b7aa623f0802e5b51c59dfc9f6762c95a (diff)
downloadnuttx-f9e2bc993048ea1d83138b3bd01cbb8c9d8a32fd.tar.gz
nuttx-f9e2bc993048ea1d83138b3bd01cbb8c9d8a32fd.tar.bz2
nuttx-f9e2bc993048ea1d83138b3bd01cbb8c9d8a32fd.zip
Move IP header flags from tcp.h to ip.h and rename IP_FLAGS vs TCPFLAGS. The problem fixed here is that there IP flags were not available when TCP was disabled. The IP flags are used in ICMP and IGFMP
-rw-r--r--nuttx/include/nuttx/net/ip.h20
-rw-r--r--nuttx/include/nuttx/net/tcp.h6
-rw-r--r--nuttx/net/devif/devif_input.c2
-rw-r--r--nuttx/net/icmp/icmp_send.c4
-rw-r--r--nuttx/net/igmp/igmp_send.c4
5 files changed, 18 insertions, 18 deletions
diff --git a/nuttx/include/nuttx/net/ip.h b/nuttx/include/nuttx/net/ip.h
index 2012150a3..e316b96ad 100644
--- a/nuttx/include/nuttx/net/ip.h
+++ b/nuttx/include/nuttx/net/ip.h
@@ -64,18 +64,24 @@
****************************************************************************/
/* Values for the IP protocol field */
-#define IP_PROTO_ICMP 1
-#define IP_PROTO_IGMP 2
-#define IP_PROTO_TCP 6
-#define IP_PROTO_UDP 17
-#define IP_PROTO_ICMP6 58
+#define IP_PROTO_ICMP 1
+#define IP_PROTO_IGMP 2
+#define IP_PROTO_TCP 6
+#define IP_PROTO_UDP 17
+#define IP_PROTO_ICMP6 58
+
+/* Flag bits in 16-bit flags + fragment offset IPv4 header field */
+
+#define IP_FLAG_RESERVED 0x8000
+#define IP_FLAG_DONTFRAG 0x4000
+#define IP_FLAG_MOREFRAGS 0x2000
/* Header sizes */
#ifdef CONFIG_NET_IPv6
-# define IP_HDRLEN 40 /* Size of IP header */
+# define IP_HDRLEN 40 /* Size of IP header */
#else
-# define IP_HDRLEN 20 /* Size of IP header */
+# define IP_HDRLEN 20 /* Size of IP header */
#endif
/****************************************************************************
diff --git a/nuttx/include/nuttx/net/tcp.h b/nuttx/include/nuttx/net/tcp.h
index db511cee9..53692d389 100644
--- a/nuttx/include/nuttx/net/tcp.h
+++ b/nuttx/include/nuttx/net/tcp.h
@@ -95,12 +95,6 @@
# define TCP_STOPPED 0x10 /* Bit 4: stopped */
/* Bit 5-7: Unused, but not available */
-/* Flag bits in 16-bit flags+ipoffset IPv4 TCP header field */
-
-#define TCPFLAG_RESERVED 0x8000
-#define TCPFLAG_DONTFRAG 0x4000
-#define TCPFLAG_MOREFRAGS 0x2000
-
/* TCP header sizes */
#define TCP_HDRLEN 20 /* Size of TCP header */
diff --git a/nuttx/net/devif/devif_input.c b/nuttx/net/devif/devif_input.c
index bba58be93..7a5142add 100644
--- a/nuttx/net/devif/devif_input.c
+++ b/nuttx/net/devif/devif_input.c
@@ -112,7 +112,7 @@
/* IP fragment re-assembly */
-#define IP_MF 0x20
+#define IP_MF 0x20 /* See IP_FLAG_MOREFRAGS */
#define TCP_REASS_BUFSIZE (NET_DEV_MTU(dev) - NET_LL_HDRLEN(dev))
#define TCP_REASS_LASTFRAG 0x01
diff --git a/nuttx/net/icmp/icmp_send.c b/nuttx/net/icmp/icmp_send.c
index be6621839..243b05d60 100644
--- a/nuttx/net/icmp/icmp_send.c
+++ b/nuttx/net/icmp/icmp_send.c
@@ -136,8 +136,8 @@ void icmp_send(FAR struct net_driver_s *dev, FAR net_ipaddr_t *destaddr)
++g_ipid;
picmp->ipid[0] = g_ipid >> 8;
picmp->ipid[1] = g_ipid & 0xff;
- picmp->ipoffset[0] = TCPFLAG_DONTFRAG >> 8;
- picmp->ipoffset[1] = TCPFLAG_DONTFRAG & 0xff;
+ picmp->ipoffset[0] = IP_FLAG_DONTFRAG >> 8;
+ picmp->ipoffset[1] = IP_FLAG_DONTFRAG & 0xff;
picmp->ttl = IP_TTL;
picmp->proto = IP_PROTO_ICMP;
diff --git a/nuttx/net/igmp/igmp_send.c b/nuttx/net/igmp/igmp_send.c
index cc5430f90..189f9cfc3 100644
--- a/nuttx/net/igmp/igmp_send.c
+++ b/nuttx/net/igmp/igmp_send.c
@@ -150,8 +150,8 @@ void igmp_send(FAR struct net_driver_s *dev, FAR struct igmp_group_s *group,
++g_ipid;
IGMPBUF->ipid[0] = g_ipid >> 8;
IGMPBUF->ipid[1] = g_ipid & 0xff;
- IGMPBUF->ipoffset[0] = TCPFLAG_DONTFRAG >> 8;
- IGMPBUF->ipoffset[1] = TCPFLAG_DONTFRAG & 0xff;
+ IGMPBUF->ipoffset[0] = IP_FLAG_DONTFRAG >> 8;
+ IGMPBUF->ipoffset[1] = IP_FLAG_DONTFRAG & 0xff;
IGMPBUF->ttl = IGMP_TTL;
IGMPBUF->proto = IP_PROTO_IGMP;