[SLOF] [PATCH 5/5] ipv6: Replace magic number 1500 with ETH_MTU_SIZE (i.e. 1518)

Thomas Huth thuth at redhat.com
Tue May 3 05:55:31 AEST 2016


The whole ethernet frame can be up to 1518 bytes including the ethernet
header. So this value should be used instead of 1500 when the whole
ethernet packet is affected. Since we've already got a nice define
for this value, use ETH_MTU_SIZE where it is appropriate.

This patch also removes a "memset(n->eth_frame, 0, 1500)" in send_ipv6()
to get rid of the magic value 1500 there -- it can be removed since
the whole ethernet packet is filled into the buffer right after the
memset, so there are no gaps that should be cleared first.

Signed-off-by: Thomas Huth <thuth at redhat.com>
---
 clients/net-snk/app/netlib/ipv6.c | 3 +--
 clients/net-snk/app/netlib/ndp.h  | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/clients/net-snk/app/netlib/ipv6.c b/clients/net-snk/app/netlib/ipv6.c
index 6aa1ea3..300c913 100644
--- a/clients/net-snk/app/netlib/ipv6.c
+++ b/clients/net-snk/app/netlib/ipv6.c
@@ -501,7 +501,7 @@ int send_ipv6(int fd, void* buffer, int len)
 
 	memcpy(&ip_dst, &ip6h->dst, 16);
 
-	if(len + sizeof(struct ethhdr) > 1500)
+	if(len + sizeof(struct ethhdr) > ETH_MTU_SIZE)
 		return -1;
 
 	if ( ip6_cmp (&ip6h->src, &null_ip6))
@@ -553,7 +553,6 @@ int send_ipv6(int fd, void* buffer, int len)
 				send_neighbour_solicitation (fd, &ip_dst);
 
 				// Store the packet until we know the MAC address
-				memset(n->eth_frame, 0, 1500);
 				fill_ethhdr (n->eth_frame,
 					     htons(ETHERTYPE_IPv6),
 					     get_mac_address(),
diff --git a/clients/net-snk/app/netlib/ndp.h b/clients/net-snk/app/netlib/ndp.h
index 74fbd8b..7274f10 100644
--- a/clients/net-snk/app/netlib/ndp.h
+++ b/clients/net-snk/app/netlib/ndp.h
@@ -48,7 +48,7 @@ struct neighbor {
 	uint8_t times_asked;
 	/* ... */
 	struct neighbor *next;
-	uint8_t eth_frame[1500]; //FIXME
+	uint8_t eth_frame[ETH_MTU_SIZE];
 	uint32_t eth_len;
 
 #define NB_INCOMPLETE 1
-- 
1.8.3.1



More information about the SLOF mailing list