]> xenbits.xensource.com Git - unikraft/libs/lwip.git/log
unikraft/libs/lwip.git
6 years agoNetif status print callback
Simon Kuenzer [Thu, 7 Feb 2019 23:00:35 +0000 (00:00 +0100)]
Netif status print callback

Introduce a status print hook to all netifs operated by the lwIP
stack. State changes (e.g., assigning of an IP, bringing device up or
down) are printed to the standard console. Because the stack is not
printing any message to the console with the default configuration, we
enable this print hook as default.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Reviewed-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoAttach uknetdev netifs during boot
Simon Kuenzer [Thu, 7 Feb 2019 23:00:34 +0000 (00:00 +0100)]
Attach uknetdev netifs during boot

Scan for uknetdev devices and attach them automatically to the lwIP
stack during initialization. If DHCP support is enabled, the stack
will query for an address on the interfaces.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Reviewed-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoNetif driver for libuknetdev devices
Simon Kuenzer [Thu, 7 Feb 2019 23:00:33 +0000 (00:00 +0100)]
Netif driver for libuknetdev devices

Introduces a netif driver for libuknetdev devices. Packet buffers are
allocated on the heap for now. Receive interrupts are supported and
enabled when lwIP is operated in "threaded" mode. Zero-copy receive is
implemented with packet buffers having two personalities: pbuf and netbuf.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Reviewed-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoUpdate to lwIP 2.1.2
Simon Kuenzer [Thu, 7 Feb 2019 23:00:32 +0000 (00:00 +0100)]
Update to lwIP 2.1.2

Update lwIP from 2.0.3 to the latest relase 2.1.2 from Dec 2018. We
transform the rather beta state of our glue library to a more stable
implementation based on the latest staging branch of Unikraft towards
release 0.3.

This commit provides the following features as selectable options from
lwIP:
- Two operation modes: "threaded" or as (part of a) "mainloop"
- IPv4 support
- Experimental IPv6 support (incomplete)
- Protocols: UDP, TCP, ICMP, IGMP, SNMP
- DNS resolver
- DHCPv4 client
- Socket API

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
Reviewed-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoAdd .gitignore
Simon Kuenzer [Thu, 7 Feb 2019 23:00:31 +0000 (00:00 +0100)]
Add .gitignore

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Reviewed-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoExpose socket header & disable socket polling
Sharan Santhanam [Fri, 15 Jun 2018 20:53:48 +0000 (22:53 +0200)]
Expose socket header & disable socket polling

In this patch, we expose the socket API through lwIP. In its current
implementation, we do disable support for select()/poll() on a file
descriptor since an implementation is missing in vfscore.
We are going to add this feature again in the near future.

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoUpdate to latest libukmpi and libuklock configuration system
Sharan Santhanam [Fri, 15 Jun 2018 10:06:42 +0000 (12:06 +0200)]
Update to latest libukmpi and libuklock configuration system

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoImplement getsockname(), getperrname() and sock options
Sharan Santhanam [Wed, 13 Jun 2018 00:26:33 +0000 (02:26 +0200)]
Implement getsockname(), getperrname() and sock options

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoImplement closing of sockets descriptor with libvfscore
Sharan Santhanam [Wed, 13 Jun 2018 00:24:57 +0000 (02:24 +0200)]
Implement closing of sockets descriptor with libvfscore

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoImplement read and write operation for sockets with libvfscore
Sharan Santhanam [Wed, 13 Jun 2018 00:23:31 +0000 (02:23 +0200)]
Implement read and write operation for sockets with libvfscore

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoImplement accept(), listen(), and connect() for libvfscore
Sharan Santhanam [Wed, 13 Jun 2018 00:21:22 +0000 (02:21 +0200)]
Implement accept(), listen(), and connect() for libvfscore

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoImplement bind() for libvfscore
Sharan Santhanam [Wed, 13 Jun 2018 00:17:45 +0000 (02:17 +0200)]
Implement bind() for libvfscore

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoImplement socket() for libvfscore
Sharan Santhanam [Tue, 12 Jun 2018 22:46:01 +0000 (00:46 +0200)]
Implement socket() for libvfscore

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoAdd prototype for libvfscore for Sockets
Simon Kuenzer [Thu, 14 Jun 2018 23:14:08 +0000 (01:14 +0200)]
Add prototype for libvfscore for Sockets

Initial implementation for integrating Sockets to libvfscore
in Unikraft.

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoAdopt to new configuration variable name scheme of Unikraft
Simon Kuenzer [Thu, 14 Jun 2018 23:13:10 +0000 (01:13 +0200)]
Adopt to new configuration variable name scheme of Unikraft

Adopts to the new configuration variable name scheme introduced
with latest Unikraft build system (see patch de27b01: "build:
add prefix CONFIG_ to every kconfig symbol")

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoAdopt to new Unikraft libraries: libukmpi and libuklock
Sharan Santhanam [Fri, 8 Jun 2018 13:01:11 +0000 (15:01 +0200)]
Adopt to new Unikraft libraries: libukmpi and libuklock

Add dependency to libukmpi and libuklock libraries that were
recently introduced with Unikraft.

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoConvert patches from p0 to p1 format
Simon Kuenzer [Fri, 15 Jun 2018 01:19:49 +0000 (03:19 +0200)]
Convert patches from p0 to p1 format

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoEnable menu-based configuration of sockets and IPv6
Sharan Santhanam [Thu, 7 Jun 2018 13:50:56 +0000 (15:50 +0200)]
Enable menu-based configuration of sockets and IPv6

Removes the hardcoded and enabled lwIP options for sockets and IPv6 that
actually can be configured using Config.uk

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoAdhering to uksched API for thread creation
Sharan Santhanam [Wed, 13 Jun 2018 13:41:46 +0000 (15:41 +0200)]
Adhering to uksched API for thread creation

sys_thread_new was unnecessarily using a static allocated variable for
creating a thread. On failure, uk_printd() was called without specifying
a level which fails. Additonally the code style of this function is updated.

Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
6 years agoCorrect handling of mailbox return values on post and recv
Yuri Volchkov [Wed, 11 Apr 2018 09:07:11 +0000 (11:07 +0200)]
Correct handling of mailbox return values on post and recv

uk_mbox_mt_post_try and uk_mbox_mt_recv_try return a value
smaller than 0 in case of errors.

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
6 years agoIntroduce lwip_getsock_status()
Yuri Volchkov [Tue, 20 Mar 2018 12:30:10 +0000 (13:30 +0100)]
Introduce lwip_getsock_status()

This function is intended to be used for implementing poll().
It returns a status flag for a socket fd. It is added as patch to
the lwIP sources.

Signed-off-by: Yuri Volchkov <yuri.volchkov@neclab.eu>
6 years agoInitial port of lwIP to Unikraft
Sharan Santhanam [Wed, 13 Jun 2018 09:22:33 +0000 (11:22 +0200)]
Initial port of lwIP to Unikraft

This is our initial port of lwIP to Unikraft as external
library. For now you need newlib to make it work.

Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu>
Signed-off-by: Kenichi Yasukata <kenichi.yasukata@neclab.eu>
Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Signed-off-by: Florian Schmidt <florian.schmidt@neclab.eu>
Signed-off-by: Sharan Santhanam <sharan.santhanam@neclab.eu>
7 years agoinitial commit (empty)
Florian Schmidt [Thu, 7 Dec 2017 18:27:26 +0000 (19:27 +0100)]
initial commit (empty)