- fixed DHCP options

git-svn-id: http://moon:8086/svn/mips@212 a8ebac50-d88d-4704-bea3-6648445a41b3
This commit is contained in:
2021-11-24 12:08:37 +00:00
parent 9c248bd884
commit 2a12a5f931
2 changed files with 33 additions and 4 deletions
+12 -4
View File
@@ -65,10 +65,14 @@ void DHCP_request_send(packet_t *pPacket, uint32_t dhcp_msg_type, uint8_t *mac_a
size = sizeof(dhcp_opt_hdr_t); size = sizeof(dhcp_opt_hdr_t);
pOpt_hdr = (dhcp_opt_hdr_t*)&pDHCP->options[option_size]; pOpt_hdr = (dhcp_opt_hdr_t*)&pDHCP->options[option_size];
pOpt_hdr->code = DHCP_OPT_CLIENTID; pOpt_hdr->code = DHCP_OPT_CLIENTID;
pOpt_hdr->len = 6; pOpt_hdr->len = 7;
option_size += size; option_size += size;
size = pOpt_hdr->len; size = 1;
pDHCP->options[option_size] = HWTYPE_ETHERNET;
option_size += size;
size = 6;
memcpy(&pDHCP->options[option_size], mac_addr_src, size); memcpy(&pDHCP->options[option_size], mac_addr_src, size);
option_size += size; option_size += size;
#endif #endif
@@ -116,10 +120,14 @@ void DHCP_request_send(packet_t *pPacket, uint32_t dhcp_msg_type, uint8_t *mac_a
size = sizeof(dhcp_opt_hdr_t); size = sizeof(dhcp_opt_hdr_t);
pOpt_hdr = (dhcp_opt_hdr_t*)&pDHCP->options[option_size]; pOpt_hdr = (dhcp_opt_hdr_t*)&pDHCP->options[option_size];
pOpt_hdr->code = DHCP_OPT_CLIENTID; pOpt_hdr->code = DHCP_OPT_CLIENTID;
pOpt_hdr->len = 6; pOpt_hdr->len = 7;
option_size += size; option_size += size;
size = pOpt_hdr->len; size = 1;
pDHCP->options[option_size] = HWTYPE_ETHERNET;
option_size += size;
size = 6;
memcpy(&pDHCP->options[option_size], mac_addr_src, size); memcpy(&pDHCP->options[option_size], mac_addr_src, size);
option_size += size; option_size += size;
#endif #endif
+21
View File
@@ -56,6 +56,27 @@ typedef struct _sdhcp_opt_hdr_t
#define DHCP_MSG_DHCPNAK 6 #define DHCP_MSG_DHCPNAK 6
#define DHCP_MSG_DHCPRELEASE 7 #define DHCP_MSG_DHCPRELEASE 7
// Hardware types RFC 1340
#define HWTYPE_ETHERNET 1
/*
1 Ethernet (10Mb) [JBP]
2 Experimental Ethernet (3Mb) [JBP]
3 Amateur Radio AX.25 [PXK]
4 Proteon ProNET Token Ring [JBP]
5 Chaos [GXP]
6 IEEE 802 Networks [JBP]
7 ARCNET [JBP]
8 Hyperchannel [JBP]
9 Lanstar [TU]
10 Autonet Short Address [MXB1]
11 LocalTalk [JKR1]
12 LocalNet (IBM PCNet or SYTEK LocalNET) [JXM]
13 Ultra link [RXD2]
14 SMDS [GXC1]
15 Frame Relay [AGM]
16 Asynchronous Transmission Mode (ATM) [JXB2]
*/
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
void DHCP_request_send(packet_t *pPacket, uint32_t dhcp_msg_type, uint8_t *mac_addr_src, uint8_t *inet_addr_src, uint8_t *inet_addr_dst, DHCP *pLast); void DHCP_request_send(packet_t *pPacket, uint32_t dhcp_msg_type, uint8_t *mac_addr_src, uint8_t *inet_addr_src, uint8_t *inet_addr_dst, DHCP *pLast);