Comments (9)
I implemented the switch and can see that ktcp successfully opens and initializes the ne2k driver. Also I checked that ktcp queries the ne2k driver with select.
How to proceed? Shall I send you my changes as commits?
from elks.
Well... good question. As you took the leadership on the KTCP part, I think the best would be to commit your changes related to KTCP + Ethernet in a dedicated branch in your repository, so that one can follow your progress, and can pull from that branch to get your code and test it. I would be the first puller, for sure !
from elks.
Ok, I will make a ne2k branch in my repository and commit the changes to that.
Including your driver/net directory and qemu script.
from elks.
I just pushed my changes to the ktcp code directory plus the rc.sysinit file to a new ne2k branch in my repo. https://github.com/georgp24/elks/commits/ne2k
Please check why this code does not receive any data. For test it will print out the length of received packets. This will show if anything is received at all. See the deveth.c file.
I made the branch after committing the modified kill command and the ported miniterm program. These are not needed for networking.
from elks.
I pulled your branch ne2k
as is, and did the test as described in #18.
I can see that ktcp
receives the ARP packets:
login: root
# deveth_process() called!
64 bytes read
from elks.
Looks good! Then I have to try to get the same result.
How can ktcp read the mac address of the ne2k card? It needs this for the ARP-Reply.
from elks.
For the moment, take the same MAC as in the driver:
static byte_t mac_addr [6] = {0x52, 0x54, 0x00, 0x12, 0x34, 0x56}; // QEMU default
I will implement the needed ioctl()
later. This is tracked by #24.
from elks.
I got it to work as well. However, it takes 45 seconds until the packets arrive at ktcp. I did not expect that and did not wait that long before.
from elks.
Issue #24 has been closed, so from now you can use ioctl() on /dev/eth to get the MAC address.
from elks.
Related Issues (20)
- /dev/eth HOT 1
- NE2K basic ethernet driver HOT 3
- ARP protocol HOT 49
- Basic IP routing HOT 2
- NE2K test program HOT 2
- DHCP tiny client HOT 1
- ETH test program HOT 3
- QEMU configuration for NE2K HOT 1
- [ne2k] Georg's feedback HOT 1
- Make network card visible on the host HOT 2
- ktcp will not start HOT 5
- Qemu script HOT 3
- Menuconfig HOT 3
- kill command working? HOT 2
- Move ne2k.h HOT 4
- [eth] Add ioctl() to get / set MAC address
- Telnet test HOT 1
- [romfs] Replace low-level routines by generic code
- Recover ongoing activities from upstream HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elks.