tundra-xaxlib-python
tundra-xaxlib-python, or Tundra-NAT64 external address translation library for Python, enables one to easily
parse and constructs wireformat messages used by Tundra-NAT64 external address translation protocol
(specification)
in Python programs. Although this library will probably be most commonly used to implement servers, it is also
able to construct request messages and parse response messages, which are actions that only the client, i.e.
Tundra-NAT64, needs to perform.
Installation
Coming soon!
Usage
Classes and variables try to reflect the protocol specification as closely as possible in terms of both names and functionality, so I would recommend to start there.
This library's central (data)classes are RequestMessage,
SuccessfulResponseMessage and
ErroneousResponseMessage. Each of them can be instantiated the
usual way, or by using the from_wireformat() classmethod for parsing wireformat. The instances then have the
to_wireformat() method for constructing wireformat. The RequestMessage
class has additional methods for constructing response message objects which use existing data from the request:
generate_successful_response() and generate_erroneous_response(). Methods which have it documented in their
docstrings raise InvalidMessageDataExc (or a subclass thereof) in
case an error occurs. If you, for some reason, needed to detect the appropriate message class from wireformat or
instantiate it straightaway, the WireformatParsingHelpers class
is there to help with that.
Examples
- 001_nat64.py – An example external address translation server which works almost exactly
the same as Tundra-NAT64's built-in
nat64addressing mode, i.e. it is able to, without the help of a NAT66, statelessly translate packets from one source IPv6 to one source IPv4 and do the inverse process for packets going the other way.
Licensing
This project is licensed under the 3-clause BSD license – see the LICENSE file.
Programmed by Vít Labuda.
Metadata
Release files for tundra-xaxlib-python 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tundra-xaxlib-python-1.0.1.tar.gz | 10.3 kB | Details |
Release files / tundra-xaxlib-python-1.0.1.tar.gz
| Download URL | tundra-xaxlib-python-1.0.1.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41de676b8d9abfa6385f73f7d0d345f84b8e54458475a1ee151fe86a6876a015
|
|
BLAKE2b-256 checksum How to use checksums |
7a958515826c844453c45ad4ce19d0e331e3e532f9f61dd187d760bb06d13c28
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.2
|