Re: Moved eth_* to ne2k_* for future expansion

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

 



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



[Index of Archives]     [Kernel]     [Linux ia64]     [DCCP]     [Linux for ARM]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux