{"id":31815982,"url":"https://github.com/xilinx/pynq-networking","last_synced_at":"2026-02-15T09:37:41.311Z","repository":{"id":91304560,"uuid":"106756373","full_name":"Xilinx/PYNQ-Networking","owner":"Xilinx","description":"Networking Overlay on PYNQ","archived":false,"fork":false,"pushed_at":"2019-03-05T21:58:41.000Z","size":8882,"stargazers_count":50,"open_issues_count":8,"forks_count":18,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-10-11T09:29:30.650Z","etag":null,"topics":["pynq"],"latest_commit_sha":null,"homepage":"","language":"Tcl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xilinx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-10-12T23:43:43.000Z","updated_at":"2025-09-24T05:15:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"d93aa8d2-4f18-4cf2-b182-f782da050b72","html_url":"https://github.com/Xilinx/PYNQ-Networking","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Xilinx/PYNQ-Networking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FPYNQ-Networking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FPYNQ-Networking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FPYNQ-Networking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FPYNQ-Networking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xilinx","download_url":"https://codeload.github.com/Xilinx/PYNQ-Networking/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FPYNQ-Networking/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29474810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T06:58:05.414Z","status":"ssl_error","status_checked_at":"2026-02-15T06:58:05.085Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pynq"],"created_at":"2025-10-11T09:27:37.974Z","updated_at":"2026-02-15T09:37:41.303Z","avatar_url":"https://github.com/Xilinx.png","language":"Tcl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PYNQ-Networking\nPYNQ networking overlay enables networking capabilities from PL on the board.\nTraditionally, the PS on ZYNQ board connects to the Ethernet port, while this \noverlay also bridges the PL on ZYNQ to the Ethernet port. MQTT-SN is \nimplemented on this overlay, leveraging the `scapy` python library.\n\n![](./block_diagram.jpg)\n\n## Getting Started\nOn the latest PYNQ image, use the following command in a terminal.\n\n```\nsudo apt-get install tcpdump iptables ebtables bridge-utils\nsudo pip3 install --upgrade git+https://github.com/Xilinx/PYNQ-Networking.git\n```\n\nAfter the setup, the notebook folder will be populated, and users can try\nthe demo there. Users do not have to run any additional steps.\n\n*Note: For completeness, the following few sections introduce what have been done\nto the PYNQ image. These steps do not need to be performed\nby users, since they will be taken care of when this package is being installed.*\n\n## Boot Files\nThis package requires the boot files to be compatible. \nFor example, the device tree must have the following patch:\n\n```\n/ {\n\tchosen {\n\t\tbootargs = \"console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=1 uio_pdrv_genirq.of_id=\\\"generic-uio\\\"\";\n\t\tlinux,stdout-path = \"/amba@0/serial@E0001000\";\n\t};\n\n\tamba {\n\n\t\tfabric@40000000 {\n\t\t\tcompatible = \"generic-uio\";\n\t\t\treg = \u003c0x40000000 0x10000\u003e;\n\t\t\tinterrupt-parent = \u003c\u0026intc\u003e;\n\t\t\tinterrupts = \u003c0x0 0x1d 0x4\u003e;\n\t\t};\n\n\t\tethernet@e000b000 {\n\t\t\tphy-handle = \u003c\u0026ethernet_phy\u003e;\n                        ethernet_phy: ethernet-phy@1{\n\t\t\t\treg = \u003c1\u003e;\n\t\t\t};\n\t\t};\n\n\t\tslcr@f8000000 {\n\t\t\tclkc@100 {\n\t\t\t\tfclk-enable = \u003c0xf\u003e;\n\t\t\t};\n\t\t};\n\t};\n\n\n\txlnk {\n\t\tcompatible = \"xlnx,xlnk-1.0\";\n\t\tclock-names = \"xclk0\", \"xclk1\", \"xclk2\", \"xclk3\";\n\t\tclocks = \u003c\u0026clkc 0xf \u0026clkc 0x10 \u0026clkc 0x11 \u0026clkc 0x12\u003e;\n\t};\n\tusb_phy0: phy0 {\n\t\tcompatible = \"ulpi-phy\";\n\t\t#phy-cells = \u003c0\u003e;\n\t\treg = \u003c0xe0002000 0x1000\u003e;\n\t\tview-port = \u003c0x170\u003e;\n\t\tdrv-vbus;\n\t};\n   \n};\n\n\u0026usb0 {\n\tusb-phy = \u003c\u0026usb_phy0\u003e;\n};\n```\nThe ethernet entry must have bridging enabled as above.\n\nAgain, if you are on the latest PYNQ image, you do not have\nto do this step.\n\n## Modifying `eth0` Port\nUsers can modify the `eth0` port on Linux \n(`/etc/network/interfaces.d/eth0`). An example of the modified file is stored\nin `interfaces.d` folder of this repository.\n\nThis step will be performed automatically during the installation process. \nA backup of the original file is also produced in the same directory \n(`/etc/network/interfaces.d/`).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxilinx%2Fpynq-networking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxilinx%2Fpynq-networking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxilinx%2Fpynq-networking/lists"}