Giter VIP home page Giter VIP logo

Comments (9)

georgp24 avatar georgp24 commented on June 12, 2024

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.

mfld-fr avatar mfld-fr commented on June 12, 2024

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.

georgp24 avatar georgp24 commented on June 12, 2024

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.

georgp24 avatar georgp24 commented on June 12, 2024

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.

mfld-fr avatar mfld-fr commented on June 12, 2024

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.

georgp24 avatar georgp24 commented on June 12, 2024

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.

mfld-fr avatar mfld-fr commented on June 12, 2024

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.

georgp24 avatar georgp24 commented on June 12, 2024

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.

mfld-fr avatar mfld-fr commented on June 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.