{"id":20074209,"url":"https://github.com/juniper/vqfx10k-vagrant","last_synced_at":"2025-11-27T11:02:44.416Z","repository":{"id":44407691,"uuid":"46591408","full_name":"Juniper/vqfx10k-vagrant","owner":"Juniper","description":"Vagrant projects for vQFX10k","archived":false,"fork":false,"pushed_at":"2020-11-21T02:31:19.000Z","size":128,"stargazers_count":136,"open_issues_count":22,"forks_count":60,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-01-13T00:33:48.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","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/Juniper.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}},"created_at":"2015-11-20T22:59:06.000Z","updated_at":"2024-11-29T11:43:41.000Z","dependencies_parsed_at":"2022-07-15T10:30:55.334Z","dependency_job_id":null,"html_url":"https://github.com/Juniper/vqfx10k-vagrant","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fvqfx10k-vagrant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fvqfx10k-vagrant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fvqfx10k-vagrant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Juniper%2Fvqfx10k-vagrant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Juniper","download_url":"https://codeload.github.com/Juniper/vqfx10k-vagrant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241505084,"owners_count":19973345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-13T14:49:52.563Z","updated_at":"2025-11-27T11:02:39.375Z","avatar_url":"https://github.com/Juniper.png","language":"HTML","funding_links":[],"categories":["Network Simulators and Traffic Generators"],"sub_categories":["SD-WAN"],"readme":"This repository is a library of examples/demo using Vagrant and vqfx10K.\nEach example has its own directory and will contain at least a Vagrantfile\n\n# Launch vqfx10k\n\n**Once you have followed the [installation procedure](INSTALL.md), you can start a topology with few lines**\n\nTo try an example, you just have to go inside a specific directory and run \"vagrant up\":\n```\ngit clone https://github.com/Juniper/vqfx10k-vagrant.git\ncd vqfx10k-vagrant/light-2qfx\nvagrant up\n```\n\n\u003e Some topologies are using Ansible, If you don't have ansible you can start them using\n\u003e `vagrant up --no-provision`\n\nOnce both VMs are up and running, you can connect to them with:\n```\nvagrant ssh vqfx1\nvagrant ssh vqfx2\n```\n\nAvailable examples:\n- [full-1qfx](full-1qfx)\n- [full-1qfx-1srv](full-1qfx-1srv)\n- [full-2qfx](full-2qfx)\n- [light-1qfx](light-1qfx)\n- [light-2qfx](light-2qfx)\n- [light-2qfx-2srv](light-2qfx-2srv)\n- [light-ipfabric-2S-3L](light-ipfabric-2S-3L)\n\n# Installation Guide\n\nInstallation Guide is available [here](INSTALL.md)\n\n# How to contribute\n\nContributions to this repository are welcome and encouraged, especially to:\n- Enhance the documentation of existing examples\n- Enhance existing examples\n- Create new examples\n\nTo contribute\n- Fork this repository\n- Send a merge request\n\n### Guidelines to create a new example\n\nTODO\n\n### How to provide feedback or report an issue\n\nThe best solution to provide feedback is to open a new issue on the [git tracker](https://github.com/Juniper/vqfx10k-vagrant/issues) associated with this repo.  \nBefore opening a new issue, please check the [troubleshooting guide - work in progress](TROUBLESHOOTING.md)\n\n# vQFX10K\n\nvqfx10k is a tool provided for lab and training; this __is not a intended to be used in production.__\nCapacities are similar to a real QFX10K but performance are very limited in this version, few 100s PPS.\n\n## Mode, Architecture and Limitations\n\nvqfx10k for Vagrant can work in 2 modes: **Full** and **Light**\n\n### Full Mode\nIn Full mode, it require 2 VMs for each instance:\n - 1 Routing Engine VM, running Junos (vqfx10k-re-virtualbox-##.box)\n - 1 Packet Forwarding Engine, running Linux (vqfx10k-pfe-virtualbox-##.box)\n\n\u003eIn Full mode, the dataplane is fully functional and is very close to the real QFX10K\n\nThese 2 VMs need to be interconnected with a dedicated private network on their interface number 1, (interface 0 is always reserved for Vagrant for management).\nAll data plane interfaces need to be connected to the Routing Engine (RE) VM. Up to 12 data plane interfaces are supported.\nPort names will be xe-0/0/0 to xe-0/0/11.\n\n#### Full Mode Limitations\nOnly few features are not supported due to some architecture differences between vQFX10K and a real QFX10K\n\nUnsupported features:\n - Analytics\n - Guest VM/ Guest container\n\n### Light Mode\n\nIn Light mode, only 1 Routing Engine VM, running Junos is required for each instance.  \nUp to 5 interfaces are supported to connect to external devices. Interface names will be em3 to em7\n\n#### Light Mode Limitations\nIn Light mode, most data plane features are not supported and all packets are processed in kernel\n\n\u003e Family ethernet-switching is not supported in light mode\n\n### VM Characteristics\n\n#### vqfx10k-re\n\nRequires:\n- 1GB of memory\n- Interfaces type must be type: 82540EM\n\nA maximum of 12 interfaces are supported:\n- first interface is used by vagrant (em0)\n- second interface is used to connect to the PFE VM (em1)\n- third interface is a management port not used (em2)\n- All remaining interfaces can be used to connected to other devices\n\nThis VM has 2 account by default:\n- login: vagrant, with ssh_key authentication using vagrant insecure_key\n- login: root, password: Juniper\n\n\u003e Virtualbox only support 8 interfaces by default\n\n#### vqfx10k-pfe\n\nRequires:\n- 1.5/2GB of memory\n- 1 dedicated core\n\nA maximum of 2 interfaces are supported:\n- first interface is used by vagrant (eth0)\n- second interface is used to connect to the RE VM (eth1)\n\nThis VM has 2 account by default:\n- login: vagrant, with ssh_key authentication using vagrant insecure_key\n- login: root, password: no\n\n# Vagrant\n\n*What is Vagrant*\nVagrant is an open-source (MIT) tool for building and managing virtualized development environments developed by Mitchell Hashimoto and John Bender.\nVagrant is able to create VMs, connect them together and is specify configure them automatically.  \nHere is a good [introduction to Vagrant for Network Engineer](https://www.dravetech.com/blog/2016/01/08/vagrant-for-network-engineers.html)\n\n## Providers\nFor now, only VirtualBox is supported as a provider.\n\n\u003e VMware will be added later.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Fvqfx10k-vagrant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuniper%2Fvqfx10k-vagrant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuniper%2Fvqfx10k-vagrant/lists"}