-
Notifications
You must be signed in to change notification settings - Fork 251
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
Please allow -g at least for smaller IPv6 ranges #59
Comments
Well, if to refer to fping's error message it's clearly seen that even
;-) |
I have started looking into this, and found a bit of an inconsistency regarding limiting the number of hosts to ping:
This happens because only the Before implementing IPv6 support for IPv6 support for the On the positive side, this moves the generator problem into the realm of The limit for the number of targets should be similar for IPv4 and IPv6. I do not think it is necessary to account for the different address sizes, and then there is the constant overhead for per host statistics, at least with options like The examples of /115 and /118 given in this feature request correspond to 8,192 (2^13) and 1,024 (2^10) addresses, and a /112 (65,536 addresses) would still be below 100,000. Thus I would like to add the To impose a general limit on the number of targets, including reading targets from a file, the limiter would probably need to be added to |
Thanks for looking into this!
JFYI: You might want to have a look at prips (for "print IPs") which seems to do exactly the same. It is also available packaged in at least the Debian universe (including Ubuntu). |
Thanks for adding this information. For people trying to reproduce the above, A difference between I do not plan to handle the first and last address of an IPv6 CIDR range differently from the rest, because the lowest address is the so called Subnet-Router anycast address, and there is no broadcast address in IPv6, so there is no reason to exclude them even for networks using the provided CIDR range for a link (e.g., /126 point-to-point links, sometimes used for $reasons). (I already knew of |
To document what I have found out so far: Some C compilers support a 128-bit integer type for some platforms, e.g., a not too old GCC supports it for 64-bit platforms, see, e.g., the GCC online documentation. It seems this can be tested for via the In tests with GCC 7.5 on x86_64 I could use Thus it may be possible to implement an IPv6 generator similarly to the IPv4 generator by using A different way would be to use two unsigned 64 bit integers ( The portable |
__uint128_t is non-standard and has ABI issues between gcc and clang, so whatever you do, don't use it in a dynamic object (lib, etc). |
If I should use I have a first implementation of IPv6 support for After all that I want to split everything into a few nice commits and create a pull request. That will take some time. |
I have just created pull request #254 for open-coded IPv6 generator support. |
I have close pull request #254 since there has not been any feedback. It seems as if there is no real interest in this work, despite the help wanted tag on this issue. I would suggest everyone looking for some IPv6 generator like functionality to use an external program and pipe the output from that into |
That's not nice! No feedback for a year does not necessarily mean no interest but can e.g. also mean just not enough time besides maintenance. BTW, I just ran into this again today:
Workaround:
(Replace |
fping6 -g
surely does not make sense in SLAAC environments or with other larger ranges at the size of /64.But for DHCPv6 managed IPv6 ranges (like the /115 and /118 ranges we use at ETH) there is likely some use.
I have no idea where to make the cut for refusing or at least warning the user about pinging a too big range.
The text was updated successfully, but these errors were encountered: