{"id":25690149,"url":"https://github.com/mweisel/cisco-nexus-ospf-p2p","last_synced_at":"2026-04-27T00:31:44.778Z","repository":{"id":229240634,"uuid":"270126968","full_name":"mweisel/cisco-nexus-ospf-p2p","owner":"mweisel","description":"This Vagrant project demonstrates a single area OSPF point-to-point network topology with three Cisco Nexus 9000v nodes.","archived":false,"fork":false,"pushed_at":"2020-07-19T20:24:29.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-02T07:06:11.337Z","etag":null,"topics":["ansible","cisco-nexus","cisco-nx-os","libvirt-provider","vagrant","vagrant-libvirt"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mweisel.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}},"created_at":"2020-06-06T22:55:14.000Z","updated_at":"2022-09-26T17:42:13.000Z","dependencies_parsed_at":"2024-03-22T23:46:53.830Z","dependency_job_id":"d0093462-83db-47eb-83fe-f93c16d61eae","html_url":"https://github.com/mweisel/cisco-nexus-ospf-p2p","commit_stats":null,"previous_names":["mweisel/cisco-nexus-ospf-p2p"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mweisel/cisco-nexus-ospf-p2p","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nexus-ospf-p2p","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nexus-ospf-p2p/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nexus-ospf-p2p/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nexus-ospf-p2p/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mweisel","download_url":"https://codeload.github.com/mweisel/cisco-nexus-ospf-p2p/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mweisel%2Fcisco-nexus-ospf-p2p/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32318417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"ssl_error","status_checked_at":"2026-04-26T23:26:25.802Z","response_time":129,"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":["ansible","cisco-nexus","cisco-nx-os","libvirt-provider","vagrant","vagrant-libvirt"],"created_at":"2025-02-24T22:16:33.340Z","updated_at":"2026-04-27T00:31:44.763Z","avatar_url":"https://github.com/mweisel.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"![Cisco Nexus 9000v OSPF p2p topology](network-diagram.png)\n\nThis Vagrant project demonstrates a single area OSPF point-to-point network topology with three Cisco Nexus 9000v nodes.\n\n## Ingredients\n\n  * [Vagrant](https://www.vagrantup.com)\n  * [vagrant-libvirt](https://github.com/vagrant-libvirt/vagrant-libvirt)\n  * [Cisco Nexus 9000v Vagrant box](https://github.com/mweisel/cisco-nxos9kv-vagrant-libvirt)\n  * [Python](https://www.python.org) \u003e= 3.5\n  * [Ansible](https://www.ansible.com) \u003e= 2.9\n\n## Prerequisites\n\n01\\. Add a DHCP reservation for each Cisco Nexus 9000v management interface.\n\nRefer to [Controlling Vagrant Box Management IP](https://codingpackets.com/blog/controlling-vagrant-box-management-ip) for more information.\n\n\u003cpre\u003e\n$ \u003cb\u003evirsh net-dumpxml vagrant-libvirt\u003c/b\u003e\n\u0026lt;network ipv6='yes'\u0026gt;\n  \u0026lt;name\u0026gt;vagrant-libvirt\u0026lt;/name\u0026gt;\n  \u0026lt;uuid\u0026gt;e9d9b270-22b2-46d9-a397-91ca3117430b\u0026lt;/uuid\u0026gt;\n  \u0026lt;forward mode='nat'\u0026gt;\n    \u0026lt;nat\u0026gt;\n      \u0026lt;port start='1024' end='65535'/\u0026gt;\n    \u0026lt;/nat\u0026gt;\n  \u0026lt;/forward\u0026gt;\n  \u0026lt;bridge name='virbr1' stp='on' delay='0'/\u0026gt;\n  \u0026lt;mac address='52:54:00:d9:f5:84'/\u0026gt;\n  \u0026lt;ip address='192.168.121.1' netmask='255.255.255.0'\u0026gt;\n    \u0026lt;dhcp\u0026gt;\n      \u0026lt;range start='192.168.121.1' end='192.168.121.254'/\u0026gt;\n      \u0026lt;host mac='\u003cb\u003e52:54:00:4f:ae:45\u003c/b\u003e' ip='\u003cb\u003e192.168.121.31\u003c/b\u003e'/\u0026gt;\n      \u0026lt;host mac='\u003cb\u003e52:54:00:4a:f1:ca\u003c/b\u003e' ip='\u003cb\u003e192.168.121.32\u003c/b\u003e'/\u0026gt;\n      \u0026lt;host mac='\u003cb\u003e52:54:00:38:33:22\u003c/b\u003e' ip='\u003cb\u003e192.168.121.33\u003c/b\u003e'/\u0026gt;\n    \u0026lt;/dhcp\u0026gt;\n  \u0026lt;/ip\u0026gt;\n\u0026lt;/network\u0026gt;\n\u003c/pre\u003e\n\n02\\. Set the SSH client configuration for the Cisco Nexus 9000v nodes.\n\nRefer to [Vagrant SSH Config Trick](https://codingpackets.com/blog/vagrant-ssh-config-trick) for more information.\n\n\u003cpre\u003e\n$ \u003cb\u003etail -n +1 $HOME/.ssh/config $HOME/.ssh/vagrant.d/sshconfig\u003c/b\u003e\n==\u003e /home/marc/.ssh/config \u003c==\nInclude vagrant.d/sshconfig\n\n==\u003e /home/marc/.ssh/vagrant.d/sshconfig \u003c==\n### Cisco Nexus 9000v\n\nHost nx01\n  HostName 192.168.121.31\n  User vagrant\n  Port 22\n  UserKnownHostsFile /dev/null\n  StrictHostKeyChecking no\n  PasswordAuthentication no\n  IdentityFile ~/.vagrant.d/insecure_private_key\n  IdentitiesOnly yes\n  LogLevel FATAL\n\nHost nx02\n  HostName 192.168.121.32\n  User vagrant\n  Port 22\n  UserKnownHostsFile /dev/null\n  StrictHostKeyChecking no\n  PasswordAuthentication no\n  IdentityFile ~/.vagrant.d/insecure_private_key\n  IdentitiesOnly yes\n  LogLevel FATAL\n\nHost nx03\n  HostName 192.168.121.33\n  User vagrant\n  Port 22\n  UserKnownHostsFile /dev/null\n  StrictHostKeyChecking no\n  PasswordAuthentication no\n  IdentityFile ~/.vagrant.d/insecure_private_key\n  IdentitiesOnly yes\n  LogLevel FATAL\n\u003c/pre\u003e\n\n## Steps\n\n01\\. Clone this GitHub repo and _cd_ into the `ansible` subdirectory.\n\n\u003cpre\u003e\n$ \u003cb\u003egit clone https://github.com/mweisel/cisco-nexus-ospf-p2p\u003c/b\u003e\n$ \u003cb\u003ecd cisco-nexus-ospf-p2p/ansible\u003c/b\u003e\n\u003c/pre\u003e\n\n02\\. Create a Python virtual environment.\n\n\u003cpre\u003e\n$ \u003cb\u003epython3 -m venv .venv\u003c/b\u003e\n\u003c/pre\u003e\n\n03\\. _Activate_ the Python virtual environment.\n\n\u003cpre\u003e\n$ \u003cb\u003esource .venv/bin/activate\u003c/b\u003e\n\u003c/pre\u003e\n\n04\\. Update the `pip` and `setuptools` Python packages.\n\n\u003cpre\u003e\n$ \u003cb\u003epip install -U pip setuptools\u003c/b\u003e\n\u003c/pre\u003e\n\n05\\. _Reactivate_ the Python virtual environment.\n\n\u003cpre\u003e\n$ \u003cb\u003edeactivate \u0026\u0026 source .venv/bin/activate\u003c/b\u003e\n\u003c/pre\u003e\n\n06\\. Install the `ansible` and `paramiko` Python packages.\n\n\u003cpre\u003e\n$ \u003cb\u003epip install -r requirements.txt\u003c/b\u003e\n\u003c/pre\u003e\n\n07\\. _Reactivate_ the Python virtual environment.\n\n\u003cpre\u003e\n$ \u003cb\u003edeactivate \u0026\u0026 source .venv/bin/activate\u003c/b\u003e\n\u003c/pre\u003e\n\n08\\. Instantiate the Cisco Nexus 9000v nodes.\n\n\u003cpre\u003e\n$ \u003cb\u003evagrant up --no-parallel\u003c/b\u003e\n\u003c/pre\u003e\n\n09\\. Run the Ansible playbook to configure the Cisco Nexus 9000v nodes.\n\n\u003cpre\u003e\n$ \u003cb\u003eansible-playbook set-config.yml\u003c/b\u003e\n\u003c/pre\u003e\n\n10\\. Verify the configuration.\n\n\u003cpre\u003e\n$ \u003cb\u003essh nx02\u003c/b\u003e\n\u003c/pre\u003e\n\n\u003cpre\u003e\nnx02# \u003cb\u003eshow ip ospf neighbors\u003c/b\u003e\nnx02# \u003cb\u003eshow ip ospf route\u003c/b\u003e\nnx02# \u003cb\u003erun bash for lo in 1 3; do ping -c5 192.0.2.${lo}; done\u003c/b\u003e\n\u003c/pre\u003e\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmweisel%2Fcisco-nexus-ospf-p2p","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmweisel%2Fcisco-nexus-ospf-p2p","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmweisel%2Fcisco-nexus-ospf-p2p/lists"}