{"id":2391,"date":"2021-03-05T16:52:36","date_gmt":"2021-03-05T13:52:36","guid":{"rendered":"https:\/\/isp-tech.ru\/?p=2391"},"modified":"2021-04-19T23:37:32","modified_gmt":"2021-04-19T20:37:32","slug":"juniper-nfx250-vyos-part2","status":"publish","type":"post","link":"https:\/\/isp-tech.ru\/en\/juniper-nfx250-vyos-part2\/","title":{"rendered":"Juniper NFX250 \u2014 VyOS setup, perfomance tests (Part 2)"},"content":{"rendered":"\n<ul class=\"wp-block-list\"><li><a href=\"#nfx250-enhanced-orchestration\">Enhanced orchestration and hugepages<\/a><\/li><li><a href=\"#nfx250-install-vyos\">VyOS install<\/a><\/li><li><a href=\"#nfx250-vyos-basic-setup\">Basic VyOS setup<\/a><\/li><li><a href=\"#NFX250-vyos-Virtio\">VyOS Setup and perfomance test(Virtio)<\/a><\/li><li><a href=\"#NFX250-vyos-SR-IOV\">VyOS Setup and perfomance test(SR-IOV)<\/a><\/li><\/ul>\n\n\n\n<p>In <a href=\"https:\/\/isp-tech.ru\/juniper-nfx250-test-part1\/\" target=\"_blank\" rel=\"noreferrer noopener\">first part<\/a> I did a general overview of the functionality and principles of operation of the NFX250, and also made JCP performance test.<br>Now its time to use NFX for its intended purpose and launch the virtual router.<br>From the available open source projects that can be used as a router, I have chosed to install <a href=\"https:\/\/vyos.io\" target=\"_blank\" rel=\"noreferrer noopener\">VyOS<\/a> on NFX250. You can also try <a href=\"https:\/\/frrouting.org\" target=\"_blank\" rel=\"noreferrer noopener\">FRR<\/a>.<\/p>\n\n\n\n<h2 class=\"has-medium-font-size wp-block-heading\" id=\"nfx250-enhanced-orchestration\">Enhanced-orchestration and hugepages<\/h2>\n\n\n\n<p>Junos V2 architecture is used, software version 18.4R3.<br>To deploy virtual machines from JDM, you need to enable enhanced-orchestration and hugepages functionality. You will have to remove all interfaces and reload JDM. <br>You will need console access.<br>My NFX250-ATT-LS1 has only 16Gb of memory. For the correct operation of JCP, JDM and the hypervisor, 6-8 Gb of memory is required. This means that we can allocate 8Gb for user virtual machines.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [2,3,7,8,9,10,11,13,15]; title: ; notranslate\" title=\"\">\n{master:0}&#x5B;edit]\nroot@jdm# set system services enhanced-orchestration \nroot@jdm# set system memory hugepages page-size 1024 page-count 8 \n## Warning: bridges stanza not allowed if system services enhanced-orchestration is configured\n## Warning: interface stanza not allowed if system services enhanced-orchestration is configured\n## Warning: route stanza not allowed if system services enhanced-orchestration is configured\nroot@jdm# delete interface eth0br \nroot@jdm# delete route  \nroot@jdm# delete interface jmgmt0 \nroot@jdm# delete apply-groups 1604-config \nroot@jdm# delete groups 1604-config \n{master:0}&#x5B;edit]\nroot@jdm# commit and-quit\ncommit complete\nroot@jdm&gt; request system reboot \nReboot the system ? &#x5B;yes,no] (no) yes \n\nSystem reboot operation started, please wait...\n<\/pre><\/div>\n\n\n<p>After rebooting, I set up the management again:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [2,3]; title: ; notranslate\" title=\"\">\n{master:0}&#x5B;edit]\nroot@jdm# set interfaces jmgmt0 unit 0 family inet dhcp \nroot@jdm# commit \ncommit complete\n<\/pre><\/div>\n\n\n<h2 class=\"has-medium-font-size wp-block-heading\" id=\"nfx250-install-vyos\">VyOS install<\/h2>\n\n\n\n<p>After enabling enhanced-orchestration, the VNF configuration functionality from the JDM becomes available. In fact, it&#8217;s just Junos wrapper for creating VMs XML config files. The VyOS Rolling version  is available for free <a href=\"https:\/\/downloads.vyos.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">download<\/a> on the official website.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [2,3,4]; title: ; notranslate\" title=\"\">\n{master:0}\nroot@jdm&gt; start shell \njdm:~#cd \/var\/third-party\njdm:\/var\/third-party# wget https:\/\/downloads.vyos.io\/rolling\/current\/amd64\/vyos-rolling-latest.iso\n<\/pre><\/div>\n\n\n<p>Creating HDD disk for installing VyOS:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [1]; title: ; notranslate\" title=\"\">\njdm:\/var\/third-party# qemu-img create -f qcow2 vyos.qcow2 2G\nFormatting 'vyos.qcow2', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 lazy_refcounts=off \n<\/pre><\/div>\n\n\n<p>Config for VyOS VNF:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;edit]\n  virtual-network-functions vyos {\n      image {\n          \/var\/third-party\/vyos.qcow2;\n          image-type qcow2;\n          bus-type virtio;\n      }\n      virtual-cpu {\n          count 6;\n          features {\n              hardware-virtualization;\n          }\n      }\n      no-default-interfaces;\n      interfaces eth0 {\n          management internal;\n      }\n     memory {\n        size 4096000;\n        features {\n            hugepages {\n                page-size 1024;\n            }\n        }\n    }\n      storage sdb {\n          type {\n              cdrom {\n                  source {\n                      file \/var\/third-party\/images\/vyos-rolling-latest.iso;\n                  }\n              }\n          }\n      }\n  }\n<\/pre><\/div>\n\n\n<p>In Junos 18.4R3.3, I did not find functionality to set cd-rom as a boot disk. I have added a line with the option to boot from cd-rom using virsh:<\/p>\n\n\n\n<pre class=\"brush: plain; highlight: [1,4]; title: ; notranslate\" title=\"\">\njdm:~#virsh edit vyos \n &lt;os&gt;\n    &lt;type arch=&#039;x86_64&#039; machine=&#039;pc-i440fx-1.7&#039;&gt;hvm&lt;\/type&gt;\n+    &lt;boot dev=&#039;cdrom&#039;\/&gt;\n    &lt;boot dev=&#039;hd&#039;\/&gt;\n    &lt;smbios mode=&#039;sysinfo&#039;\/&gt;\n  &lt;\/os&gt;\n<\/pre>\n\n\n\n<p>Restart the virtual machine to boot from the iso image:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [1,4]; title: ; notranslate\" title=\"\">\njdm:~# virsh destroy vyos        \nDomain vyos destroyed\n\njdm:~# virsh start vyos  \nDomain vyos started\n<\/pre><\/div>\n\n\n<p>To install VyOS, i will connect to VM with the virsh console. After installation, i will need to turn off the virtual machine and revert back boot options:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [1,5,6,15,19,27,32,35,37,42,50,54,55,60,64,65]; title: ; notranslate\" title=\"\">\njdm:~# virsh console vyos\n\n#boot sequence omitted\n\nvyos login: vyos\nPassword: \nLinux vyos 5.10.14-amd64-vyos #1 SMP Tue Feb 16 09:38:59 UTC 2021 x86_64\n\nThe programs included with the Debian GNU\/Linux system are free software;\nthe exact distribution terms for each program are described in the\nindividual files in \/usr\/share\/doc\/*\/copyright.\n\nDebian GNU\/Linux comes with ABSOLUTELY NO WARRANTY, to the extent\npermitted by applicable law.\nvyos@vyos:~$ install image\nWelcome to the VyOS install program.  This script\nwill walk you through the process of installing the\nVyOS image to a local hard drive.\nWould you like to continue? (Yes\/No) &#x5B;Yes]: \nProbing drives: OK\nLooking for pre-existing RAID groups...none found.\nThe VyOS image will require a minimum 2000MB root.\nWould you like me to try to partition a drive automatically\nor would you rather partition it manually with parted?  If\nyou have already setup your partitions, you may skip this step\n\nPartition (Auto\/Parted\/Skip) &#x5B;Auto]: \n\nI found the following drives on your system:\n vda    2147MB\n\nInstall the image on? &#x5B;vda]:\n\nThis will destroy all data on \/dev\/vda.\nContinue? (Yes\/No) &#x5B;No]: yes\n\nHow big of a root partition should I create? (2000MB - 2147MB) &#x5B;2147]MB: \n\nCreating filesystem on \/dev\/vda1: OK\nDone!\nMounting \/dev\/vda1...\nWhat would you like to name this image? &#x5B;1.4-rolling-202102162107]: \nOK.  This image will be named: 1.4-rolling-202102162107\nCopying squashfs image...\nCopying kernel and initrd images...\nDone!\nI found the following configuration files:\n    \/opt\/vyatta\/etc\/config\/config.boot\n    \/opt\/vyatta\/etc\/config.boot.default\nWhich one should I copy to vda? &#x5B;\/opt\/vyatta\/etc\/config\/config.boot]: \n\nCopying \/opt\/vyatta\/etc\/config\/config.boot to vda.\nEnter password for administrator account\nEnter password for user 'vyos':\nRetype password for user 'vyos':\nI need to install the GRUB boot loader.\nI found the following drives on your system:\n vda    2147MB\n\nWhich drive should GRUB modify the boot partition on? &#x5B;vda]:\n\nSetting up grub: OK\nDone!\nvyos@vyos:~$ poweroff \nAre you sure you want to poweroff this system? &#x5B;y\/N] y\n&#x5B;  298.141695] systemd-shutdown&#x5B;1]: Failed to parse (null): No such file or directory\n&#x5B;  298.142995] systemd-shutdown&#x5B;1]: Failed to deactivate swaps: No such file or directory\n&#x5B;  298.148160] &#x5B;1960]: Failed to unmount \/usr\/lib\/live\/mount\/medium: Device or resource busy\n&#x5B;  298.208396] reboot: Power down\n\nerror: One or more references were leaked after disconnect from the hypervisor\n<\/pre><\/div>\n\n\n<p>Reverting back boot order and start VyOS:<\/p>\n\n\n\n<pre class=\"brush: plain; highlight: [1,4,9]; title: ; notranslate\" title=\"\">\njdm:~#virsh edit vyos \n &lt;os&gt;\n    &lt;type arch=&#039;x86_64&#039; machine=&#039;pc-i440fx-1.7&#039;&gt;hvm&lt;\/type&gt;\n-    &lt;boot dev=&#039;cdrom&#039;\/&gt;\n    &lt;boot dev=&#039;hd&#039;\/&gt;\n    &lt;smbios mode=&#039;sysinfo&#039;\/&gt;\n  &lt;\/os&gt;\n\njdm:~#virsh start vyos \n<\/pre>\n\n\n\n<p>This completes the VyOS installation, let&#8217;s move on to configuring and testing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"nfx250-vyos-basic-setup\">Basic VyOS setup<\/h2>\n\n\n\n<p>I&#8217;ll start by setting up management.<br>When configuring VNF for VyOS, only one interface was allocated &#8211; management internal. It is responsible for the connectivity with JDM . For correct operation, you need to enable the DHCP client on this interface. Also, I will add an interface for management, which is connected to the out-of-band management bridge.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [2,3,4,6,22,23,24,25]; title: ; notranslate\" title=\"\">\n{master:0}\nroot@jdm&gt; configure\nroot@jdm# set virtual-network-functions vyos interfaces eth1 management out-of-band \nroot@jdm# commit and-quit \ncommit complete\nroot@jdm&gt; request virtual-network-functions console vyos \n\nConnected to domain vyos\nEscape character is ^]\n\nvyos login: vyos\nPassword: \nLinux vyos 5.10.14-amd64-vyos #1 SMP Tue Feb 16 09:38:59 UTC 2021 x86_64\n\nThe programs included with the Debian GNU\/Linux system are free software;\nthe exact distribution terms for each program are described in the\nindividual files in \/usr\/share\/doc\/*\/copyright.\n\nDebian GNU\/Linux comes with ABSOLUTELY NO WARRANTY, to the extent\npermitted by applicable law.\n\nvyos@vyos# set interfaces ethernet eth0 address dhcp\nvyos@vyos# set interfaces ethernet eth1 address dhcp\nvyos@vyos# set service ssh \nvyos@vyos# commit\n<\/pre><\/div>\n\n\n<p>Now you can use JDM to manage VyOS, as well as connect via SSH from the management network.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nroot@jdm&gt; show virtual-network-functions \nID       Name                                              State      Liveliness\n--------------------------------------------------------------------------------\n6        vyos                                              Running    alive\n1        vjunos0                                           Running    alive\n10216    jdm                                               Running    alive\n\nroot@jdm&gt; ssh vyos@vyos \nWelcome to VyOS\nvyos@vyos&#039;s password: \nLinux vyos 5.10.14-amd64-vyos #1 SMP Tue Feb 16 09:38:59 UTC 2021 x86_64\nvyos@vyos:~$ \n<\/pre><\/div>\n\n\n<p>The virtual machine is available from the management network, now i need to set up communication with the outside world. <br>On the NFX250, this can be done in two ways:<br> -Virtio (service chaining using vlans)<br> -SR-IOV (Service Chaining with SR-IOV (Single Root Input \/ Output Virtualization)).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"NFX250-vyos-Virtio\">VyOS Setup and perfomance test(Virtio) <\/h2>\n\n\n\n<p>I&#8217;ll start testing with a variant that uses Vitrio interfaces. <br>Virtio is the easiest and fastest option for deploying services. However, in this case, the entire load falls on the hypervisor and depends mainly on the performance of the CPU.<\/p>\n\n\n\n<p>Lab diagram for testing VyOS and virtio:<\/p>\n\n\n\nngg_shortcode_0_placeholder\n\n\n\n<p>To communicate with the outside world, you need to configure JCP:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [2,3,4,5,6,7,8,9,10,11,12]; title: ; notranslate\" title=\"\">\n{master:0}&#x5B;edit]\nroot#set vlans vlan100 vlan-id 100\nroot#set vlans vlan200 vlan-id 200 \nroot#set interfaces xe-0\/0\/12 unit 0 family ethernet-switching interface-mode access \nroot#set interfaces xe-0\/0\/12 unit 0 family ethernet-switching vlan members vlan100      \nroot#set interfaces xe-0\/0\/13 unit 0 family ethernet-switching interface-mode access \nroot#set interfaces xe-0\/0\/13 unit 0 family ethernet-switching vlan members vlan200      \nroot#set interfaces sxe-0\/0\/0.0 family ethernet-switching interface-mode trunk \nroot#set interfaces sxe-0\/0\/0.0 family ethernet-switching vlan members vlan100  \nroot#set interfaces sxe-0\/0\/1.0 family ethernet-switching interface-mode trunk \nroot#set interfaces sxe-0\/0\/1.0 family ethernet-switching vlan members vlan200\nroot# commit \ncommit complete    \n<\/pre><\/div>\n\n\n<p>All configuration related to VM connectivity is done in JDM. <br>Will need to add interfaces for VyOS and create vlans on the hypervisor:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [2,3,4,5,6,7,8]; title: ; notranslate\" title=\"\">\n{master:0}&#x5B;edit]\nroot@jdm#set host-os vlans vlan100 vlan-id 100 \nroot@jdm#set host-os vlans vlan200 vlan-id 200 \nroot@jdm#set virtual-network-functions vyos interfaces eth3 mapping vlan mode access\nroot@jdm#set virtual-network-functions vyos interfaces eth3 mapping vlan members vlan100\nroot@jdm#set virtual-network-functions vyos interfaces eth4 mapping vlan mode access\nroot@jdm#set virtual-network-functions vyos interfaces eth4 mapping vlan members vlan200\nroot@jdm# commit \ncommit complete    \n<\/pre><\/div>\n\n\n<p>VyOS config:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ninterfaces {\n    ethernet eth0 {\n        address dhcp\n        description internal Management\n        hw-id b0:33:a6:33:f3:cf\n    }\n    ethernet eth1 {\n        address dhcp\n        description OOB Management\n        hw-id b0:33:a6:33:f3:d0\n    }\n    ethernet eth2 {\n        address 172.16.23.2\/30\n        description BGP-to-ext-network\n        hw-id b0:33:a6:33:f3:d2\n    }\n    ethernet eth3 {\n        address 10.223.0.1\/24\n        description S2-test-server\n        hw-id b0:33:a6:33:f3:d3\n    }\n}\nprotocols {\n    bgp 65234 {\n        address-family {\n            ipv4-unicast {\n                network 10.223.0.0\/24 {\n                }\n            }\n        }\n        neighbor 172.16.23.1 {\n            address-family {\n                ipv4-unicast {\n                    route-map {\n                        export export\n                    }\n                }\n            }\n            remote-as 65230\n        }\n    }\n}\n<\/pre><\/div>\n\n\n<p>iperf3 test on virtio interfaces: <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;root@s2]# iperf3 -c 10.222.0.2 -p 5201 \nConnecting to host 10.222.0.2, port 5201\n&#x5B;  4] local 10.223.0.2 port 58654 connected to 10.222.0.2 port 5201\n&#x5B; ID] Interval           Transfer     Bandwidth       Retr  Cwnd\n&#x5B;  4]   0.00-1.00   sec   340 MBytes  2.85 Gbits\/sec   57    331 KBytes       \n#######OMMITED############\n- - - - - - - - - - - - - - - - - - - - - - - - -\n&#x5B; ID] Interval           Transfer     Bandwidth       Retr\n&#x5B;  4]   0.00-10.00  sec  3.53 GBytes  3.03 Gbits\/sec  918             sender\n&#x5B;  4]   0.00-10.00  sec  3.53 GBytes  3.03 Gbits\/sec                  receiver\niperf Done.\n\n&#x5B;root@s2]# iperf3 -c 10.222.0.2 -p 5201 -R\nConnecting to host 10.222.0.2, port 5201\nReverse mode, remote host 10.222.0.2 is sending\n&#x5B;  4] local 10.223.0.2 port 58662 connected to 10.222.0.2port 5201\n&#x5B; ID] Interval           Transfer     Bandwidth\n&#x5B;  4]   0.00-1.00   sec   330 MBytes  2.77 Gbits\/sec                  \n#######OMMITED############               \n- - - - - - - - - - - - - - - - - - - - - - - - -\n&#x5B; ID] Interval           Transfer     Bandwidth       Retr\n&#x5B;  4]   0.00-10.00  sec  2.98 GBytes  2.56 Gbits\/sec  637             sender\n&#x5B;  4]   0.00-10.00  sec  2.98 GBytes  2.56 Gbits\/sec                  receiver\n<\/pre><\/div>\n\n\n<p>Result on Virtio: <br><strong>2.56Gbit \/ 3.03Gbit <\/strong><br>Not bad. <br>Let&#8217;s try the same with SR-IOV.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"NFX250-vyos-SR-IOV\">VyOS Setup and perfomance test(SR-IOV)<\/h2>\n\n\n\n<p>SR-IOV provides shared access to PCI-Experss resources. The physical interface is divided into a certain number of VFs (Virtual Functions), each of which can be connected to a virtual machine. Different amounts of VF are available depending on the equipment model.<br>SR-IOV is less CPU intensive and provides faster lower latency.<\/p>\n\n\n\n<p>Lab diagram for testing VyOS and SR-IOV:<\/p>\n\n\n\nngg_shortcode_1_placeholder\n\n\n\n<p><br>Changing the port configuration of the virtual machine to SR-IOV:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [1,2,3,4,5]; title: ; notranslate\" title=\"\">\nroot@jdm#delete virtual-network-functions vyos interfaces eth3 mapping vlan\nroot@jdm#delete virtual-network-functions vyos interfaces eth4 mapping vlan\nroot@jdm#set virtual-network-functions vyos interfaces eth3 mapping hsxe0 virtual-function vlan-id 100 \nroot@jdm#set virtual-network-functions vyos interfaces eth4 mapping hsxe1 virtual-function vlan-id 200 \nroot@jdm# commit \ncommit complete \n<\/pre><\/div>\n\n\n<p>Iperf3 test on SR-IOV interfaces:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;root@s2]# iperf3 -c 10.222.0.2 -p 5201 -R\nConnecting to host 10.222.0.2, port 5201\nReverse mode, remote host 10.222.0.2 is sending\n&#x5B;  4] local 10.223.0.2 port 58626 connected to 10.222.0.2 port 5201\n&#x5B; ID] Interval           Transfer     Bandwidth\n&#x5B;  4]   0.00-1.00   sec   458 MBytes  3.84 Gbits\/sec                  \n#######OMMITED############\n- - - - - - - - - - - - - - - - - - - - - - - - -\n&#x5B; ID] Interval           Transfer     Bandwidth       Retr\n&#x5B;  4]   0.00-10.00  sec  4.53 GBytes  3.89 Gbits\/sec  312             sender\n&#x5B;  4]   0.00-10.00  sec  4.53 GBytes  3.89 Gbits\/sec                  receiver\niperf Done.\n\n&#x5B;root@s2]# iperf3 -c 10.222.0.2 -p 5201 \nConnecting to host 10.222.0.2, port 5201\n&#x5B;  4] local 10.223.0.2 port 58630 connected to 10.222.0.2 port 5201\n&#x5B; ID] Interval           Transfer     Bandwidth       Retr  Cwnd\n&#x5B;  4]   0.00-1.00   sec   513 MBytes  4.30 Gbits\/sec   54    645 KBytes       \n#######OMMITED############\n- - - - - - - - - - - - - - - - - - - - - - - - -\n&#x5B; ID] Interval           Transfer     Bandwidth       Retr\n&#x5B;  4]   0.00-10.00  sec  5.08 GBytes  4.37 Gbits\/sec  186             sender\n&#x5B;  4]   0.00-10.00  sec  5.08 GBytes  4.37 Gbits\/sec                  receiver\niperf Done.\n\n<\/pre><\/div>\n\n\n<p>Result on SR-IOV: <br><strong>3.89Gbit \/ 4.37Gbit<\/strong><br>Much better.<\/p>\n\n\n\n<p>Let me remind you that the test is performed on the NFX250-ATT-LS1, which is the low end model in the NFX250 line. Based on the test results, i can say that Juniper has released an interesting product on the basis of which almost any service can be quickly deployed. I belive we can expect a significant increase in performance on top NFX250 models.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Enhanced orchestration and hugepages VyOS install Basic VyOS setup VyOS Setup and perfomance test(Virtio) VyOS Setup and perfomance test(SR-IOV) In first part I did a general overview of the functionality and principles of operation of the NFX250, and also made JCP performance test.Now its time to use NFX for its intended purpose and launch the\u2026 <span class=\"read-more\"><a href=\"https:\/\/isp-tech.ru\/en\/juniper-nfx250-vyos-part2\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[11],"tags":[36,15,14],"class_list":["post-2391","post","type-post","status-publish","format-standard","hentry","category-general-juniper","tag-juniper-nfx","tag-bgp","tag-juniper"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Juniper NFX250 - VyOS setup and perfomance test - isp-tech.ru<\/title>\n<meta name=\"description\" content=\"Juniper NFX250 router. Configuration, NFX250 VyOS throughput tests. VyOS setup and perfomance tests on virtio and SR-IOV interfaces.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/isp-tech.ru\/en\/juniper-nfx250-vyos-part2\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363\"},\"headline\":\"Juniper NFX250 \u2014 VyOS setup, perfomance tests (Part 2)\",\"datePublished\":\"2021-03-05T13:52:36+00:00\",\"dateModified\":\"2021-04-19T20:37:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/\"},\"wordCount\":1455,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363\"},\"keywords\":[\"Juniper NFX\",\"BGP\",\"Juniper\"],\"articleSection\":[\"General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/\",\"url\":\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/\",\"name\":\"Juniper NFX250 - VyOS setup and perfomance test - isp-tech.ru\",\"isPartOf\":{\"@id\":\"https:\/\/isp-tech.ru\/#website\"},\"datePublished\":\"2021-03-05T13:52:36+00:00\",\"dateModified\":\"2021-04-19T20:37:32+00:00\",\"description\":\"Juniper NFX250 router. Configuration, NFX250 VyOS throughput tests. VyOS setup and perfomance tests on virtio and SR-IOV interfaces.\",\"breadcrumb\":{\"@id\":\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/isp-tech.ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Juniper NFX250 \u2014 VyOS setup, perfomance tests (Part 2)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/isp-tech.ru\/#website\",\"url\":\"https:\/\/isp-tech.ru\/\",\"name\":\"isp-tech.ru\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/isp-tech.ru\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363\",\"name\":\"admin\",\"logo\":{\"@id\":\"https:\/\/isp-tech.ru\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Juniper NFX250 - VyOS setup and perfomance test - isp-tech.ru","description":"Juniper NFX250 router. Configuration, NFX250 VyOS throughput tests. VyOS setup and perfomance tests on virtio and SR-IOV interfaces.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/isp-tech.ru\/en\/juniper-nfx250-vyos-part2\/","twitter_misc":{"Written by":"admin","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#article","isPartOf":{"@id":"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/"},"author":{"name":"admin","@id":"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363"},"headline":"Juniper NFX250 \u2014 VyOS setup, perfomance tests (Part 2)","datePublished":"2021-03-05T13:52:36+00:00","dateModified":"2021-04-19T20:37:32+00:00","mainEntityOfPage":{"@id":"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/"},"wordCount":1455,"commentCount":0,"publisher":{"@id":"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363"},"keywords":["Juniper NFX","BGP","Juniper"],"articleSection":["General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/","url":"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/","name":"Juniper NFX250 - VyOS setup and perfomance test - isp-tech.ru","isPartOf":{"@id":"https:\/\/isp-tech.ru\/#website"},"datePublished":"2021-03-05T13:52:36+00:00","dateModified":"2021-04-19T20:37:32+00:00","description":"Juniper NFX250 router. Configuration, NFX250 VyOS throughput tests. VyOS setup and perfomance tests on virtio and SR-IOV interfaces.","breadcrumb":{"@id":"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/isp-tech.ru\/juniper-nfx250-vyos-part2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/isp-tech.ru\/"},{"@type":"ListItem","position":2,"name":"Juniper NFX250 \u2014 VyOS setup, perfomance tests (Part 2)"}]},{"@type":"WebSite","@id":"https:\/\/isp-tech.ru\/#website","url":"https:\/\/isp-tech.ru\/","name":"isp-tech.ru","description":"","publisher":{"@id":"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/isp-tech.ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/isp-tech.ru\/#\/schema\/person\/bfc8f447cee1b54cc04a263ed0673363","name":"admin","logo":{"@id":"https:\/\/isp-tech.ru\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/posts\/2391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/comments?post=2391"}],"version-history":[{"count":365,"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/posts\/2391\/revisions"}],"predecessor-version":[{"id":3017,"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/posts\/2391\/revisions\/3017"}],"wp:attachment":[{"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/media?parent=2391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/categories?post=2391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/isp-tech.ru\/en\/wp-json\/wp\/v2\/tags?post=2391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}