-
Notifications
You must be signed in to change notification settings - Fork 26
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
Would very much like to have IPv6 support within both iptools and triebeard #33
Comments
The only way I can think to enable IPv6 support is to create an S3 or S4 "128-bit integer" class (which isn't a big deal, but something I think we've just been avoiding). I'm curious as to the use-case or support for both in the same trie (I, to, do quite a bit of work with IP addresses at Rapid7). |
I do a lot of work with access patterns to Web properties, or cataloguing routers on traceroutes (or at least intermediate hops). The access patterns and router addresses are a mixed bag of v4 and v6 addresses, and for my purposes the network type is pretty much immaterial. Incidentally, clarifying my comment above, py-radix is supported in Python 3: It was just difficult to find out what to call the package to install it. It permits such mixed use. There's a design choice here ... There are uses for tries in many contexts, including prefix-matching. These are especially population in Biology, esp genetic database searches, as in the Biopython package, but these are ill-suited for network addresses. (I suppose some hacking of BOUNDARY_CHARACTERS there could transform the Biopython version to a more general one.) So, the question is whether or not triebeard wants to generalize to a arbitrary string-prefix matching facility, or if it wants to keep its IP roots. |
Triebeard doesn't have IP roots - I implemented it for domain matching, On Tuesday, 18 October 2016, empirical-bayesian <[email protected]
|
I've already built searching within CIDRs using On Tue, Oct 18, 2016 at 3:43 PM, Oliver Keyes [email protected]
|
Gotcha. I can't promise work on it any time soon (got other projects!) but I don't have any opposition. |
I'm happy to be a tester of alpha code when and if you have it. My main dev environment is Ubuntu, but eventually I'll want anything there is on Windows (7+). I have my own work project, which will be open sourced, to do some of these things. I don't think they will be as efficient as anything in Rcpp, but I'm also doing a radix tree type of implementation using bit vectors (via bin in the miscFuncs package). The biggest thing I continue to rely upon Python for, besides IPv6 functionality, is canonicalizing IPv6 addresses because of the several ways they can be written. |
I currently need to use Python 3 for any serious Internet address hacking, principally using the ipaddress, netaddr, and, occasionally, socket modules. There is also py-radix
, but that's apparently only available for Python 2.7. There are also trie and triefind modules in the Biopython package that I have not entirely explored.A key requirement is that IPv4 and IPv6 addresses be storable within the same trie without, for instance, standardization of IPv4 within IPv6.
The text was updated successfully, but these errors were encountered: