{ "info": { "author": "James Anderson", "author_email": "janderson@braintrace.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: OpenStack", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: System :: Networking" ], "description": "# ovsportranges\n\n### Description\nOpenflow requires port ranges to be defined as bitwise matches. This module \nprovides an easy way to the port/mask ranges for a specified port range.\n\nAs described in the [ovs-ofctl](http://www.openvswitch.org/support/dist-docs-2.5/ovs-ofctl.8.txt) documentation:\n> Bitwise match on TCP (or UDP or SCTP) source or destination\n> port. The port and mask are 16-bit numbers written in decimal\n> or in hexadecimal prefixed by 0x. Each 1-bit in mask requires\n> that the corresponding bit in port must match. Each 0-bit in\n> mask causes the corresponding bit to be ignored.\n\nIt is recommended to only use this for large ranges that would require a large number of flows.\n\n### Installation\n`pip install ovsportranges`\n\n### Basic Usage\n``` python\nfrom ovsportrange import OvsPorts\n\nif __name__ == \"__main__\":\n ovsports = OvsPorts()\n ranges = ovsports.get_port_ranges(1000, 1999)\n for r in ranges:\n print(\"Port: {}, Bitmask: {}\".format(r.port, r.bitmask))\n```\n\n### Output\n```text\nPort: 1000, Bitmask: 65528\nPort: 1008, Bitmask: 65520\nPort: 1024, Bitmask: 65024\nPort: 1536, Bitmask: 65280\nPort: 1792, Bitmask: 65408\nPort: 1920, Bitmask: 65472\nPort: 1984, Bitmask: 65520\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Braintrace/ovsportranges", "keywords": "openflow port ranges ovs ofctl", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ovsportranges", "package_url": "https://pypi.org/project/ovsportranges/", "platform": "", "project_url": "https://pypi.org/project/ovsportranges/", "project_urls": { "Homepage": "https://github.com/Braintrace/ovsportranges" }, "release_url": "https://pypi.org/project/ovsportranges/0.1.2/", "requires_dist": null, "requires_python": ">2.7", "summary": "OVS bitwise port/mask ranges", "version": "0.1.2" }, "last_serial": 4269162, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "6db416758bd825facd1dd318076e9e7e", "sha256": "4b2bfedf63b20200adf18f59ddd9b24bb0a2f54ecda21e47cea5d0e523506b58" }, "downloads": -1, "filename": "ovsportranges-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6db416758bd825facd1dd318076e9e7e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">2.7", "size": 6240, "upload_time": "2018-09-13T15:30:45", "url": "https://files.pythonhosted.org/packages/1f/3b/1c1c7e7b57ea1e6560100d557aaedf68f332e52586b81e882564dc2b78c1/ovsportranges-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ff349295baa4ee0b73e09d354217a60", "sha256": "fe0db6869c14cc754d894f5f1effd52f7ad197ad0ea92274f7ce847f2c771272" }, "downloads": -1, "filename": "ovsportranges-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5ff349295baa4ee0b73e09d354217a60", "packagetype": "sdist", "python_version": "source", "requires_python": ">2.7", "size": 3784, "upload_time": "2018-09-13T15:30:46", "url": "https://files.pythonhosted.org/packages/f6/43/528060119d194de7e11143551d10fc99ba858edf6d7fee93c2b9dcb2d13c/ovsportranges-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6db416758bd825facd1dd318076e9e7e", "sha256": "4b2bfedf63b20200adf18f59ddd9b24bb0a2f54ecda21e47cea5d0e523506b58" }, "downloads": -1, "filename": "ovsportranges-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6db416758bd825facd1dd318076e9e7e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">2.7", "size": 6240, "upload_time": "2018-09-13T15:30:45", "url": "https://files.pythonhosted.org/packages/1f/3b/1c1c7e7b57ea1e6560100d557aaedf68f332e52586b81e882564dc2b78c1/ovsportranges-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ff349295baa4ee0b73e09d354217a60", "sha256": "fe0db6869c14cc754d894f5f1effd52f7ad197ad0ea92274f7ce847f2c771272" }, "downloads": -1, "filename": "ovsportranges-0.1.2.tar.gz", "has_sig": false, "md5_digest": "5ff349295baa4ee0b73e09d354217a60", "packagetype": "sdist", "python_version": "source", "requires_python": ">2.7", "size": 3784, "upload_time": "2018-09-13T15:30:46", "url": "https://files.pythonhosted.org/packages/f6/43/528060119d194de7e11143551d10fc99ba858edf6d7fee93c2b9dcb2d13c/ovsportranges-0.1.2.tar.gz" } ] }