Skip to main content

OVS bitwise port/mask ranges

Project description

# ovsportranges

### Description
Openflow requires port ranges to be defined as bitwise matches. This module
provides an easy way to the port/mask ranges for a specified port range.

As described in the [ovs-ofctl](http://www.openvswitch.org/support/dist-docs-2.5/ovs-ofctl.8.txt) documentation:
> Bitwise match on TCP (or UDP or SCTP) source or destination
> port. The port and mask are 16-bit numbers written in decimal
> or in hexadecimal prefixed by 0x. Each 1-bit in mask requires
> that the corresponding bit in port must match. Each 0-bit in
> mask causes the corresponding bit to be ignored.

It is recommended to only use this for large ranges that would require a large number of flows.

### Installation
`pip install ovsportranges`

### Basic Usage
``` python
from ovsportrange import OvsPorts

if __name__ == "__main__":
ovsports = OvsPorts()
ranges = ovsports.get_port_ranges(1000, 1999)
for r in ranges:
print("Port: {}, Bitmask: {}".format(r.port, r.bitmask))
```

### Output
```text
Port: 1000, Bitmask: 65528
Port: 1008, Bitmask: 65520
Port: 1024, Bitmask: 65024
Port: 1536, Bitmask: 65280
Port: 1792, Bitmask: 65408
Port: 1920, Bitmask: 65472
Port: 1984, Bitmask: 65520
```


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ovsportranges-0.1.2.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

ovsportranges-0.1.2-py2.py3-none-any.whl (6.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ovsportranges-0.1.2.tar.gz.

File metadata

  • Download URL: ovsportranges-0.1.2.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

File hashes

Hashes for ovsportranges-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fe0db6869c14cc754d894f5f1effd52f7ad197ad0ea92274f7ce847f2c771272
MD5 5ff349295baa4ee0b73e09d354217a60
BLAKE2b-256 f643528060119d194de7e11143551d10fc99ba858edf6d7fee93c2b9dcb2d13c

See more details on using hashes here.

File details

Details for the file ovsportranges-0.1.2-py2.py3-none-any.whl.

File metadata

  • Download URL: ovsportranges-0.1.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

File hashes

Hashes for ovsportranges-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4b2bfedf63b20200adf18f59ddd9b24bb0a2f54ecda21e47cea5d0e523506b58
MD5 6db416758bd825facd1dd318076e9e7e
BLAKE2b-256 1f3b1c1c7e7b57ea1e6560100d557aaedf68f332e52586b81e882564dc2b78c1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page