Sorry Georg, but I won't spend any time in supporting more Ethernet
devices, because I think that:
1) NE2K is the only ISA device provided by QEMU, other need PCI support,
and ELKS has no PCI support. I don't think adding PCI support would be
in the scope of this project, because PCI came with the 32 bits generation.
2) My goal is to run ELKS on my real SBC, that has a NE2K clone chip. I
am therefore not interested in any other Ethernet chip.
3) ELKS is missing the network driver framework, so a discussion for a
generic driver is biased by this limitation. IMHO, the best driver
framework is one generic Ethernet driver, and specialized packet
drivers, with a standard "packet ops" interface for clean branching. The
template you are dealing with should be not at Ethernet driver level,
but at packet driver level. But again, back to 1) and 2), I see no need
to develop that framework.
MFLD
Le 05/03/2017 à 21:37, Georg Potthast a écrit :
When I look at the drivers in the char directory, most implement their
own version of a fops structure and have an init function for the
kernel. So I would expect that an RTL NIC driver would have the same
structure as the NE2K driver, again with a fops structure and an init
function. I would rather use this template than branch to various
specific functions from a generic ethernet driver. This mainly because
that has been the pattern used by ELKS so far and the developers may
be more familiar with it.
The *_un and *_in files have been deleted in the
"elkscmd/test/socket/echo" directory and are replaced with echoserver
and echoclient files that will use unix domain sockets if "-u" is
passed on the command line.
Georg
-----Ursprüngliche Nachricht----- From: Marc-François LUCCA-DANIAU
Sent: Saturday, March 4, 2017 6:48 PM
To: ELKS
Subject: Re: Moved eth_* to ne2k_* for future expansion
OK for the changes that seem logical to me, except:
* elks/arch/i86/drivers/net/ne2k-main.c : I actually planned to rename
this file eth-main.c, because the pattern of any Ethernet driver is
the same, and will implement the same "fops". Only the call to ne2k_*
functions are specific. So we should keep the eth_* functions inside
this module, that are generic.
* elks/arch/i86/drivers/net/ne2k-test.c : renaming the variables
related to Ethernet protocol and not linked to the NE2K has no sense :
ne2k_from and ne2k_to, for example, are MAC adresses, and do not
depend on the underlying Ethernet device. So we should rename them
back to eth_from and eth_to.
* elkscmd/test/socket/echo/.gitignore : I believe that Georg removed
*_un and *_in programs, and replaced them by more generic programs ?
If confirmed, remove *_un and *_in.
* qemu.sh : "system" keyword means that we use the "QEMU system
emulator". Not the "QEMU program emulator", that is not the same. So
keep that accurate comment.
MFLD
2017-03-04 17:46 GMT+01:00 Jody Bruchon <jody@xxxxxxxxxxxxxxx>:
I generalized some network stuff in case other network adapters are
supported in the future. Make sure I didn't break anything,
-Jody
--
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html