Merge branch 'feature/support_iperf' into 'master'

lwip/esp32: support iperf

1. Add _exit() definition in syscalls.c
2. Fix a bug in sockets.c on which iperf depends

I'm now investigating performance of esp32, need iperf to be merged in to master branch for convience

See merge request !136
This commit is contained in:
Angus Gratton
2016-10-11 04:52:34 +08:00
2 changed files with 13 additions and 2 deletions

View File

@@ -142,6 +142,10 @@ int _open_r(struct _reent *r, const char * path, int flags, int mode) {
return 0;
}
void _exit(int __status) {
abort();
}
ssize_t _write_r(struct _reent *r, int fd, const void * data, size_t size) {
const char *data_c = (const char *)data;
if (fd == STDOUT_FILENO) {

View File

@@ -1442,8 +1442,15 @@ lwip_sendto(int s, const void *data, size_t size, int flags,
#ifdef LWIP_ESP8266
/*fix the code for getting the UDP proto's remote information by liuh at 2014.8.27*/
if (NETCONNTYPE_GROUP(netconn_type(sock->conn)) == NETCONN_UDP){
buf.addr.u_addr.ip4.addr = sock->conn->pcb.udp->remote_ip.u_addr.ip4.addr;
remote_port = sock->conn->pcb.udp->remote_port;
if(NETCONNTYPE_ISIPV6(netconn_type(sock->conn))) {
memcpy(&buf.addr.u_addr.ip6.addr, sock->conn->pcb.udp->remote_ip.u_addr.ip6.addr,16);
remote_port = sock->conn->pcb.udp->remote_port;
IP_SET_TYPE(&buf.addr, IPADDR_TYPE_V6);
} else {
buf.addr.u_addr.ip4.addr = sock->conn->pcb.udp->remote_ip.u_addr.ip4.addr;
remote_port = sock->conn->pcb.udp->remote_port;
IP_SET_TYPE(&buf.addr, IPADDR_TYPE_V4);
}
} else {
#endif
remote_port = 0;