aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/pg
AgeCommit message (Expand)AuthorFilesLines
2019-05-09add mactime plugin unit / code coverage testsDave Barach3-20/+30
2019-03-28Typos. A bunch of typos I've been collecting.Paul Vinciguerra1-1/+1
2019-02-22Add no-append flag to vlib_frame_tDamjan Marion1-0/+1
2019-02-20pg: fix payload hex-string bugKingwel Xie1-6/+8
2019-02-20pg: fix tracing when device-input feature arc is usedDamjan Marion1-6/+4
2019-02-20pg: fix crash when multiple streams are enqueuing to the same nextDamjan Marion1-1/+1
2019-02-20pg: remove no-recycle optionDamjan Marion2-6/+0
2019-02-09buffers: fix typoDamjan Marion3-3/+3
2019-02-06buffers: make buffer data size configurable from startup configDamjan Marion3-5/+5
2019-01-25pg: bugfix for pg paylod hdr-sizeKingwel Xie1-3/+3
2019-01-23pg: cli improvementKingwel Xie4-32/+97
2019-01-18Add vlib_buffer_copy_indices inline functionDamjan Marion1-4/+3
2019-01-06pktgen: support mixed multi/single chunk pcap replayDave Barach3-71/+165
2019-01-01buffers: remove unused codeDamjan Marion4-15/+7
2018-11-20ethernet-input optimizationsDamjan Marion1-1/+19
2018-11-17pcap-based dispatch tracerDave Barach2-2/+2
2018-11-14Remove c-11 memcpy checks from perf-critical codeDave Barach3-21/+25
2018-11-13vlib rename vlib_frame_args(...) to vlib_frame_scalar_args(..)Damjan Marion1-2/+2
2018-10-27pg: incrementing len should be truncated byKingwel Xie1-12/+15
2018-10-23c11 safe string handling supportDave Barach2-3/+3
2018-10-19vppinfra: add atomic macros for __sync builtinsSirshak Das1-2/+3
2018-07-19Cleanup of handoff codeDamjan Marion1-3/+0
2018-05-17Packet generator: preserve pcap file timestampsDave Barach3-0/+8
2018-04-27A bit of buffer metadata reshuffling to accommodate flow_idDamjan Marion1-1/+1
2018-03-07packet-generator: use default free listDamjan Marion2-63/+8
2018-02-07Refactor vlib_buffer flagsDamjan Marion1-1/+1
2018-01-23VPPAPIGEN: vppapigen replacement in Python PLY.Ole Troan1-1/+1
2017-11-21dpdk: add l2_hdr_offset and l3_hdr_offset in vlib_buffer_tDamjan Marion2-3/+3
2017-11-10Break up vpe.apiNeale Ranns2-0/+269
2017-10-04[aarch64] Fixes CLI crashes on dpaa2 platform.Christophe Fontaine2-2/+2
2017-07-10vlib: store buffer memory information in the buffer_mainDamjan Marion2-4/+4
2017-04-06Use thread local storage for thread indexDamjan Marion1-2/+2
2017-03-17Fix IP feature ordering.Neale Ranns1-4/+0
2017-03-07DHCP Multiple Servers (VPP-602, VPP-605)Neale Ranns1-0/+6
2017-03-01dpdk: be a pluginDamjan Marion2-8/+8
2017-02-22VPP-635: CLI Memory leak with invalid parameterBilly McFall1-10/+29
2017-02-03pg: add trace information for pg tx nodeDamjan Marion3-9/+46
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion9-0/+3742
r_common: $$NFS_SERVER_COMMON$$ runcmd:&#xD; - start ttyS0&#xD; - systemctl start getty@ttyS0.service&#xD; - systemctl start rc-local&#xD; - touch /tmp/before-sed&#xD; - sed -i 's/^\s*PasswordAuthentication\s\+no/PasswordAuthentication yes/' /etc/ssh/sshd_config&#xD; - echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config&#xD; - service ssh restart&#xD; - service sshd restart&#xD; users:&#xD; - default&#xD; - gecos: User configured by VIRL Configuration Engine 0.21.4&#xD; lock-passwd: false&#xD; name: cisco&#xD; plain-text-passwd: cisco&#xD; shell: /bin/bash&#xD; ssh-authorized-keys:&#xD; - VIRL-USER-SSH-PUBLIC-KEY&#xD; - VIRL-USER-SSH-PUBLIC-KEY&#xD; sudo: ALL=(ALL) NOPASSWD:ALL&#xD; write_files:&#xD; - path: /etc/init/ttyS0.conf&#xD; owner: root:root&#xD; content: |&#xD; # ttyS0 - getty&#xD; # This service maintains a getty on ttyS0 from the point the system is&#xD; # started until it is shut down again.&#xD; start on stopped rc or RUNLEVEL=[12345]&#xD; stop on runlevel [!12345]&#xD; respawn&#xD; exec /sbin/getty -L 115200 ttyS0 vt102&#xD; permissions: '0644'&#xD; - path: /etc/systemd/system/dhclient@.service&#xD; content: |&#xD; [Unit]&#xD; Description=Run dhclient on %i interface&#xD; After=network.target&#xD; [Service]&#xD; Type=oneshot&#xD; ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease&#xD; RemainAfterExit=yes&#xD; owner: root:root&#xD; permissions: '0644'&#xD; - path: /usr/local/sbin/cloud-instance-name content: | #!/usr/bin/python import pickle print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name'] owner: root:root permissions: '0755' - path: /etc/rc.local&#xD; owner: root:root&#xD; permissions: '0755'&#xD; content: |-&#xD; #!/bin/sh&#xD; grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1 grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1 nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }') nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }') instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;') echo My instance name is $instance_name MAXCOUNT=12 RETRY=5 mkdir -p /scratch mkdir -p /mnt/common echo "Mounting NFS directories" count=0 while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch do sleep 5 count=$[$count+1] done mount -t nfs "${nfs_server_common}" /mnt/common mkdir /scratch/$(hostname) cp /VERSION /scratch/$(hostname)/ exit 0&#xD; </entry> <entry key="Auto-generate config" type="Boolean">false</entry> </extensions> <interface id="0" name="eth1"/> <interface id="1" name="eth2"/> <interface id="2" name="eth3"/> <interface id="3" name="eth4"/> <interface id="4" name="eth5"/> <interface id="5" name="eth6"/> </node> <node name="sut1" type="SIMPLE" subtype="vPP" location="425,26" vmImage="$$VM_IMAGE$$"> <extensions> <entry key="config" type="string">#cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: sut1 manage_etc_hosts: true nfs_server_scratch: $$NFS_SERVER_SCRATCH$$ nfs_server_common: $$NFS_SERVER_COMMON$$ runcmd: - start ttyS0 - systemctl start getty@ttyS0.service - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config - service ssh restart - service sshd restart - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf users: - default - gecos: User configured by VIRL Configuration Engine 0.21.4 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) NOPASSWD:ALL write_files: - path: /etc/init/ttyS0.conf owner: root:root content: | # ttyS0 - getty # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc or RUNLEVEL=[12345] stop on runlevel [!12345] respawn exec /sbin/getty -L 115200 ttyS0 vt102 permissions: '0644' - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /usr/local/sbin/cloud-instance-name content: | #!/usr/bin/python import pickle print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name'] owner: root:root permissions: '0755' - path: /etc/rc.local&#xD; owner: root:root&#xD; permissions: '0755'&#xD; content: |-&#xD; #!/bin/sh&#xD; grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1 grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1 nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }') nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }') instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;') echo My instance name is $instance_name MAXCOUNT=12 RETRY=5 mkdir -p /scratch mkdir -p /mnt/common echo "Mounting NFS directories" count=0 while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch do sleep 5 count=$[$count+1] done mount -t nfs "${nfs_server_common}" /mnt/common # Overwrite nested VM image with latest as per NFS if [ -f /mnt/common/nested-vm-current.img ] then rm -f /var/lib/vm/vhost-nested.img cp /mnt/common/nested-vm-current.img /var/lib/vm/vhost-nested.img fi mkdir /scratch/$(hostname) cp /VERSION /scratch/$(hostname)/ cat /var/lib/vm/vhost-nested.img | strings | grep NESTED_VERSION= > /scratch/$(hostname)/NESTED_VERSION exit 0&#xD; </entry> </extensions> <interface id="0" name="GigabitEthernet0/4/0"/> <interface id="1" name="GigabitEthernet0/5/0"/> <interface id="2" name="GigabitEthernet0/6/0"/> <interface id="3" name="GigabitEthernet0/7/0"/> </node> <node name="sut2" type="SIMPLE" subtype="vPP" location="748,26" vmImage="$$VM_IMAGE$$"> <extensions> <entry key="config" type="string">#cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: sut2 manage_etc_hosts: true nfs_server_scratch: $$NFS_SERVER_SCRATCH$$ nfs_server_common: $$NFS_SERVER_COMMON$$ runcmd: - start ttyS0 - systemctl start getty@ttyS0.service - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" &gt;&gt; /etc/ssh/sshd_config - service ssh restart - service sshd restart - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf users: - default - gecos: User configured by VIRL Configuration Engine 0.21.4 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) NOPASSWD:ALL write_files: - path: /etc/init/ttyS0.conf owner: root:root content: | # ttyS0 - getty # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc or RUNLEVEL=[12345] stop on runlevel [!12345] respawn exec /sbin/getty -L 115200 ttyS0 vt102 permissions: '0644' - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /usr/local/sbin/cloud-instance-name content: | #!/usr/bin/python import pickle print pickle.loads(open('/var/lib/cloud/instance/obj.pkl').read()).metadata['name'] owner: root:root permissions: '0755' - path: /etc/rc.local&#xD; owner: root:root&#xD; permissions: '0755'&#xD; content: |-&#xD; #!/bin/sh&#xD; grep -q nfs_server_scratch /var/lib/cloud/instance/user-data.txt || exit 1 grep -q nfs_server_common /var/lib/cloud/instance/user-data.txt || exit 1 nfs_server_scratch=$(grep -E '^nfs_server_scratch:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }') nfs_server_common=$(grep -E '^nfs_server_common:' /var/lib/cloud/instance/user-data.txt | awk '{ print $2 }') instance_name=$(/usr/local/sbin/cloud-instance-name | cut -f 3 -d '&lt;' | cut -f 1 -d '&gt;') echo My instance name is $instance_name MAXCOUNT=12 RETRY=5 mkdir -p /scratch mkdir -p /mnt/common echo "Mounting NFS directories" count=0 while [ $count -lt $MAXCOUNT ] &amp;&amp; ! mount -t nfs "${nfs_server_scratch}/${instance_name}" /scratch do sleep 5 count=$[$count+1] done mount -t nfs "${nfs_server_common}" /mnt/common # Overwrite nested VM image with latest as per NFS if [ -f /mnt/common/nested-vm-current.img ] then rm -f /var/lib/vm/vhost-nested.img cp /mnt/common/nested-vm-current.img /var/lib/vm/vhost-nested.img fi mkdir /scratch/$(hostname) cp /VERSION /scratch/$(hostname)/ cat /var/lib/vm/vhost-nested.img | strings | grep NESTED_VERSION= > /scratch/$(hostname)/NESTED_VERSION exit 0&#xD; </entry> </extensions> <interface id="0" name="GigabitEthernet0/4/0"/> <interface id="1" name="GigabitEthernet0/5/0"/> <interface id="2" name="GigabitEthernet0/6/0"/> <interface id="3" name="GigabitEthernet0/7/0"/> </node> <connection dst="/virl:topology/virl:node[1]/virl:interface[3]" src="/virl:topology/virl:node[2]/virl:interface[1]"/> <connection dst="/virl:topology/virl:node[1]/virl:interface[4]" src="/virl:topology/virl:node[2]/virl:interface[2]"/> <connection dst="/virl:topology/virl:node[2]/virl:interface[3]" src="/virl:topology/virl:node[3]/virl:interface[3]"/> <connection dst="/virl:topology/virl:node[2]/virl:interface[4]" src="/virl:topology/virl:node[3]/virl:interface[4]"/> <connection dst="/virl:topology/virl:node[1]/virl:interface[5]" src="/virl:topology/virl:node[3]/virl:interface[1]"/> <connection dst="/virl:topology/virl:node[1]/virl:interface[6]" src="/virl:topology/virl:node[3]/virl:interface[2]"/> </topology>