-
Notifications
You must be signed in to change notification settings - Fork 0
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
Fix network interface enumeration on Mono #28
Comments
FYI, we have some code which implements a |
Is that the same as I have a Interestingly, all methods seem to return the same stuff regardless of PASE or ILE. |
No, it's through a different method and uses neither |
@kadler do you know what interface that was? I was skimming through AIX headers a while back and I noticed some interfaces for querying, but they didn't have any documentation and some seemed to be kernel internals related... |
An attempt but upstream is hesitant due to a future refactor Real Soon Now™. |
Upstream has merged the AIX patch for now. It won't work 100% on i, but enough to omit a patch. When upstream works on importing CoreFX NetworkInterface, I have an idea of the interface to use instead that works properly on both AIX and i. |
Right now Mono can't enumerate network interfaces; it assumes none are installed. What's happening is Mono assumes in the default Unix interface enumerator class that it can list them off with
getifaddrs
, which isn't present under AIX, and is available in a different form with a different name under i. What can be done is writing a backend or two usingSIOCGIFCONF
based enumeration for AIX; and perhaps one usingQp2getifaddrs
under i. (Alternatively, we could point to a wrapper library, but this is a pain.)This is of relatively high importance because the Socket class uses these to enumerate supported network protocols; and that is used by things like DNS. Fixing this will enable a huge swath of tests under AIX CI. Right now, upstream is in the middle of refactoring this, so I don't know if I should wait for them to finish or not.
In the mean time, our binary builds supply a patch to nop out the check for interfaces in Sockets init.
The text was updated successfully, but these errors were encountered: