mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-01-26 18:35:28 +00:00
Work on task #14587: Create common header for IANA assigned numbers
Create include/lwip/prot/iana.h Move DHCP and ARP #define in there
This commit is contained in:
parent
42fd01547d
commit
629ec98dd8
@ -78,6 +78,7 @@
|
||||
#include "lwip/dns.h"
|
||||
#include "lwip/etharp.h"
|
||||
#include "lwip/prot/dhcp.h"
|
||||
#include "lwip/prot/iana.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
@ -1908,7 +1909,7 @@ dhcp_create_msg(struct netif *netif, struct dhcp *dhcp, u8_t message_type, u16_t
|
||||
|
||||
msg_out->op = DHCP_BOOTREQUEST;
|
||||
/* @todo: make link layer independent */
|
||||
msg_out->htype = DHCP_HTYPE_ETH;
|
||||
msg_out->htype = IANA_HWTYPE_ETHERNET;
|
||||
msg_out->hlen = netif->hwaddr_len;
|
||||
msg_out->xid = lwip_htonl(dhcp->xid);
|
||||
/* we don't need the broadcast flag since we can receive unicast traffic
|
||||
|
@ -52,6 +52,7 @@
|
||||
#include "lwip/snmp.h"
|
||||
#include "lwip/dhcp.h"
|
||||
#include "lwip/autoip.h"
|
||||
#include "lwip/prot/iana.h"
|
||||
#include "netif/ethernet.h"
|
||||
|
||||
#include <string.h>
|
||||
@ -650,7 +651,7 @@ etharp_input(struct pbuf *p, struct netif *netif)
|
||||
hdr = (struct etharp_hdr *)p->payload;
|
||||
|
||||
/* RFC 826 "Packet Reception": */
|
||||
if ((hdr->hwtype != PP_HTONS(HWTYPE_ETHERNET)) ||
|
||||
if ((hdr->hwtype != PP_HTONS(IANA_HWTYPE_ETHERNET)) ||
|
||||
(hdr->hwlen != ETH_HWADDR_LEN) ||
|
||||
(hdr->protolen != sizeof(ip4_addr_t)) ||
|
||||
(hdr->proto != PP_HTONS(ETHTYPE_IP))) {
|
||||
@ -1139,7 +1140,7 @@ etharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr,
|
||||
IPADDR_WORDALIGNED_COPY_FROM_IP4_ADDR_T(&hdr->sipaddr, ipsrc_addr);
|
||||
IPADDR_WORDALIGNED_COPY_FROM_IP4_ADDR_T(&hdr->dipaddr, ipdst_addr);
|
||||
|
||||
hdr->hwtype = PP_HTONS(HWTYPE_ETHERNET);
|
||||
hdr->hwtype = PP_HTONS(IANA_HWTYPE_ETHERNET);
|
||||
hdr->proto = PP_HTONS(ETHTYPE_IP);
|
||||
/* set hwlen and protolen */
|
||||
hdr->hwlen = ETH_HWADDR_LEN;
|
||||
|
@ -128,9 +128,6 @@ typedef enum {
|
||||
#define DHCP_RELEASE 7
|
||||
#define DHCP_INFORM 8
|
||||
|
||||
/** DHCP hardware type, currently only ethernet is supported */
|
||||
#define DHCP_HTYPE_ETH 1
|
||||
|
||||
#define DHCP_MAGIC_COOKIE 0x63825363UL
|
||||
|
||||
/* This is a list of options for BOOTP and DHCP, see RFC 2132 for descriptions */
|
||||
|
@ -101,12 +101,6 @@ PACK_STRUCT_END
|
||||
|
||||
#define SIZEOF_ETHARP_HDR 28
|
||||
|
||||
/* ARP hwtype values */
|
||||
enum etharp_hwtype {
|
||||
HWTYPE_ETHERNET = 1
|
||||
/* others not used */
|
||||
};
|
||||
|
||||
/* ARP message types (opcodes) */
|
||||
enum etharp_opcode {
|
||||
ARP_REQUEST = 1,
|
||||
|
51
src/include/lwip/prot/iana.h
Normal file
51
src/include/lwip/prot/iana.h
Normal file
@ -0,0 +1,51 @@
|
||||
/**
|
||||
* @file
|
||||
* IANA assigned numbers
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2017 Dirk Ziegelmeier.
|
||||
* 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 lwIP TCP/IP stack.
|
||||
*
|
||||
* Author: Dirk Ziegelmeier <dziegel@gmx.de>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LWIP_HDR_PROT_IANA_H
|
||||
#define LWIP_HDR_PROT_IANA_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define IANA_HWTYPE_ETHERNET 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LWIP_HDR_PROT_IANA_H */
|
@ -4,6 +4,7 @@
|
||||
#include "lwip/etharp.h"
|
||||
#include "netif/ethernet.h"
|
||||
#include "lwip/stats.h"
|
||||
#include "lwip/prot/iana.h"
|
||||
|
||||
#if !LWIP_STATS || !UDP_STATS || !MEMP_STATS || !ETHARP_STATS
|
||||
#error "This tests needs UDP-, MEMP- and ETHARP-statistics enabled"
|
||||
@ -89,7 +90,7 @@ create_arp_response(ip4_addr_t *adr)
|
||||
ethhdr->src = test_ethaddr2;
|
||||
ethhdr->type = htons(ETHTYPE_ARP);
|
||||
|
||||
etharphdr->hwtype = htons(/*HWTYPE_ETHERNET*/ 1);
|
||||
etharphdr->hwtype = htons(IANA_HWTYPE_ETHERNET);
|
||||
etharphdr->proto = htons(ETHTYPE_IP);
|
||||
etharphdr->hwlen = ETHARP_HWADDR_LEN;
|
||||
etharphdr->protolen = sizeof(ip4_addr_t);
|
||||
|
Loading…
x
Reference in New Issue
Block a user