-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement dedicated interface (for Linux) #30
base: master
Are you sure you want to change the base?
Conversation
I have to admit that I never tried the dedicated interface option, since I didn't have one to spare or anything set up to connect with it. |
|
||
pfdata->pf_meth = PF_METH_LNX; | ||
pfdata->pf_read = osn_pfread_fd; | ||
pfdata->pf_write = osn_pfwrite_fd; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nit: The definition of osn_pfread_fd
and osn_pfwrite_fd
are #ifdef
ed with a different condition. When configuring TUN and TAP out it will be missing. Easy to fix of course.
Arrgh. It seems you're right about pcap working with dedic=true. Could this still be useful in case pcap isn't around? Or maybe I just wasted a few hours. |
It might in principle be useful if pcap is lacking. But my hope is that it is basically always available. |
I'll just add that I'm following this with interest, but I don't have anything useful to add regarding technical details. |
This gives me some interesting hints. In case it's of interest for testing (Rhialto: "... I never tried the dedicated interface option, since I didn't have one to spare or anything set up to connect with it."), I'll just mention how I've been doing my plumbing until now. I've been using
and see the (klt20) KN 'just work', once I had the correct configuration in the relevant SYSTEM: files. I could both telnet into the KN and reach a remote FTP server from the KN. Due to the Panda KN locking up in certain circumstances, apparently in a tight loop, I'm now trying to make a freshly-built KN from this repo work in my environment, and finding a surprising number of difficulties, including behaviour which seems inconsistent with the documentation; I'll write these troubles up after I've put some more time and effort into following the hints here. I'll likely try |
We have seen what is perhaps a similar lock-up when building ITS with KLH10. We don't know why, but it looks like the PDP-10 will stop accepting console input. |
The new stuff in osdnet seems to have made it impossible(?) to use dedicated interfaces, since the only options are tun/tap/pcap but no "raw access". This branch takes code from the Panda KLH10_NET_LNX case which makes that easily possible again.
On one hand, it's better to have a smaller code base (i.e. only the pcap implementation, which somebody else maintains), on the other maybe there could be bugs in one of them? |
I am not dead-set against it, but there are messages above that Maybe with this we reach a point where we could make some sort of plugin implementation? Then extra networking implementations won't add so much complexity any more. There is already, in effect, a sort of API for such a plugin. Or am I now overdoing it? |
That does sound to me like a bit too much effort for changing something that already works quite well. |
As for the matter at hand in this pull request, I am myself a big fan of reusing other people's code. I guess that's some kind of vote in favour of pcap. I could even imagine dropping tun/tap if pcap provides all the necessary features. But again, if it ain't broke don't fix it. |
The new stuff in osdnet seems to have made it impossible(?) to use dedicated interfaces, since the only options are tun/tap/pcap but no "raw access". This branch takes code from the Panda KLH10_NET_LNX case which makes that easily possible again.
Someone should review this e.g. to see if it can be auto-enabled; I only verified that it works with
autogen.sh --enable-lnx
and
the "ifmeth=lnx dedic=true" case for ni20.
And maybe someone can tell me this wasn't necessary because some case of the old code worked just as well?