-
Notifications
You must be signed in to change notification settings - Fork 16
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
ipv6 AF_INET6 support #6
Comments
Thanks for the report. There appears to be two issues.
Don't know when I can get to this. Major changes in FreeIPMI are usually forced upon me by my organization needs and this one is decently major. But perhaps I can slowly try to add piecemeal (minimally part 2 above). |
Here is an initial run at adding IPv6 support to ipmipower. Discovery of the ipv6 address is a much different can of worms. (FWIW, hponcfg -all -w foo.xml DOES dump it, so it's definitely available somehow.) I have one issue with this patch, that I would really like to see dealt with: In every other tool out there, ipv6 literal addresses (esp where port numbers are present), are either "IP:v6::addr:required_port" or "[IP:v6::addr]:optional_port". ipmipower has already assigned syntactical significance to [], which I believe could be extended to allow ipv6 literals to use [] as well. For the moment and for my testing, I just went with {} instead of [], and have verified that ipmipower works when talking to a Proliant DL380 G7 with current firmware. (1.80 firmware does not listen on the IPv6 impi port, 1.88 does.) I'd like to get something landed in the upstream this week, if at all possible. In the best case, with a final decision on how to add ipv6 literals to the syntax. |
Hi Lamont, thanks for taking an initial crack at this. Need to look into your patch more, but in the mean time could you rebase against master and send a github PR? We can iterate easier that way. Thanks. |
First pass (without trying it, just skimming) looks pretty good. I'm curious what other tools support the "[IP:v6::addr]:optional_port" format you mentioned above. I want to ask some of the people here Is this something you need on the soon-ish side in ipmipower specifically? Thus your hope for this to move fast? Or did you view this generically speaking as the beginning of a patch for something |
If we settle on the syntax for ipv6 literals, and know that they're coming in 1.6, then I have no issue with us maintaining the resulting fork for 1.4 and 1.5. If we go the route of expanding the [] syntax, I'd really love for someone more familiar with that parser to do the change. |
Yeah, IPv6 wouldn't go into the 1.4 or 1.5 line. It'd definitely be for a future 1.6 line (master branch). If your concern was mostly over conflicts in maintenance branches, don't worry about it for FreeIPMI 1.4/1.5 line. That should hopefully allow you to get your fix into ubuntu archive on schedule. |
I'm splitting this issue into two, one is AF_INET6 support and IPv6 ipmi-config will be another issue. |
Anyone wandering to this issue, you may see my (likely slow) progress on branch "ipv6" here on github. |
@lamontj I think I've completed AF_INET6 support in the previously mentioned "ipv6" branch. If you have a chance, could you check it out? See if there's anything obvious missing before I merge into master. Thanks |
I should be able to work through this early next week. |
With c095144, there's only one small issue: |
At the moment the code does consider |
The issue is that 2001:db8:3::100 is ambiguous as to whether it means port 100 on 2001:db8:3::, or the default port on 2001:db8:3:100. Apache and others require the brackets to always surround IPv6 literals, whether a port is present or not. |
Ahhh, I didn't see the double colon. That's something I'll have to add as another special case. Hmmm, perhaps will require another layer of special casing as most of the code is now:
so gotta add an else-if or maybe a wrapper function that handles all of it. |
@lamontj The fix was way easier than I thought it'd be, pumped it out this afternoon. I non-fast-forwarded the branch so you may want to recreate the branch from scratch. |
@lamontj How's this look? I'm thinking its good to merge into master now. |
Looks good to me: |
Awesome thanks. It's merged upstream now. |
1.4.11 lacks any ipv6 support. 1.5.3 (current upstream from 1 Aug 2016) also lacks ipv6 support.
Note that both ipmitool (since 2014 or so) and openipmi (since 2003-11-11) support IPv6, according to their changelogs. I suspect that the openipmi stuff is either vendor-specific, or simply that it started using AF_INET6 sockets...
At a minimum, the things we've run into:
Happy to test changes -- generally using HP Proliant's with iLo 4 or so.
The text was updated successfully, but these errors were encountered: