 |
io6Library
WIZnet Dual Stack TCP/IP Ethernet Controller Driver
|
Go to the documentation of this file.
55 #define STATE_DHCP6_INIT 0
56 #define STATE_DHCP6_SOLICIT 1
57 #define STATE_DHCP6_REQUEST 2
58 #define STATE_DHCP6_LEASED 3
59 #define STATE_DHCP6_REREQUEST 4
60 #define STATE_DHCP6_RELEASE 5
61 #define STATE_DHCP6_STOP 6
64 #define DHCP6_SOLICIT 1
65 #define DHCP6_ADVERTISE 2
66 #define DHCP6_REQUEST 3
67 #define DHCP6_CONFIRM 4
69 #define DHCP6_REBIND 6
71 #define DHCP6_RELEASE 8
72 #define DHCP6_DECLINE 9
73 #define DHCP6_RECONFIGURE 10
74 #define DHCP6_INFO_REQUEST 11
221 printf(
"%20s => size=%02d,num=%02d : ", sMark,
size,
num);
279 uint8_t rip_msg_size;
365 for (j = 2; j < 13; j++)
375 printf(
"> Send DHCP_DISCOVER\r\n");
381 printf(
"> %d, %d\r\n", ret, rip_msg_size);
397 uint8_t rip_msg_size;
408 printf(
"req : %x%x:%x%x:%x%x:%x%x:%x%x:%x%x:%x%x:%x%x \r\n",
recv_IP[0],
recv_IP[1],
recv_IP[2],
recv_IP[3],
recv_IP[4],
recv_IP[5],
recv_IP[6],
recv_IP[7],
recv_IP[8],
recv_IP[9],
recv_IP[10],
recv_IP[11],
recv_IP[12],
recv_IP[13],
recv_IP[14],
recv_IP[15]);
575 for (j = 2; j < 13; j++)
585 printf(
"> Send DHCP_REQUEST\r\n");
590 printf(
"> %d, %d\r\n", ret, rip_msg_size);
606 uint8_t rip_msg_size;
663 for (j = 2; j < 13; j++)
673 printf(
"> Send DHCP_REQUEST\r\n");
679 printf(
"> %d, %d\r\n", ret, rip_msg_size);
692 uint8_t svr_addr[16];
706 printf(
"DHCP message : %.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x(%d) %d received. \r\n", svr_addr[0], svr_addr[1], svr_addr[2], svr_addr[3], svr_addr[4], svr_addr[5], svr_addr[6], svr_addr[7], svr_addr[8], svr_addr[9], svr_addr[10], svr_addr[11], svr_addr[12], svr_addr[13], svr_addr[14], svr_addr[15], svr_port, len);
718 printf(
"in server port %x\r\n", *p);
737 printf(
"in ADVER or REPLY(7) type : %x \r\n", *p);
751 printf(
"in clientid \r\n");
755 opt_len = (*p++ << 8);
762 while ((uint32_t)p != end_point)
772 printf(
"in iana \r\n");
775 opt_len = (*p++ << 8);
795 while ((uint32_t)p < end_point)
803 printf(
"in IA addr \r\n");
806 opt_len = (*p++ << 8);
834 printf(
"IANA : %.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x:%.2x%.2x \r\n",
recv_IP[0],
recv_IP[1],
recv_IP[2],
recv_IP[3],
recv_IP[4],
recv_IP[5],
recv_IP[6],
recv_IP[7],
recv_IP[8],
recv_IP[9],
recv_IP[10],
recv_IP[11],
recv_IP[12],
recv_IP[13],
recv_IP[14],
recv_IP[15]);
841 printf(
"in status code \r\n");
844 opt_len = (*p++ << 8);
865 printf(
"in default \r\n");
868 opt_len = (*p++ << 8);
869 opt_len = opt_len + (*p++);
881 printf(
"in iata \r\n");
884 opt_len = (*p++ << 8);
885 opt_len = opt_len + (*p++);
894 printf(
"in serverid \r\n");
898 opt_len = (*p++ << 8);
934 for (i = 0; i < 4; i++)
935 printf(
"%.2x",
Time_s[i]);
948 printf(
"Server_MAC : ");
949 for (i = 0; i < 6; i++)
953 while ((uint32_t)p != end_point)
963 printf(
"in DNS Recursive Name Server \r\n");
966 opt_len = (*p++ << 8);
967 opt_len = opt_len + (*p++);
968 end_point = (uint32_t)p + opt_len;
987 while ((uint32_t)p < end_point)
998 printf(
"in Domain Search List \r\n");
1001 opt_len = (*p++ << 8);
1002 opt_len = opt_len + (*p++);
1003 end_point = (uint32_t)p + opt_len;
1005 while ((uint32_t)p < end_point)
1015 #ifdef _DHCP6_DEBUG_
1016 printf(
"in default \r\n");
1019 opt_len = (*p++ << 8);
1020 opt_len = opt_len + (*p++);
1091 printf(
"type:%d, dhcp_state :%d\r\n", type,
dhcp_state);
1118 #ifdef _DHCP6_DEBUG_
1119 printf(
"> Receive DHCP_ADVERTISE\r\n");
1188 #ifdef _DHCP6_DEBUG_
1189 printf(
"<<timeout>> state : STATE_DHCP_DISCOVER\r\n");
1230 uint8_t zeroip[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
1234 #ifdef _DHCP6_DEBUG_
1235 printf(
"DHCP_init-set MAC\r\n");
1249 memset(buf, 0,
sizeof(buf));
int8_t parseDHCPMSG(void)
#define _Sn_TTLR_(N)
SOCKETn IP Time to live(TTL) Register Address [R=W][0x80].
datasize_t sendto(uint8_t sn, uint8_t *buf, datasize_t len, uint8_t *addr, uint16_t port, uint8_t addrlen)
Send datagram to the peer specifed by destination IP address and port number passed as parameter.
void WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb)
It writes 1 byte value to a register.
uint8_t DHCP_run(wiz_NetInfo *netinfo)
int8_t socket(uint8_t sn, uint8_t protocol, uint16_t port, uint8_t flag)
Open a socket.
void send_DHCP_SOLICIT(void)
#define DHCP6_ADVERTISE
OFFER message in OPT of RIP_MSG.
uint8_t gua[16]
Source Global Unicast Address.
#define DHCP6_REQUEST
REQUEST message in OPT of RIP_MSG.
uint8_t check_DHCP_timeout(void)
void DumpDhcpOption(char *sMark)
datasize_t getSn_RX_RSR(uint8_t s)
void DHCP_Option_Select(uint8_t option)
uint8_t send_DHCP_INFOREQ(void)
#define SOCK_UDP
UDP SOCKETn status.
@ DHCP_IP_LEASED
Stand by.
#define DHCP6_REPLY
RELEASE message in OPT of RIP_MSG. No use.
uint8_t send_DHCP_REQUEST(void)
#define DHCP_SERVER_PORT
DHCP server port number.
void reset_DHCP_timeout(void)
#define DHCP_CLIENT_PORT
DHCP client port number.
uint32_t Enterprise_num_s
void DHCP_init(uint8_t s, uint8_t *buf)
void DHCP_time_handler(void)
#define DHCP6_INFO_REQUEST
INFORM message in OPT of RIP_MSG. No use.
#define STATE_DHCP6_REQUEST
send REQEUST and wait ACK or NACK
#define STATE_DHCP6_SOLICIT
send DISCOVER and wait OFFER
volatile uint32_t dhcp_tick_1s
uint8_t OPT[OPT_SIZE]
Option.
@ DHCP_STOPPED
Stop procssing DHCP protocol.
#define DHCP6_SOLICIT
DISCOVER message in OPT of RIP_MSG.
@ DNS_RecursiveNameServer
#define STATE_DHCP6_RELEASE
No use.
int8_t close(uint8_t sn)
Close a SOCKET.
#define MAX_DHCP_RETRY
Maxium retry count.
#define Sn_MR_UDP6
IPv6 UDP mode.
void InitDhcpOption(unsigned asize, unsigned agrowby)
#define STATE_DHCP6_STOP
Stop procssing DHCP.
Network Information for _WIZCHIP_.
uint8_t DHCP_allocated_ip[16]
#define DHCP_WAIT_TIME
Wait Time 10s.
#define STATE_DHCP6_INIT
Initialize.
@ DHCP_RUNNING
Procssing DHCP proctocol.
void AppendDhcpOption(uint8_t value)
@ DHCP_FAILED
Procssing Fail.
datasize_t recvfrom(uint8_t sn, uint8_t *buf, datasize_t len, uint8_t *addr, uint16_t *port, uint8_t *addrlen)
Receive datagram from a peer.