unixsim: port to changed PPP interface
This commit is contained in:
parent
f2e83197ff
commit
de01153586
|
@ -99,6 +99,8 @@ NETIFFILES+=$(LWIPDIR)/netif/ppp/auth.c $(LWIPDIR)/netif/ppp/ccp.c \
|
||||||
$(LWIPDIR)/netif/ppp/pppcrypt.c $(LWIPDIR)/netif/ppp/pppoe.c \
|
$(LWIPDIR)/netif/ppp/pppcrypt.c $(LWIPDIR)/netif/ppp/pppoe.c \
|
||||||
$(LWIPDIR)/netif/ppp/pppol2tp.c $(LWIPDIR)/netif/ppp/upap.c \
|
$(LWIPDIR)/netif/ppp/pppol2tp.c $(LWIPDIR)/netif/ppp/upap.c \
|
||||||
$(LWIPDIR)/netif/ppp/utils.c $(LWIPDIR)/netif/ppp/vj.c \
|
$(LWIPDIR)/netif/ppp/utils.c $(LWIPDIR)/netif/ppp/vj.c \
|
||||||
|
$(LWIPDIR)/netif/ppp/polarssl/des.c $(LWIPDIR)/netif/ppp/polarssl/md4.c \
|
||||||
|
$(LWIPDIR)/netif/ppp/polarssl/md5.c $(LWIPDIR)/netif/ppp/polarssl/sha1.c \
|
||||||
$(LWIPARCH)/netif/sio.c
|
$(LWIPARCH)/netif/sio.c
|
||||||
|
|
||||||
# ARCHFILES: Architecture specific files.
|
# ARCHFILES: Architecture specific files.
|
||||||
|
|
|
@ -143,57 +143,78 @@ tcpip_init_done(void *arg)
|
||||||
}
|
}
|
||||||
|
|
||||||
#if PPP_SUPPORT
|
#if PPP_SUPPORT
|
||||||
void
|
static void
|
||||||
pppLinkStatusCallback(void *ctx, int errCode, void *arg)
|
ppp_link_status_cb(ppp_pcb *pcb, int err_code, void *ctx)
|
||||||
{
|
{
|
||||||
switch(errCode) {
|
LWIP_UNUSED_ARG(ctx);
|
||||||
|
|
||||||
|
switch(err_code) {
|
||||||
case PPPERR_NONE: /* No error. */
|
case PPPERR_NONE: /* No error. */
|
||||||
{
|
{
|
||||||
struct ppp_addrs *ppp_addrs = arg;
|
struct ppp_addrs *ppp_addrs = ppp_addrs(pcb);
|
||||||
|
fprintf(stderr, "ppp_link_status_cb: PPPERR_NONE\n\r");
|
||||||
printf("pppLinkStatusCallback: PPPERR_NONE");
|
fprintf(stderr, " our_ipaddr = %s\n\r", ip_ntoa(&ppp_addrs->our_ipaddr));
|
||||||
printf(" our_ipaddr=%s", _inet_ntoa(ppp_addrs->our_ipaddr.addr));
|
fprintf(stderr, " his_ipaddr = %s\n\r", ip_ntoa(&ppp_addrs->his_ipaddr));
|
||||||
printf(" his_ipaddr=%s", _inet_ntoa(ppp_addrs->his_ipaddr.addr));
|
fprintf(stderr, " netmask = %s\n\r", ip_ntoa(&ppp_addrs->netmask));
|
||||||
printf(" netmask=%s", _inet_ntoa(ppp_addrs->netmask.addr));
|
fprintf(stderr, " dns1 = %s\n\r", ip_ntoa(&ppp_addrs->dns1));
|
||||||
printf(" dns1=%s", _inet_ntoa(ppp_addrs->dns1.addr));
|
fprintf(stderr, " dns2 = %s\n\r", ip_ntoa(&ppp_addrs->dns2));
|
||||||
printf(" dns2=%s\n", _inet_ntoa(ppp_addrs->dns2.addr));
|
#if PPP_IPV6_SUPPORT
|
||||||
|
fprintf(stderr, " our6_ipaddr = %s\n\r", ip6addr_ntoa(&ppp_addrs->our6_ipaddr));
|
||||||
|
fprintf(stderr, " his6_ipaddr = %s\n\r", ip6addr_ntoa(&ppp_addrs->his6_ipaddr));
|
||||||
|
#endif /* PPP_IPV6_SUPPORT */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_PARAM: /* Invalid parameter. */
|
case PPPERR_PARAM: /* Invalid parameter. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_PARAM\n");
|
printf("ppp_link_status_cb: PPPERR_PARAM\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_OPEN: /* Unable to open PPP session. */
|
case PPPERR_OPEN: /* Unable to open PPP session. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_OPEN\n");
|
printf("ppp_link_status_cb: PPPERR_OPEN\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_DEVICE: /* Invalid I/O device for PPP. */
|
case PPPERR_DEVICE: /* Invalid I/O device for PPP. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_DEVICE\n");
|
printf("ppp_link_status_cb: PPPERR_DEVICE\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_ALLOC: /* Unable to allocate resources. */
|
case PPPERR_ALLOC: /* Unable to allocate resources. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_ALLOC\n");
|
printf("ppp_link_status_cb: PPPERR_ALLOC\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_USER: /* User interrupt. */
|
case PPPERR_USER: /* User interrupt. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_USER\n");
|
printf("ppp_link_status_cb: PPPERR_USER\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_CONNECT: /* Connection lost. */
|
case PPPERR_CONNECT: /* Connection lost. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_CONNECT\n");
|
printf("ppp_link_status_cb: PPPERR_CONNECT\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_AUTHFAIL: /* Failed authentication challenge. */
|
case PPPERR_AUTHFAIL: /* Failed authentication challenge. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_AUTHFAIL\n");
|
printf("ppp_link_status_cb: PPPERR_AUTHFAIL\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PPPERR_PROTOCOL: /* Failed to meet protocol. */
|
case PPPERR_PROTOCOL: /* Failed to meet protocol. */
|
||||||
printf("pppLinkStatusCallback: PPPERR_PROTOCOL\n");
|
printf("ppp_link_status_cb: PPPERR_PROTOCOL\n");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PPPERR_PEERDEAD: /* Connection timeout. */
|
||||||
|
printf("ppp_link_status_cb: PPPERR_PEERDEAD\n");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PPPERR_IDLETIMEOUT: /* Idle Timeout. */
|
||||||
|
printf("ppp_link_status_cb: PPPERR_IDLETIMEOUT\n");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PPPERR_CONNECTTIME: /* PPPERR_CONNECTTIME. */
|
||||||
|
printf("ppp_link_status_cb: PPPERR_CONNECTTIME\n");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PPPERR_LOOPBACK: /* Connection timeout. */
|
||||||
|
printf("ppp_link_status_cb: PPPERR_LOOPBACK\n");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf("pppLinkStatusCallback: unknown errCode %d\n", errCode);
|
printf("ppp_link_status_cb: unknown errCode %d\n", err_code);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -322,7 +343,8 @@ static void
|
||||||
init_netifs(void)
|
init_netifs(void)
|
||||||
{
|
{
|
||||||
#if PPP_SUPPORT
|
#if PPP_SUPPORT
|
||||||
pppInit();
|
sio_fd_t ppp_sio;
|
||||||
|
ppp_pcb *ppp;
|
||||||
#if PPP_PTY_TEST
|
#if PPP_PTY_TEST
|
||||||
ppp_sio = sio_open(2);
|
ppp_sio = sio_open(2);
|
||||||
#else
|
#else
|
||||||
|
@ -334,11 +356,18 @@ init_netifs(void)
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ppp = ppp_new();
|
||||||
|
if (!ppp)
|
||||||
|
{
|
||||||
|
printf("Could not create PPP control interface");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
#ifdef LWIP_PPP_CHAP_TEST
|
#ifdef LWIP_PPP_CHAP_TEST
|
||||||
pppSetAuth(PPPAUTHTYPE_CHAP, "lwip", "mysecret");
|
ppp_set_auth(ppp, PPPAUTHTYPE_CHAP, "lwip", "mysecret");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
pppOpen(ppp_sio, pppLinkStatusCallback, NULL);
|
ppp_over_serial_create(ppp, ppp_sio, ppp_link_status_cb, NULL);
|
||||||
|
ppp_open(ppp, 0);
|
||||||
#endif /* PPP_SUPPORT */
|
#endif /* PPP_SUPPORT */
|
||||||
|
|
||||||
#if LWIP_DHCP
|
#if LWIP_DHCP
|
||||||
|
@ -384,9 +413,6 @@ static void
|
||||||
main_thread(void *arg)
|
main_thread(void *arg)
|
||||||
{
|
{
|
||||||
sys_sem_t sem;
|
sys_sem_t sem;
|
||||||
#if PPP_SUPPORT
|
|
||||||
sio_fd_t ppp_sio;
|
|
||||||
#endif
|
|
||||||
LWIP_UNUSED_ARG(arg);
|
LWIP_UNUSED_ARG(arg);
|
||||||
|
|
||||||
if(sys_sem_new(&sem, 0) != ERR_OK) {
|
if(sys_sem_new(&sem, 0) != ERR_OK) {
|
||||||
|
|
Loading…
Reference in New Issue