Re: barebox + picotcp-1.7.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Antony,

On Sun, Mar 03, 2024 at 09:58:03PM +0300, Antony Pavlov wrote:
> Hi all!
> 
> In the message [1] Sascha proposed to have the barebox network stack
> and picotcp in parallel.
> 
> This approach is used in the branch 20240303.picotcp-1.7.0 from
> https://github.com/frantony/barebox/ repo [2]:
> 
> * all incoming packets go through the barebox network stack and only if
>   they are not processed by it, they are forwarded to the picotcp network
>   stack (all incoming ARP packets always go to the picotcp network stack).
> 
> * risc-v virtual qemu machine with user networking (slirp network stack)
>   is used for demonstration; one needs only qemu risc-v emulator
>   for demonstration;
> 
> * these barebox commands are introduced for picotcp stack capabilities
>   demonstration:
> 
>   * dhclient --- setup picotcp network interface using the DHCP protocol;
>   * ifconfig --- print/setup picotcp network interface information;
>   * route --- print picotcp routing table;
>   * picoping --- send ICMP ECHO_REQUEST to network hosts, receive replies;
>   * picohost --- perform DNS lookup (google DNS server is used);
>   * app_wget --- download file using the HTTP protocol.
> 
> * tcpdump code is incorporated into barebox for network stack debugging.
>   tcpdump supports parsing most of the protocols supported by barebox
>   (DHCP, ARP, ICMP, DNS, TFTP and TCP).

I gave this a test on real hardware. I think the result is similar to
yours, dhclient, ifconfig, route, picoping, picohost work as expected.
app_wget does not work, it bails out with a NULL pointer exception.

I don't seem to have access to the Google DNS server, I switched this to
our local nameserver. Here global.net.nameserver should be used finally.

It's a bit odd that barebox and picotcp both use different configs, so
that we have to call barebox dhcp and also dhclient to make a network
interface usable in both barebox and picotcp. That should be a solvable
issue though.

Overall this looks like a good base for having both barebox network
stack and picotcp in parallel, so we could enable picotcp when needed
and still keep traditional barebox networking at least for a grace
period.

I'd still like to test lwip as well. Given that there are patches for
U-Boot already this should be doable without too much effort. The
integration into U-Boot likely shows the places we have to touch.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux