{"id":13498194,"url":"https://github.com/smartbgp/yabgp","last_synced_at":"2026-03-09T07:12:52.609Z","repository":{"id":30356529,"uuid":"33908998","full_name":"smartbgp/yabgp","owner":"smartbgp","description":":bowtie:Yet Another BGP Python Implementation","archived":false,"fork":false,"pushed_at":"2026-01-26T08:23:46.000Z","size":1196,"stargazers_count":242,"open_issues_count":14,"forks_count":68,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-01-26T18:40:32.113Z","etag":null,"topics":["api","bgp","python","sdn"],"latest_commit_sha":null,"homepage":"http://yabgp.readthedocs.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smartbgp.png","metadata":{"files":{"readme":"README-zh.rst","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":"2015-04-14T03:36:40.000Z","updated_at":"2026-01-26T03:30:06.000Z","dependencies_parsed_at":"2024-03-03T10:26:59.460Z","dependency_job_id":"cf906bf1-4527-41da-a826-a76e51a02467","html_url":"https://github.com/smartbgp/yabgp","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"purl":"pkg:github/smartbgp/yabgp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartbgp%2Fyabgp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartbgp%2Fyabgp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartbgp%2Fyabgp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartbgp%2Fyabgp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartbgp","download_url":"https://codeload.github.com/smartbgp/yabgp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartbgp%2Fyabgp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30286258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: 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":["api","bgp","python","sdn"],"created_at":"2024-07-31T20:00:53.615Z","updated_at":"2026-03-09T07:12:52.582Z","avatar_url":"https://github.com/smartbgp.png","language":"Python","funding_links":[],"categories":["Uncategorized","Python"],"sub_categories":["Uncategorized"],"readme":"YABGP\n=====\n\nyabgp是什么？\n~~~~~~~~~~~~~~\n\nYABGP是另一种BGP协议的Python实现。它可以和各种路由器（包括Cisco/华为/Juniper的真实设备和一些模拟路由器比如GNS3）建立BGP连接，\n接收解析BGP messages以供将来分析。\n\n支持通过RESTful API发送BGP messages(route refresh/update)到其对等体。YABGP不能自主地发送任何BGP update messages，\n它只是一个代理，一个控制器可以控制多个代理。\n\n我们严格遵循RFCs文档的约定开发此项目。\n\n此软件可应用于Linux/Unix，Mac OS和windows系统。\n\n功能\n~~~~~~~~\n\n-  它可以通过IPv4地址以主动模式（作为TCP客户端）建立BGP会话连接。\n\n-  支持TCP的MD5认证（只有IPv4并且不支持windows系统）\n\n-  BGP capabilities支持：4字节的ASN，Route Refresh(Cisco Route Refresh)，添加发送/接收路径；\n\n-  地址族支持：\n\n   - IPv4/IPv6 Unicast\n   \n   - IPv4/IPv6 Labeled Unicast\n\n   - IPv4 Flowspec(有限支持)\n\n   - IPv4 SR Policy(draft-previdi-idr-segment-routing-te-policy-07)\n\n   - IPv4/IPv6 MPLSVPN\n\n   - EVPN (部分支持)\n   \n-  解析所有BGP messages为json格式并写入本地文件（可配置）；\n\n-  支持通过基本的RESTFUL API获取对等体运行信息或者发送BGP messages。\n\n快速开始\n~~~~~~~~~~~\n\n我们推荐在python的虚拟环境中运行``yabgp``，可以通过源码或者pip工具安装\n\n源码安装：\n\n.. code:: bash\n\n    $ virtualenv yabgp-virl\n    $ source yabgp-virl/bin/activate\n    $ git clone https://github.com/smartbgp/yabgp\n    $ cd yabgp\n    $ pip install -r requirements.txt\n    $ cd bin\n    $ python yabgpd -h\n\npip安装：\n\n.. code:: bash\n\n    $ virtualenv yabgp-virl\n    $ source yabgp-virl/bin/activate\n    $ pip install yabgp\n    $ which yabgpd\n    /home/yabgp/yabgp-virl/bin/yabgpd\n    $ yabgpd -h\n\n例如：\n\n.. code:: bash\n\n    $ yabgpd --bgp-local_addr=1.1.1.1 --bgp-local_as=65001 --bgp-remote_addr=1.1.1.2 --bgp-remote_as=65001 --bgp-afi_safi=ipv4\n\n文档\n~~~~~~~~~~~~~\n\n更多信息请参考 http://yabgp.readthedocs.org\n\n相关项目\n~~~~~~~~~~~~~~~~\n\n路由监控能够向YABGP自动报警。https://github.com/nerdalize/routewatch\n\n基于YABGP的一个BGP update生成器。https://github.com/trungdtbk/bgp-update-gen\n\n支持\n~~~~~~~\n\n加入Slack，欢迎问题与建议，我们一起讨论。http://smartbgp.slack.com/\n\n可以发送email到xiaoquwl@gmail.com，或者在GitHub上提issue。\n\n贡献\n~~~~~~~~~~\n\n在这里创建GitHub Pull Request。https://github.com/smartbgp/yabgp/pulls\n\n更多信息请阅读HACKING.rst文件。\n\n感谢\n~~~~~~\n\n核心文件比如fsm，protocol我们从https://github.com/wikimedia/PyBal/blob/master/pybal/bgp.py 参考了一部分代码，\n\nmessage解析，我们参照了这里的代码https://github.com/Exa-Networks/exabgp\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartbgp%2Fyabgp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartbgp%2Fyabgp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartbgp%2Fyabgp/lists"}