nodes: # This section is copied from pod.xml or resolved via Heat
trexgen__1: trafficgen_1.yardstick
- trexvnf__1: vnf.yardstick
+ trexvnf__0: vnf.yardstick
vnf_options:
trexgen__1:
- target_ip: trexvnf__1.xe0.local_ip # TODO: resolve to config vars
- trexvnf__1:
+ target_ip: trexvnf__0.xe0.local_ip # TODO: resolve to config vars
+ trexvnf__0:
target_ip: trexgen__1.xe1.local_ip # TODO: resolve to config vars
runner:
type: Duration
description: trex-tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: trexgen__1
+ vnfd-id-ref: trexgen__0
VNF model: ../../vnf_descriptors/tg_trex_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: trexvnf__1
+ vnfd-id-ref: trexvnf__0
VNF model: ../../vnf_descriptors/tg_trex_tpl.yaml #VNF type
vld:
- - id: private
- name: trexgen__1 to trexvnf__1 link 1
+ - id: uplink
+ name: trexgen__0 to trexvnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
vnfd-id-ref: trexgen
- - id: public
- name: trexvnf__1 to trexgen__1 link 2
+ - id: downlink
+ name: trexvnf__0 to trexgen__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type
- member-vnf-index: '3'
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
- - id: private_2
- name: tg__1 to vnf__1 link 2
+ vnfd-id-ref: vnf__0
+ - id: uplink_1
+ name: tg__0 to vnf__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
- - id: public_1
- name: vnf__1 to tg__2 link 2
+ vnfd-id-ref: tg__0
+ - id: downlink_0
+ name: vnf__0 to tg__1 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '3'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
description: scenario with VACL,L3fwd and VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/acl_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 #TREX
+ vnfd-id-ref: tg__0 #TREX
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 #VNF
+ vnfd-id-ref: vnf__0 #VNF
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 #L3fwd
+ vnfd-id-ref: vnf__0 #L3fwd
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 #VACL VNF
+ vnfd-id-ref: tg__0 #VACL VNF
description: scenario with HTTP and vACL VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_ixload.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/acl_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 # HTTP Client
+ vnfd-id-ref: tg__0 # HTTP Client
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 # VNF
+ vnfd-id-ref: vnf__0 # VNF
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 # HTTP Server
+ vnfd-id-ref: vnf__0 # HTTP Server
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 # VACL VNF
+ vnfd-id-ref: tg__0 # VACL VNF
{
- "private_1": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_1": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
traffic_profile: "../../traffic_profiles/http_tests/HTTP_1b-requests_65000_concurrency.yaml"
topology: acl_vnf_topology_ixload.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
topology: acl_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology-3node.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
+ src_ip: [{'tg__0': 'xe0'}]
dst_ip: [{'tg__1': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
correlated_traffic: true
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.baremetal
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
- member-vnf-index: '3'
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
- - id: private_2
- name: tg__1 to vnf__1 link 2
+ vnfd-id-ref: vnf__0
+ - id: uplink_1
+ name: tg__0 to vnf__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
- - id: public_1
- name: vnf__1 to tg__2 link 2
+ vnfd-id-ref: tg__0
+ - id: downlink_0
+ name: vnf__0 to tg__1 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '3'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
description: scenario with vCGNAPT VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
description: scenario with HTTP and vCGNAPT VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_ixload.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 # HTTP Client
+ vnfd-id-ref: tg__0 # HTTP Client
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 # VNF
+ vnfd-id-ref: vnf__0 # VNF
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 # HTTP Server
+ vnfd-id-ref: vnf__0 # HTTP Server
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 # VCGNAPT VNF
+ vnfd-id-ref: tg__0 # VCGNAPT VNF
{
- "private_1": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_1": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
traffic_profile: "../../traffic_profiles/http_tests/HTTP_1b-requests_65000_concurrency.yaml"
topology: cgnapt_vnf_topology_ixload.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
runner:
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
topology: cgnapt_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
publicip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
type: Iteration
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_cgnapt.yaml"
topology: cgnapt_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
publicip: ["152.16.40.10"]
count: 1000
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
nfvi_enable: True
runner:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
publicip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
runner:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology-3node.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__2': 'xe0'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__1': 'xe0'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
correlated_traffic: true
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
napt: 'dynamic'
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
publicip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
nfvi_enable: True
runner:
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
publicip: ["152.16.40.10"]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
latency: true
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
runner:
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
topology: cgnapt-vnf-topology-ixia-3node.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__2': 'xe0'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__1': 'xe0'}]
count: 1
traffic_type: 4
rfc2544:
correlated_traffic: true
latency: true
fec_port_mode: '10G'
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
napt: 'dynamic'
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.baremetal
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
type: Iteration
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: cgnapt-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
type: Iteration
description: ping-tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_ping_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/tg_ping_tpl.yaml #VNF type
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
vnfd-id-ref: trexgen
- - id: public
- name: vnf__1 to tg__1 link 2
+ - id: downlink
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
topology: ping_tg_topology.yaml
nodes:
- tg__1: trafficgen_1.baremetal
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
runner:
type: Duration
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
-
xe1:
cidr: '10.0.3.0/24'
topology: ping_tg_topology.yaml # TODO: look in relative path where the tc.yaml is found
nodes: # This section is copied from pod.xml or resolved via Heat
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
vnf_options:
- tg__1:
- target_ip: pingvnf__1.xe0.local_ip # TODO: resolve to config vars
- vnf__1:
+ tg__0:
+ target_ip: pingvnf__0.xe0.local_ip # TODO: resolve to config vars
+ vnf__0:
target_ip: pinggen__1.xe1.local_ip # TODO: resolve to config vars
runner:
type: Duration
topology: ping_tg_topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
runner:
type: Duration
topology: ping_tg_topology.yaml # TODO: look in relative path where the tc.yaml is found
nodes: # This section is copied from pod.xml or resolved via Heat
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
vnf_options:
- tg__1:
- target_ip: pingvnf__1.xe0.local_ip # TODO: resolve to config vars
- vnf__1:
+ tg__0:
+ target_ip: pingvnf__0.xe0.local_ip # TODO: resolve to config vars
+ vnf__0:
target_ip: pinggen__1.xe1.local_ip # TODO: resolve to config vars
runner:
type: Duration
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: "../../prox-tg-topology.yaml"
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
topology: ../../acl-tg-topology-http.yaml
nodes:
- vnf__1: vnf.yardstick
- tg__1: trafficgen_1.yardstick
- tg__2: trafficgen_2.yardstick
+ vnf__0: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ tg__1: trafficgen_2.yardstick
options:
acl:
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
description: prox-tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_prox_tpl-1.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/prox_vnf-1.yaml
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public
- name: vnf__1 to tg__1 link 2
+ - id: downlink
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
description: prox-tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_prox_tpl-2.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/prox_vnf-2.yaml
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public
- name: vnf__1 to tg__1 link 2
+ - id: downlink
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
description: prox-tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_prox_tpl-4.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/prox_vnf-4.yaml
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
- - id: public2
- name: vnf__1 to tg__1 link 3
+ vnfd-id-ref: tg__0
+ - id: downlink_1
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe2
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe2
- vnfd-id-ref: tg__1
- - id: public3
- name: vnf__1 to tg__1 link 4
+ vnfd-id-ref: tg__0
+ - id: downlink_2
+ name: vnf__0 to tg__0 link 3
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe3
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe3
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
topology: ../../acl-tg-topology-http.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
options:
acl:
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
traffic_profile: "../../../../traffic_profiles/ipv4_throughput.yaml"
topology: ../../acl-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
tc_options:
rfc2544:
allowed_drop_rate: 0.8 - 1
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_acl-2.cfg"
prox_args:
"-t": ""
prox_files: "configs/acl_rules-2.lua"
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_acl-2.cfg"
prox_args:
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_acl-4.cfg"
prox_args:
"-t": ""
prox_files: "configs/acl_rules-2.lua"
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_acl-4.cfg"
prox_args:
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v035/build/prox
prox_config: "configs/handle_none-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v035/build/prox
prox_config: "configs/gen_all-2.cfg"
prox_args:
topology: prox-tg-topology-1.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_buffering-1.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_buffering-1.cfg"
prox_args:
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd-2.cfg"
prox_args:
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd-4.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd-4.cfg"
prox_args:
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd_pktTouch-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd_pktTouch-2.cfg"
prox_args:
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd_pktTouch-4.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd_pktTouch-4.cfg"
prox_args:
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l3fwd-2.cfg"
prox_args:
prox_files:
"configs/ipv4.lua" : ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l3fwd-2.cfg"
prox_args:
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l3fwd-4.cfg"
prox_args:
prox_files:
"configs/ipv4.lua" : ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l3fwd-4.cfg"
prox_args:
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_mpls_tag_untag-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_mpls_tag_untag-2.cfg"
prox_args:
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_mpls_tag_untag-4.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_mpls_tag_untag-4.cfg"
prox_args:
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v035/build/prox
prox_config: "configs/handle_none-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v035/build/prox
prox_config: "configs/gen_all-2.cfg"
prox_args:
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v035/build/prox
prox_config: "configs/l3-swap-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v035/build/prox
prox_config: "configs/l3-gen-2.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_acl-2.cfg"
prox_args:
"-t": ""
prox_files: "configs/acl_rules-2.lua"
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_acl-2.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_acl-4.cfg"
prox_args:
"-t": ""
prox_files: "configs/acl_rules-2.lua"
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_acl-4.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe2:
cidr: '10.0.4.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe3:
cidr: '10.0.5.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
topology: prox-tg-topology-1.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_buffering-1.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_buffering-1.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd-2.cfg"
prox_args:
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd-4.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd-4.cfg"
prox_args:
cidr: '10.0.1.0/24'
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe2:
cidr: '10.0.4.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe3:
cidr: '10.0.5.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd_pktTouch-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd_pktTouch-2.cfg"
prox_args:
cidr: '10.0.1.0/24'
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_l2fwd_pktTouch-4.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_l2fwd_pktTouch-4.cfg"
prox_args:
cidr: '10.0.1.0/24'
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe2:
cidr: '10.0.4.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe3:
cidr: '10.0.5.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037.1/build/prox
prox_config: "configs/handle_l3fwd-2.cfg"
prox_args:
prox_files:
"configs/ipv4.lua" : ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037.1/build/prox
prox_config: "configs/gen_l3fwd-2.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
\ No newline at end of file
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037.1/build/prox
prox_config: "configs/handle_l3fwd-4.cfg"
prox_args:
prox_files:
"configs/ipv4.lua" : ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037.1/build/prox
prox_config: "configs/gen_l3fwd-4.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe2:
cidr: '10.0.4.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe3:
cidr: '10.0.5.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
\ No newline at end of file
topology: prox-tg-topology-2.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_mpls_tag_untag-2.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_mpls_tag_untag-2.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
topology: prox-tg-topology-4.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
- vnf__1:
+ vnf__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/handle_mpls_tag_untag-4.cfg"
prox_args:
"-t": ""
- tg__1:
+ tg__0:
prox_path: /root/dppd-PROX-v037/build/prox
prox_config: "configs/gen_mpls_tag_untag-4.cfg"
prox_args:
external_network: "yardstick-public"
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe2:
cidr: '10.0.4.0/24'
- vld_id: public
+ vld_id: downlink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
xe3:
cidr: '10.0.5.0/24'
- vld_id: private
+ vld_id: uplink
allowed_address_pairs:
- ip_address:
'0.0.0.0/0'
traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt.yaml
topology: udp_replay-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
nfvi_enable: True
runner:
type: Iteration
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: udp_replay-vnf-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
packetsize: 64
traffic_type: 4
- vnf__1:
+ vnf__0:
hw_csum: false
- tg__1:
+ tg__0:
hw_csum: false
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
cidr: '10.0.1.0/24'
xe0:
cidr: '10.0.2.0/24'
- vld_id: public
+ vld_id: downlink
enable_dhcp: False
gateway_ip: null
port_security_enabled: False
xe1:
cidr: '10.0.3.0/24'
- vld_id: private
+ vld_id: uplink
enable_dhcp: False
gateway_ip: null
port_security_enabled: False
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
{
- "private_1": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_1": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
traffic_profile: "../../traffic_profiles/http_tests/HTTP_1b-requests_65000_concurrency.yaml"
topology: vfw_vnf_topology_ixload.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
topology: vfw_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
topology: vfw_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1000
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
nfvi_enable: True
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: vfw-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: vfw-tg-topology-3node.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__2': 'xe0'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__1': 'xe0'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
correlated_traffic: true
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: vfw-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'HW', lb_count: 1, worker_config: '1C/1T', worker_threads: {{worker_thread}}}
nfvi_enable: True
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency.yaml"
topology: vfw_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
latency: true
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: vfw-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
latency: true
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
nfvi_enable: True
traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
topology: vfw_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick1
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick1
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
cidr: '10.0.1.0/24'
xe0:
cidr: '10.0.2.0/24'
- vld_id: public_1
+ vld_id: downlink_0
gateway_ip: 'null'
provider: true
physical_network: phystenant1
port_security_enabled: False
xe1:
cidr: '10.0.3.0/24'
- vld_id: private_1
+ vld_id: uplink_0
gateway_ip: 'null'
provider: true
physical_network: phystenant2
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: vfw-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.baremetal
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.baremetal
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
topology: vfw-tg-topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
rules: acl_1rule.yaml
vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
runner:
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vfw_vnf.yaml #VNF type
- member-vnf-index: '3'
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
-
- - id: public_1
- name: vnf__1 to tg__2 link 2
+ vnfd-id-ref: vnf__0
+ - id: uplink_1
+ name: tg__0 to vnf__0 link 2
+ type: ELAN
+ vnfd-connection-point-ref:
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+ - member-vnf-index-ref: '1'
+ vnfd-connection-point-ref: xe1
+ vnfd-id-ref: tg__0
+ - id: downlink_0
+ name: vnf__0 to tg__1 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '3'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
VNF model: ../../vnf_descriptors/vfw_vnf.yaml #VNF type
vld:
- - id: private_0
+ - id: uplink_0
name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
vnfd-id-ref: vnf__0
- - id: public_0
+ - id: downlink_0
name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
vnfd-connection-point-ref: xe1
vnfd-id-ref: tg__0
- - id: private_1
+ - id: uplink_1
name: tg__0 to vnf__0 link 3
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe2
vnfd-id-ref: vnf__0
- - id: public_1
+ - id: downlink_1
name: vnf__0 to tg__0 link 4
type: ELAN
vnfd-connection-point-ref:
description: 3tg-topology
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vfw_vnf.yaml #VNF type
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
description: scenario with vFW VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vfw_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
description: scenario with HTTP and vFW VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_ixload.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vfw_vnf.yaml
vld:
- - id: private_1
- name: tg__1 to vnf__1 link 1
+ - id: uplink_0
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 # HTTP Client
+ vnfd-id-ref: tg__0 # HTTP Client
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 # VNF
+ vnfd-id-ref: vnf__0 # VNF
- - id: public_1
- name: vnf__1 to tg__1 link 2
+ - id: downlink_0
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 # HTTP Server
+ vnfd-id-ref: vnf__0 # HTTP Server
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 # VFW VNF
+ vnfd-id-ref: tg__0 # VFW VNF
# See the License for the specific language governing permissions and
# limitations under the License.
{
- "private_1": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_1": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
topology: vpe_vnf_topology_ixload.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
- vnf__1:
+ vnf__0:
nfvi_enable: True
vnf_config: vpe_config
runner:
traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
topology: vpe_vnf_topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {1518B: 100}
public: {1518B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
nfvi_enable: True
vnf_config: vpe_config
runner:
traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
topology: vpe_vnf_topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
nfvi_enable: True
vnf_config: vpe_config
runner:
traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_vpe.yaml"
topology: vpe_vnf_topology_ixia.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
nfvi_enable: True
vnf_config: vpe_config
runner:
traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
topology: vpe_vnf_topology-3node.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
- tg__2: trafficgen_2.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
+ tg__1: trafficgen_2.yardstick
options:
framesize:
private: {64B: 100}
public: {64B: 100}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__2': 'xe0'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__1': 'xe0'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
correlated_traffic: true
- vnf__1:
+ vnf__0:
nfvi_enable: True
vnf_config: vpe_config
runner:
traffic_profile: "../../traffic_profiles/ipv4_throughput_vpe.yaml"
topology: vpe_vnf_topology.yaml
nodes:
- tg__1: trafficgen_1.yardstick
- vnf__1: vnf.yardstick
+ tg__0: trafficgen_1.yardstick
+ vnf__0: vnf.yardstick
options:
framesize:
private: {64B: 5, 128B: 11, 256B: 16, 373B: 10, 570B: 35, 1400B: 10, 1500B: 13}
public: {64B: 5, 128B: 3, 256B: 4, 373B: 6, 570B: 8, 1400B: 36, 1500B: 38}
flow:
- src_ip: [{'tg__1': 'xe0'}]
- dst_ip: [{'tg__1': 'xe1'}]
+ src_ip: [{'tg__0': 'xe0'}]
+ dst_ip: [{'tg__0': 'xe1'}]
count: 1
traffic_type: 4
rfc2544:
allowed_drop_rate: 0.0001 - 0.0001
- vnf__1:
+ vnf__0:
nfvi_enable: True
vnf_config: vpe_config
runner:
description: scenario with VPE,L3fwd and VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #tg_vpe_upstream.yaml #VPE VNF
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vpe_vnf.yaml #tg_l3fwd.yaml #tg_trex_tpl.yaml #TREX
- member-vnf-index: '3'
- vnfd-id-ref: tg__2
+ vnfd-id-ref: tg__1
VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #tg_vpe_upstream.yaml #VPE VNF
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 #TREX
+ vnfd-id-ref: tg__0 #TREX
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 #VNF
+ vnfd-id-ref: vnf__0 #VNF
- - id: public
- name: vnf__1 to tg__2 link 2
+ - id: downlink
+ name: vnf__0 to tg__1 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 #L3fwd
+ vnfd-id-ref: vnf__0 #L3fwd
- member-vnf-index-ref: '3'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__2 #VPE VNF
+ vnfd-id-ref: tg__1 #VPE VNF
description: scenario with VPE,L3fwd and VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #tg_vpe_upstream.yaml #VPE VNF
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vpe_vnf.yaml #tg_l3fwd.yaml #tg_trex_tpl.yaml #TREX
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 #TREX
+ vnfd-id-ref: tg__0 #TREX
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 #VNF
+ vnfd-id-ref: vnf__0 #VNF
- - id: public
- name: vnf__1 to tg__1 link 2
+ - id: downlink
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 #L3fwd
+ vnfd-id-ref: vnf__0 #L3fwd
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 #VPE VNF
+ vnfd-id-ref: tg__0 #VPE VNF
description: scenario with VPE,L3fwd and VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vpe_vnf.yaml
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 #TREX
+ vnfd-id-ref: tg__0 #TREX
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 #VNF
+ vnfd-id-ref: vnf__0 #VNF
- - id: public
- name: vnf__1 to tg__1 link 2
+ - id: downlink
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 #L3fwd
+ vnfd-id-ref: vnf__0 #L3fwd
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 #VPE VNF
+ vnfd-id-ref: tg__0 #VPE VNF
description: scenario with VPE,L3fwd and VNF
constituent-vnfd:
- member-vnf-index: '1'
- vnfd-id-ref: tg__1
+ vnfd-id-ref: tg__0
VNF model: ../../vnf_descriptors/tg_ixload.yaml
- member-vnf-index: '2'
- vnfd-id-ref: vnf__1
+ vnfd-id-ref: vnf__0
VNF model: ../../vnf_descriptors/vpe_vnf.yaml
vld:
- - id: private
- name: tg__1 to vnf__1 link 1
+ - id: uplink
+ name: tg__0 to vnf__0 link 1
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: tg__1 #TREX
+ vnfd-id-ref: tg__0 #TREX
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe0
- vnfd-id-ref: vnf__1 #VNF
+ vnfd-id-ref: vnf__0 #VNF
- - id: public
- name: vnf__1 to tg__1 link 2
+ - id: downlink
+ name: vnf__0 to tg__0 link 2
type: ELAN
vnfd-connection-point-ref:
- member-vnf-index-ref: '2'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: vnf__1 #L3fwd
+ vnfd-id-ref: vnf__0 #L3fwd
- member-vnf-index-ref: '1'
vnfd-connection-point-ref: xe1
- vnfd-id-ref: tg__1 #VPE VNF
+ vnfd-id-ref: tg__0 #VPE VNF
570B: {{get(imix_570B, 12) }}
1400B: {{get(imix_1400B, 12) }}
1518b: {{get(imix_1500B, 12) }}
- srcmac: {{get(private.ipv4_1.dst_mac}} # xe0.local_mac
- dstmac: {{get)private.ipv4_1.src_mac}} # xe0.dst_mac
+ srcmac: {{get(uplink.ipv4_1.dst_mac}} # xe0.local_mac
+ dstmac: {{get)uplink.ipv4_1.src_mac}} # xe0.dst_mac
QinQ:
S-VLAN:
id: {{ get(flow.s_vlan_range, "0") }}
outer_l3v4:
proto: {{ get(flow.outer_proto, "udp") }},
- srcip4: {{ get(private.ipv4_1.outer_l3v4.dstip4) }}
- dstip4: {{ get(private.ipv4_1.outer_l3v4.srcip4) }}
+ srcip4: {{ get(uplink.ipv4_1.outer_l3v4.dstip4) }}
+ dstip4: {{ get(uplink.ipv4_1.outer_l3v4.srcip4) }}
ttl: 32
dscp: {{ get(flow.tos, 0) }}
outer_l4:
- srcport: {{ get(private.ipv4_1.outer_l4.dstport) }}
- dstport: {{ get(private.ipv4_1.outer_l4.srcport) }}
+ srcport: {{ get(uplink.ipv4_1.outer_l4.dstport) }}
+ dstport: {{ get(uplink.ipv4_1.outer_l4.srcport) }}
vni: {{ get(flow.vxlan_vni, "2345") }} #optional
inner_l2: #optional
- srcmac: {{ get(private.ipv4_1.outer_l4.inner_l2.dstmac) }}
- dstmac: {{ get(private.ipv4_1.outer_l4.inner_l2.srcmac) }}
+ srcmac: {{ get(uplink.ipv4_1.outer_l4.inner_l2.dstmac) }}
+ dstmac: {{ get(uplink.ipv4_1.outer_l4.inner_l2.srcmac) }}
inner_l3v4: #optional
proto: {{ get(flow.inner_proto, "udp") }},
- srcip4: {{ get(private.ipv4_1.inner_l3v4.dstip4) }}
- dstip4: {{ get(private.ipv4_1.inner_l3v4.srcip4) }}
+ srcip4: {{ get(uplink.ipv4_1.inner_l3v4.dstip4) }}
+ dstip4: {{ get(uplink.ipv4_1.inner_l3v4.srcip4) }}
ttl: 32
dscp: {{ get(flow.inner_tos, 0) }}
inner_l3v6:
proto: {{ get(flow.inner_proto, "udp") }},
- srcip6: {{ get(private.ipv4_1.inner_l3v6.dstip6) }}
- dstip6: {{ get(private.ipv4_1.inner_l3v6.srcip6) }}
+ srcip6: {{ get(uplink.ipv4_1.inner_l3v6.dstip6) }}
+ dstip6: {{ get(uplink.ipv4_1.inner_l3v6.srcip6) }}
ttl: 32
tc: {{ get(flow.inner_tos, 0) }}
inner_l4:
- srcport: {{ get(private.ipv4_1.inner_l4.dstport) }}
- dstport: {{ get(private.ipv4_1.inner_l4.srcport) }}
+ srcport: {{ get(uplink.ipv4_1.inner_l4.dstport) }}
+ dstport: {{ get(uplink.ipv4_1.inner_l4.srcport) }}
traffic_type: TrafficProfileGenericHTTP
#http client specific values
-private_1:
+uplink_0:
http_no_requests: "1000" # number of http iterations
http_concurency: "65000" # number of threads to be run
http_locator: "/1B.bin" # http locator to be read
attacker_tests: "False" # True : If attacker Test, False : Otherwise
#http server side
-public_1:
+downlink_0:
http_locator_image_size: "1B" # image size requested by http client
http_bind_address: "152.40.40.20" # where address is bound
http_bind_port: "9004" # when port is bound
# that specifies a range (e.g. ipv4 address, port)
-private_1:
+uplink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.64B', '0') }}"
- 128B: "{{ get(imix, 'imix.private.128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.373B', '0') }}"
- 512B: "{{ get(imix, 'imix.private.512B', '0') }}"
- 570B: "{{get(imix, 'imix.private.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+ 64B: "{{get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{get(imix, 'imix.uplink.256B', '0') }}"
+ 373B: "{{get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
- srcip4: "{{get(flow, 'flow.src_ip_0', '1.1.1.1-1.1.255.255') }}"
- dstip4: "{{get(flow, 'flow.dst_ip_0', '90.90.1.1-90.90.255.255') }}"
+ srcip4: "{{get(flow, 'flow.src_ip_0', '10.0.2.1-10.0.2.255') }}"
+ dstip4: "{{get(flow, 'flow.dst_ip_0', '10.0.3.1-10.0.3.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
srcport: "{{get(flow, 'flow.src_port_0', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_0', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.public.64B', '0') }}"
- 128B: "{{ get(imix, 'imix.public.128B', '0') }}"
- 256B: "{{ get(imix, 'imix.public.256B', '0') }}"
- 373b: "{{ get(imix, 'imix.public.373B', '0') }}"
- 512B: "{{ get(imix, 'imix.public.512B', '0') }}"
- 570B: "{{get(imix, 'imix.public.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+ 64B: "{{ get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
- srcip4: "{{get(flow, 'flow.dst_ip_0', '90.90.1.1-90.90.255.255') }}"
- dstip4: "{{get(flow, 'flow.src_ip_0', '1.1.1.1-1.1.255.255') }}"
+ srcip4: "{{get(flow, 'flow.dst_ip_0', '10.0.3.1-10.0.3.255') }}"
+ dstip4: "{{get(flow, 'flow.src_ip_0', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
# that specifies a range (e.g. ipv4 address, port)
-private_1:
+uplink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{get(imix, 'imix.private.64B', '0') }}"
- 128B: "{{get(imix, 'imix.private.128B', '0') }}"
- 256B: "{{get(imix, 'imix.private.256B', '0') }}"
- 373B: "{{get(imix, 'imix.private.373B', '0') }}"
- 512B: "{{get(imix, 'imix.private.512B', '0') }}"
- 570B: "{{get(imix, 'imix.private.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+ 64B: "{{get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{get(imix, 'imix.uplink.256B', '0') }}"
+ 373B: "{{get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
srcport: "{{get(flow, 'flow.src_port_0', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_0', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.public.64B', '0') }}"
- 128B: "{{ get(imix, 'imix.public.128B', '0') }}"
- 256B: "{{ get(imix, 'imix.public.256B', '0') }}"
- 373b: "{{ get(imix, 'imix.public.373B', '0') }}"
- 512B: "{{ get(imix, 'imix.public.512B', '0') }}"
- 570B: "{{get(imix, 'imix.public.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+ 64B: "{{ get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
# that specifies a range (e.g. ipv4 address, port)
-private_1:
+uplink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.64B', '0') }}"
- 128B: "{{ get(imix, 'imix.private.128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.373B', '0') }}"
- 512B: "{{ get(imix, 'imix.private.512B', '0') }}"
- 570B: "{{get(imix, 'imix.private.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
QinQ:
S-VLAN:
srcport: "{{get(flow, 'flow.src_port_0', '0') }}"
dstport: "{{get(flow, 'flow.dst_port_0', '0') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
outer_l3v4:
proto: "tcp"
srcport: "{{get(flow, 'flow.dst_port_0', '0') }}"
dstport: "{{get(flow, 'flow.src_port_0', '0') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-private_2:
+uplink_1:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.public.64B', '0') }}"
- 128B: "{{ get(imix, 'imix.public.128B', '0') }}"
- 256B: "{{ get(imix, 'imix.public.256B', '0') }}"
- 373b: "{{ get(imix, 'imix.public.373B', '0') }}"
- 512B: "{{ get(imix, 'imix.public.512B', '0') }}"
- 570B: "{{get(imix, 'imix.public.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+ 64B: "{{ get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{ get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{ get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
QinQ:
S-VLAN:
srcport: "{{get(flow, 'flow.src_port1', '0') }}"
dstport: "{{get(flow, 'flow.dst_port1', '0') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_2:
+downlink_1:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
outer_l3v4:
proto: "tcp"
# that specifies a range (e.g. ipv4 address, port)
-private_1:
+uplink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{get(imix, 'imix.private.64B', '0') }}"
- 128B: "{{get(imix, 'imix.private.128B', '0') }}"
- 256B: "{{get(imix, 'imix.private.256B', '0') }}"
- 373b: "{{get(imix, 'imix.private.373B', '0') }}"
- 512B: "{{get(imix, 'imix.private.512B', '0') }}"
- 570B: "{{get(imix, 'imix.private.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+ 64B: "{{get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{get(imix, 'imix.uplink.256B', '0') }}"
+ 373b: "{{get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
srcport: "{{get(flow, 'flow.src_port_0', '1234') }}"
dstport: "{{get(flow, 'flow.dst_port_0', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{get(imix, 'imix.public.64B', '0') }}"
- 128B: "{{get(imix, 'imix.public.128B', '0') }}"
- 256B: "{{get(imix, 'imix.public.256B', '0') }}"
- 373b: "{{get(imix, 'imix.public.373B', '0') }}"
- 512B: "{{get(imix, 'imix.public.512B', '0') }}"
- 570B: "{{get(imix, 'imix.public.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+ 64B: "{{get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
srcport: "{{get(flow, 'flow.src_port_0', '1234') }}"
dstport: "{{get(flow, 'flow.dst_port_0', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-private_2:
+uplink_1:
ipv4:
outer_l2:
framesize:
- 64B: "{{get(imix, 'imix.private.64B', '0') }}"
- 128B: "{{get(imix, 'imix.private.128B', '0') }}"
- 256B: "{{get(imix, 'imix.private.256B', '0') }}"
- 373b: "{{get(imix, 'imix.private.373B', '0') }}"
- 512B: "{{get(imix, 'imix.private.512B', '0') }}"
- 570B: "{{get(imix, 'imix.private.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.private.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.1518B', '0') }}"
+ 64B: "{{get(imix, 'imix.uplink.64B', '0') }}"
+ 128B: "{{get(imix, 'imix.uplink.128B', '0') }}"
+ 256B: "{{get(imix, 'imix.uplink.256B', '0') }}"
+ 373b: "{{get(imix, 'imix.uplink.373B', '0') }}"
+ 512B: "{{get(imix, 'imix.uplink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
srcport: "{{get(flow, 'flow.src_port1', '1234') }}"
dstport: "{{get(flow, 'flow.dst_port1', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_2:
+downlink_1:
ipv4:
outer_l2:
framesize:
- 64B: "{{get(imix, 'imix.public.64B', '0') }}"
- 128B: "{{get(imix, 'imix.public.128B', '0') }}"
- 256B: "{{get(imix, 'imix.public.256B', '0') }}"
- 373b: "{{get(imix, 'imix.public.373B', '0') }}"
- 512B: "{{get(imix, 'imix.public.512B', '0') }}"
- 570B: "{{get(imix, 'imix.public.570B', '0') }}"
- 1400B: "{{get(imix, 'imix.public.1400B', '0') }}"
- 1500B: "{{get(imix, 'imix.public.1500B', '0') }}"
- 1518B: "{{get(imix, 'imix.public.1518B', '0') }}"
+ 64B: "{{get(imix, 'imix.downlink.64B', '0') }}"
+ 128B: "{{get(imix, 'imix.downlink.128B', '0') }}"
+ 256B: "{{get(imix, 'imix.downlink.256B', '0') }}"
+ 373b: "{{get(imix, 'imix.downlink.373B', '0') }}"
+ 512B: "{{get(imix, 'imix.downlink.512B', '0') }}"
+ 570B: "{{get(imix, 'imix.downlink.570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}"
+ 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}"
+ 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}"
outer_l3v4:
proto: "udp"
frame_rate : 100 # pc of linerate
# that specifies a range (e.g. ipv4 address, port)
-private_1:
+uplink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
QinQ:
S-VLAN:
srcport: "{{get(flow, 'flow.src_port_0', '0') }}"
dstport: "{{get(flow, 'flow.dst_port_0', '0') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_1:
+downlink_0:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
outer_l3v4:
proto: "tcp"
srcport: "{{get(flow, 'flow.dst_port_0', '0') }}"
dstport: "{{get(flow, 'flow.src_port_0', '0') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-private_2:
+uplink_1:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
QinQ:
S-VLAN:
srcport: "{{get(flow, 'flow.src_port1', '0') }}"
dstport: "{{get(flow, 'flow.dst_port1', '0') }}"
count: "{{get(flow, 'flow.count', '1') }}"
-public_2:
+downlink_1:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
outer_l3v4:
proto: "tcp"
'network_name': 'mgmt',
},
'xe0': {
- 'network_name': 'private_0',
+ 'network_name': 'uplink_0',
},
'xe1': {
- 'network_name': 'public_0',
+ 'network_name': 'downlink_0',
},
},
},
'mgmt': {
'network_name': 'mgmt',
},
- 'private_0': {
- 'network_name': 'private_0',
+ 'uplink_0': {
+ 'network_name': 'uplink_0',
},
- 'public_0': {
- 'network_name': 'public_0',
+ 'downlink_0': {
+ 'network_name': 'downlink_0',
},
},
},
},
{},
{
- 'name': 'private_0',
+ 'name': 'uplink_0',
'subnet_cidr': '10.20.0.0/16',
},
{
- 'name': 'public_0',
+ 'name': 'downlink_0',
'segmentation_id': '1001',
},
{
- 'name': 'private_1',
+ 'name': 'uplink_1',
},
])
expected_get_network_calls = 6
expected = {
'mgmt': {'name': 'mgmt', 'network_type': 'flat'},
- 'private_0': {'name': 'private_0', 'subnet_cidr': '10.20.0.0/16'},
- 'private_1': {'name': 'private_1'},
- 'public_0': {'name': 'public_0', 'segmentation_id': '1001'},
+ 'uplink_0': {'name': 'uplink_0', 'subnet_cidr': '10.20.0.0/16'},
+ 'uplink_1': {'name': 'uplink_1'},
+ 'downlink_0': {'name': 'downlink_0', 'segmentation_id': '1001'},
}
networks = task.get_networks_from_nodes(nodes)
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
QinQ:
S-VLAN:
ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'imix.private.imix_small', '0') }}"
- 128B: "{{ get(imix, 'imix.private.imix_128B', '0') }}"
- 256B: "{{ get(imix, 'imix.private.imix_256B', '0') }}"
- 373b: "{{ get(imix, 'imix.private.imix_373B', '0') }}"
- 570B: "{{get(imix, 'imix.private.imix_570B', '0') }}"
- 1400B: "{{get(imix, 'imix.private.imix_1400B', '0') }}"
- 1518B: "{{get(imix, 'imix.private.imix_1500B', '0') }}"
+ 64B: "{{ get(imix, 'imix.uplink.imix_small', '0') }}"
+ 128B: "{{ get(imix, 'imix.uplink.imix_128B', '0') }}"
+ 256B: "{{ get(imix, 'imix.uplink.imix_256B', '0') }}"
+ 373b: "{{ get(imix, 'imix.uplink.imix_373B', '0') }}"
+ 570B: "{{get(imix, 'imix.uplink.imix_570B', '0') }}"
+ 1400B: "{{get(imix, 'imix.uplink.imix_1400B', '0') }}"
+ 1518B: "{{get(imix, 'imix.uplink.imix_1500B', '0') }}"
outer_l3v4:
proto: "tcp"
'vnf__1': self.vnf__1,
},
'networks': {
- 'private': {
- 'vld_id': 'private',
+ GenericVNF.UPLINK: {
+ 'vld_id': GenericVNF.UPLINK,
},
- 'public': {
- 'vld_id': 'public',
+ GenericVNF.DOWNLINK: {
+ 'vld_id': GenericVNF.DOWNLINK,
},
},
}
}
],
'type': 'ELAN',
- 'id': 'private',
+ 'id': GenericVNF.UPLINK,
'name': 'tg__1 to vnf__1 link 1'
}
}
],
'type': 'ELAN',
- 'id': 'public',
+ 'id': GenericVNF.DOWNLINK,
'name': 'vnf__1 to tg__1 link 2'
}
VNF model: ../../vnf_descriptors/vpe_vnf.yaml #tg_l3fwd.yaml #tg_trex_tpl.yaml #TREX
vld:
- - id: private
+ - id: uplink
name: tg__1 to vnf__1 link 1
type: ELAN
vnfd-connection-point-ref:
vnfd-connection-point-ref: xe0
vnfd-id-ref: vnf__1 #VNF
- - id: public
+ - id: downlink
name: vnf__1 to tg__1 link 2
type: ELAN
vnfd-connection-point-ref:
VNF model: ../../vnf_descriptors/acl_vnf.yaml
vld:
- - id: private_1
+ - id: uplink_1
name: tg__1 to vnf__1 link 1
type: ELAN
vnfd-connection-point-ref:
vnfd-connection-point-ref: xe0
vnfd-id-ref: vnf__1 #VNF
- - id: public_1
+ - id: downlink_1
name: vnf__1 to tg__1 link 2
type: ELAN
vnfd-connection-point-ref:
vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
interfaces = vnfd['vdu'][0]['external-interface']
port_pairs = PortPairs(interfaces)
- self.assertEqual(port_pairs.valid_networks, [("private_0", "public_0")])
+ self.assertEqual(port_pairs.valid_networks, [("uplink_0", "downlink_0")])
def test_all_ports(self):
vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
port_pairs = PortPairs(interfaces)
self.assertEqual(set(port_pairs.all_ports), {"xe0", "xe1"})
- def test_priv_ports(self):
+ def test_uplink_ports(self):
vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
interfaces = vnfd['vdu'][0]['external-interface']
port_pairs = PortPairs(interfaces)
- self.assertEqual(port_pairs.priv_ports, ["xe0"])
+ self.assertEqual(port_pairs.uplink_ports, ["xe0"])
- def test_pub_ports(self):
+ def test_downlink_ports(self):
vnfd = TestMultiPortConfig.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
interfaces = vnfd['vdu'][0]['external-interface']
port_pairs = PortPairs(interfaces)
- self.assertEqual(port_pairs.pub_ports, ["xe1"])
+ self.assertEqual(port_pairs.downlink_ports, ["xe1"])
class TestMultiPortConfig(unittest.TestCase):
'ifname': 'xe0',
'local_iface_name': 'eth0',
'local_mac': '00:00:00:00:00:02',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
},
'vnfd-connection-point-ref': 'xe0',
'name': 'xe0'},
'ifname': 'xe1',
'local_iface_name': 'eth1',
'local_mac': '00:00:00:00:00:01',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
},
'vnfd-connection-point-ref': 'xe1',
'name': 'xe1'}
from yardstick.network_services.libs.ixia_libs.IxNet.IxNet import IP_VERSION_6
+UPLINK = "uplink"
+DOWNLINK = "downlink"
+
class TestIxNextgen(unittest.TestCase):
def test___init__(self):
def test_ix_update_frame(self):
static_traffic_params = {
- "private": {
+ UPLINK: {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public": {
+ DOWNLINK: {
"id": 2,
"bidir": "False",
"duration": 60,
def test_add_ip_header_v4(self):
static_traffic_params = {
- "private_0": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_0": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
def test_add_ip_header_v4_nothing_to_do(self):
static_traffic_params = {
- "private_0": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_0": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
def test_add_ip_header_v6(self):
static_traffic_profile = {
- "private_0": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_0": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
def test_add_ip_header_v6_nothing_to_do(self):
static_traffic_params = {
- "private_0": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_0": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
def test_ix_update_ether(self):
static_traffic_params = {
- "private_0": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_0": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
def test_ix_update_ether_nothing_to_do(self):
static_traffic_params = {
- "private_0": {
+ "uplink_0": {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public_0": {
+ "downlink_0": {
"id": 2,
"bidir": "False",
"duration": 60,
'name': 'rfc2544',
'traffic_profile': {'traffic_type': 'IXIARFC2544Profile',
'frame_rate': 100},
- 'public': {'ipv4':
+ IXIARFC2544Profile.DOWNLINK: {'ipv4':
{'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
'dscp': 0, 'ttl': 32},
'outer_l4': {'srcport': '2001',
'dsrport': '1234'}}},
- 'private': {'ipv4':
+ IXIARFC2544Profile.UPLINK: {'ipv4':
{'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
def test_get_ixia_traffic_profile_error(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.my_ports = [0, 1]
- traffic_generator.priv_ports = [-1]
- traffic_generator.pub_ports = [1]
+ traffic_generator.uplink_ports = [-1]
+ traffic_generator.downlink_ports = [1]
traffic_generator.client = \
mock.Mock(return_value=True)
STATIC_TRAFFIC = {
- "private": {
+ IXIARFC2544Profile.UPLINK: {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public": {
+ IXIARFC2544Profile.DOWNLINK: {
"id": 2,
"bidir": "False",
"duration": 60,
def test_get_ixia_traffic_profile(self, mock_open):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.my_ports = [0, 1]
- traffic_generator.priv_ports = [-1]
- traffic_generator.pub_ports = [1]
+ traffic_generator.uplink_ports = [-1]
+ traffic_generator.downlink_ports = [1]
traffic_generator.client = \
mock.Mock(return_value=True)
STATIC_TRAFFIC = {
- "private": {
+ IXIARFC2544Profile.UPLINK: {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public": {
+ IXIARFC2544Profile.DOWNLINK: {
"id": 2,
"bidir": "False",
"duration": 60,
def test_get_ixia_traffic_profile_v6(self, mock_open):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.my_ports = [0, 1]
- traffic_generator.priv_ports = [-1]
- traffic_generator.pub_ports = [1]
+ traffic_generator.uplink_ports = [-1]
+ traffic_generator.downlink_ports = [1]
traffic_generator.client = \
mock.Mock(return_value=True)
STATIC_TRAFFIC = {
- "private": {
+ IXIARFC2544Profile.UPLINK: {
"id": 1,
"bidir": "False",
"duration": 60,
},
"traffic_type": "continuous"
},
- "public": {
+ IXIARFC2544Profile.DOWNLINK: {
"id": 2,
"bidir": "False",
"duration": 60,
'traffic_profile':
{'traffic_type': 'IXIARFC2544Profile',
'frame_rate': 100},
- 'public':
+ IXIARFC2544Profile.DOWNLINK:
{'ipv4':
{'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'dscp': 0, 'ttl': 32},
'outer_l4': {'srcport': '2001',
'dsrport': '1234'}}},
- 'private': {'ipv4':
+ IXIARFC2544Profile.UPLINK: {'ipv4':
{'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
def test__ixia_traffic_generate(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = \
mock.Mock(return_value=True)
- traffic = {"public": {'iload': 10},
- "private": {'iload': 10}}
+ traffic = {IXIARFC2544Profile.DOWNLINK: {'iload': 10},
+ IXIARFC2544Profile.UPLINK: {'iload': 10}}
ixia_obj = mock.MagicMock()
r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
r_f_c2544_profile.rate = 100
def test_execute(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = \
mock.Mock(return_value=True)
r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
r_f_c2544_profile.first_run = True
- r_f_c2544_profile.params = {"public": {'iload': 10},
- "private": {'iload': 10}}
+ r_f_c2544_profile.params = {IXIARFC2544Profile.DOWNLINK: {'iload': 10},
+ IXIARFC2544Profile.UPLINK: {'iload': 10}}
r_f_c2544_profile.get_streams = mock.Mock()
r_f_c2544_profile.full_profile = {}
def test_update_traffic_profile(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"], # private, one value for intfs
- "public_0": ["xe1", "xe2"], # public, two values for intfs
- "public_1": ["xe3"], # not in TRAFFIC PROFILE
+ "uplink_0": ["xe0"], # private, one value for intfs
+ "downlink_0": ["xe1", "xe2"], # public, two values for intfs
+ "downlink_1": ["xe3"], # not in TRAFFIC PROFILE
"tenant_0": ["xe4"], # not public or private
}
traffic_profile = deepcopy(self.TRAFFIC_PROFILE)
traffic_profile.update({
- "private_0": ["xe0"],
- "public_0": ["xe1", "xe2"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1", "xe2"],
})
r_f_c2544_profile = IXIARFC2544Profile(traffic_profile)
def test_get_drop_percentage(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = \
mock.Mock(return_value=True)
def test_get_drop_percentage_update(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.my_ports = [0, 1]
- traffic_generator.priv_ports = [0]
- traffic_generator.pub_ports = [1]
+ traffic_generator.uplink_ports = [0]
+ traffic_generator.downlink_ports = [1]
traffic_generator.client = \
mock.Mock(return_value=True)
r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
def test_get_drop_percentage_div_zero(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.my_ports = [0, 1]
- traffic_generator.priv_ports = [0]
- traffic_generator.pub_ports = [1]
+ traffic_generator.uplink_ports = [0]
+ traffic_generator.downlink_ports = [1]
traffic_generator.client = \
mock.Mock(return_value=True)
r_f_c2544_profile = IXIARFC2544Profile(self.TRAFFIC_PROFILE)
def test_start_ixia_latency(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = \
mock.Mock(return_value=True)
'name': 'rfc2544',
'traffic_profile': {'traffic_type': 'RFC2544Profile',
'frame_rate': 100},
- 'public_0': {'ipv4':
+ 'downlink_0': {'ipv4':
{'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
'dscp': 0, 'ttl': 32, 'count': 1},
'outer_l4': {'srcport': '2001',
'dsrport': '1234', 'count': 1}}},
- 'private_0': {'ipv4':
+ 'uplink_0': {'ipv4':
{'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
def test_execute(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = \
mock.Mock(return_value=True)
def test_get_drop_percentage(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = mock.Mock(return_value=True)
def test_get_drop_percentage_update(self):
traffic_generator = mock.Mock(autospec=RFC2544Profile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = mock.Mock(return_value=True)
def test_get_drop_percentage_div_zero(self):
traffic_generator = mock.Mock(autospec=TrexProfile)
traffic_generator.networks = {
- "private_0": ["xe0"],
- "public_0": ["xe1"],
+ "uplink_0": ["xe0"],
+ "downlink_0": ["xe1"],
}
traffic_generator.client = \
mock.Mock(return_value=True)
'name': 'rfc2544',
'traffic_profile': {'traffic_type': 'RFC2544Profile',
'frame_rate': 100},
- 'public': {'ipv4': {'outer_l2': {'framesize': {'64B': '100',
+ TrafficProfile.DOWNLINK: {'ipv4': {'outer_l2': {'framesize': {'64B': '100',
'1518B': '0',
'128B': '0',
'1400B': '0',
'256B': '0',
'373b': '0',
'570B': '0'},
- "srcmac": "00:00:00:00:00:02",
- "dstmac": "00:00:00:00:00:01"},
- 'outer_l3v4': {'dstip4': '1.1.1.1-1.1.2.2',
+ "srcmac": "00:00:00:00:00:02",
+ "dstmac": "00:00:00:00:00:01"},
+ 'outer_l3v4': {'dstip4': '1.1.1.1-1.1.2.2',
'proto': 'udp',
'srcip4': '9.9.1.1-90.1.2.2',
'dscp': 0, 'ttl': 32,
'count': 1},
- 'outer_l4': {'srcport': '2001',
+ 'outer_l4': {'srcport': '2001',
'dsrport': '1234',
'count': 1}}},
- 'private': {'ipv4':
+ TrafficProfile.UPLINK: {'ipv4':
{'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
'name': 'rfc2544',
'traffic_profile': {'traffic_type': 'RFC2544Profile',
'frame_rate': 100},
- 'public': {'ipv6': {'outer_l2': {'framesize':
+ TrafficProfile.DOWNLINK: {'ipv6': {'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
'256B': '0', '373b': '0',
'570B': '0'},
"srcmac": "00:00:00:00:00:02",
"dstmac": "00:00:00:00:00:01"},
- 'outer_l3v4': {'dstip6': '0064:ff9b:0:0:0:0:9810:6414-0064:ff9b:0:0:0:0:9810:6420',
+ 'outer_l3v4': {'dstip6': '0064:ff9b:0:0:0:0:9810:6414-0064:ff9b:0:0:0:0:9810:6420',
'proto': 'udp',
'srcip6': '0064:ff9b:0:0:0:0:9810:2814-0064:ff9b:0:0:0:0:9810:2820',
'dscp': 0, 'ttl': 32,
'count': 1},
- 'outer_l4': {'srcport': '2001',
+ 'outer_l4': {'srcport': '2001',
'dsrport': '1234',
'count': 1}}},
- 'private':
+ TrafficProfile.UPLINK:
{'ipv6': {'outer_l2': {'framesize':
{'64B': '100', '1518B': '0',
'128B': '0', '1400B': '0',
TrexProfile(TrafficProfile)
qinq = {"S-VLAN": {"id": 128, "priority": 0, "cfi": 0},
"C-VLAN": {"id": 512, "priority": 0, "cfi": 0}}
- outer_l2 = self.PROFILE['private']['ipv4']['outer_l2']
+ outer_l2 = self.PROFILE[TrafficProfile.UPLINK]['ipv4']['outer_l2']
outer_l2['QinQ'] = qinq
self.assertEqual(None, trex_profile._set_outer_l2_fields(outer_l2))
def test__set_outer_l3v4_fields(self):
trex_profile = \
TrexProfile(TrafficProfile)
- outer_l3v4 = self.PROFILE['private']['ipv4']['outer_l3v4']
+ outer_l3v4 = self.PROFILE[TrafficProfile.UPLINK]['ipv4']['outer_l3v4']
outer_l3v4['proto'] = 'tcp'
self.assertEqual(None, trex_profile._set_outer_l3v4_fields(outer_l3v4))
def test__set_outer_l3v6_fields(self):
trex_profile = \
TrexProfile(TrafficProfile)
- outer_l3v6 = self.PROFILE_v6['private']['ipv6']['outer_l3v4']
+ outer_l3v6 = self.PROFILE_v6[TrafficProfile.UPLINK]['ipv6']['outer_l3v4']
outer_l3v6['proto'] = 'tcp'
outer_l3v6['tc'] = 1
outer_l3v6['hlim'] = 10
def test__set_outer_l4_fields(self):
trex_profile = \
TrexProfile(TrafficProfile)
- outer_l4 = self.PROFILE['private']['ipv4']['outer_l4']
+ outer_l4 = self.PROFILE[TrafficProfile.UPLINK]['ipv4']['outer_l4']
self.assertEqual(None, trex_profile._set_outer_l4_fields(outer_l4))
def test_get_streams(self):
trex_profile = \
TrexProfile(TrafficProfile)
trex_profile.params = self.PROFILE
- profile_data = self.PROFILE["private"]
+ profile_data = self.PROFILE[TrafficProfile.UPLINK]
self.assertIsNotNone(trex_profile.get_streams(profile_data))
trex_profile.pg_id = 1
self.assertIsNotNone(trex_profile.get_streams(profile_data))
trex_profile.params = self.PROFILE_v6
- trex_profile.profile_data = self.PROFILE_v6["private"]
+ trex_profile.profile_data = self.PROFILE_v6[TrafficProfile.UPLINK]
self.assertIsNotNone(trex_profile.get_streams(profile_data))
trex_profile.pg_id = 1
self.assertIsNotNone(trex_profile.get_streams(profile_data))
from yardstick.common.yaml_loader import yaml_load
from yardstick.network_services.vnf_generic import vnfdgen
+
+UPLINK = "uplink"
+DOWNLINK = "downlink"
+
TREX_VNFD_TEMPLATE = """
vnfd:vnfd-catalog:
vnfd:
}
+# need to template, but can't use {} so use %s
TRAFFIC_PROFILE_TPL = """
-private:
+%(0)s:
- ipv4:
outer_l2:
framesize:
- 64B: "{{ get(imix, 'private.imix_small', 10) }}"
- 128B: "{{ get(imix, 'private.imix_128B', 10) }}"
- 256B: "{{ get(imix, 'private.imix_256B', 10) }}"
- 373B: "{{ get(imix, 'private.imix_373B', 10) }}"
- 570B: "{{get(imix, 'private.imix_570B', 10) }}"
- 1400B: "{{get(imix, 'private.imix_1400B', 10) }}"
- 1518B: "{{get(imix, 'private.imix_1500B', 40) }}"
-"""
+ 64B: "{{ get(imix, '%(0)s.imix_small', 10) }}"
+ 128B: "{{ get(imix, '%(0)s.imix_128B', 10) }}"
+ 256B: "{{ get(imix, '%(0)s.imix_256B', 10) }}"
+ 373B: "{{ get(imix, '%(0)s.imix_373B', 10) }}"
+ 570B: "{{get(imix, '%(0)s.imix_570B', 10) }}"
+ 1400B: "{{get(imix, '%(0)s.imix_1400B', 10) }}"
+ 1518B: "{{get(imix, '%(0)s.imix_1500B', 40) }}"
+""" % {"0": UPLINK}
TRAFFIC_PROFILE = {
- "private": [{"ipv4": {"outer_l2":
+ UPLINK: [{"ipv4": {"outer_l2":
{"framesize": {"64B": '10', "128B": '10',
"256B": '10', "373B": '10',
"570B": '10', "1400B": '10',
generated_tp = \
vnfdgen.generate_vnfd(TRAFFIC_PROFILE_TPL,
- {"imix": {"private": {"imix_small": '20'}}})
+ {"imix": {UPLINK: {"imix_small": '20'}}})
self.maxDiff = None
tp2 = dict(TRAFFIC_PROFILE)
- tp2["private"][0]["ipv4"]["outer_l2"]["framesize"]["64B"] = '20'
+ tp2[UPLINK][0]["ipv4"]["outer_l2"]["framesize"]["64B"] = '20'
self.assertDictEqual(tp2, generated_tp)
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens513f0',
- 'vld_id': 'public',
+ 'vld_id': AclApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.20',
'dst_mac': '00:00:00:00:00:01',
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens785f0',
- 'vld_id': 'private',
+ 'vld_id': AclApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.20',
'dst_mac': '00:00:00:00:00:02',
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens786f0',
- 'vld_id': 'private',
+ 'vld_id': AclApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.19',
'dst_mac': '00:00:00:00:00:04',
'vpci': '0000:05:00.0',
'dpdk_port_num': 0},
'xe1': {'local_iface_name': 'ens786f1',
- 'vld_id': 'public',
+ 'vld_id': AclApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.19',
'dst_mac': '00:00:00:00:00:03',
def test__get_cgnapt_config(self):
vnfd_helper = mock.Mock()
- vnfd_helper.port_pairs.priv_ports = [{"name": 'a'}, {"name": "b"}, {"name": "c"}]
+ vnfd_helper.port_pairs.uplink_ports = [{"name": 'a'}, {"name": "b"}, {"name": "c"}]
helper = CgnaptApproxSetupEnvHelper(vnfd_helper, mock.Mock(), mock.Mock())
helper._get_ports_gateway = mock.Mock(side_effect=[3, 5, 2])
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens513f0',
- 'vld_id': 'public',
+ 'vld_id': CgnaptApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.20',
'dst_mac': '00:00:00:00:00:01',
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens785f0',
- 'vld_id': 'private',
+ 'vld_id': CgnaptApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.20',
'dst_mac': '00:00:00:00:00:02',
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens786f0',
- 'vld_id': 'private',
+ 'vld_id': CgnaptApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.19',
'dst_mac': '00:00:00:00:00:04',
'vpci': '0000:05:00.0',
'dpdk_port_num': 0},
'xe1': {'local_iface_name': 'ens786f1',
- 'vld_id': 'public',
+ 'vld_id': CgnaptApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.19',
'dst_mac': '00:00:00:00:00:03',
'vpci': '0000:05:00.0',
'local_ip': '152.16.100.19',
'type': 'PCI-PASSTHROUGH',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'netmask': '255.255.255.0',
'dpdk_port_num': 0,
'bandwidth': '10 Gbps',
'vpci': '0000:05:00.1',
'local_ip': '152.16.40.19',
'type': 'PCI-PASSTHROUGH',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'driver': "i40e",
'netmask': '255.255.255.0',
'dpdk_port_num': 1,
'vpci': '0000:05:00.0',
'local_ip': '152.16.100.19',
'type': 'PCI-PASSTHROUGH',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'netmask': '255.255.255.0',
'dpdk_port_num': 0,
'bandwidth': '10 Gbps',
'vpci': '0000:05:00.1',
'local_ip': '152.16.40.19',
'type': 'PCI-PASSTHROUGH',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'driver': "i40e",
'netmask': '255.255.255.0',
'dpdk_port_num': 1,
'vpci': '0000:06:00.0',
'local_ip': '152.16.100.20',
'type': 'PCI-PASSTHROUGH',
- 'vld_id': 'private_1',
+ 'vld_id': 'uplink_1',
'netmask': '255.255.255.0',
'dpdk_port_num': 0,
'bandwidth': '10 Gbps',
'interfaces': {
'xe0': {
'local_iface_name': 'ens513f0',
- 'vld_id': 'public',
+ 'vld_id': ProxApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.20',
'dst_mac': '00:00:00:00:00:01',
'interfaces': {
'xe0': {
'local_iface_name': 'ens785f0',
- 'vld_id': 'private',
+ 'vld_id': ProxApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.20',
'dst_mac': '00:00:00:00:00:02',
'interfaces': {
'xe0': {
'local_iface_name': 'ens786f0',
- 'vld_id': 'private',
+ 'vld_id': ProxApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.19',
'dst_mac': '00:00:00:00:00:04',
},
'xe1': {
'local_iface_name': 'ens786f1',
- 'vld_id': 'public',
+ 'vld_id': ProxApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.19',
'dst_mac': '00:00:00:00:00:03',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.100.20',
'local_mac': '00:00:00:00:00:01',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'ifname': 'xe0',
},
'vnfd-connection-point-ref': 'xe0',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.40.20',
'local_mac': '00:00:00:00:00:02',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'ifname': 'xe1',
},
'vnfd-connection-point-ref': 'xe1',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.100.20',
'local_mac': '00:00:00:00:00:01',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'ifname': 'xe0',
},
'vnfd-connection-point-ref': 'xe0',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.40.20',
'local_mac': '00:00:00:00:00:02',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'ifname': 'xe1',
},
'vnfd-connection-point-ref': 'xe1',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.100.20',
'local_mac': '00:00:00:00:00:01',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'ifname': 'xe0',
},
'vnfd-connection-point-ref': 'xe0',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.40.20',
'local_mac': '00:00:00:00:00:02',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'ifname': 'xe1',
},
'vnfd-connection-point-ref': 'xe1',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.100.20',
'local_mac': '00:00:00:00:00:01',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'ifname': 'xe0',
},
'vnfd-connection-point-ref': 'xe0',
'bandwidth': '10 Gbps',
'dst_ip': '152.16.40.20',
'local_mac': '00:00:00:00:00:02',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'ifname': 'xe1',
},
'vnfd-connection-point-ref': 'xe1',
self.assertIsNone(sample_vnf._build_ports())
self.assertIsNotNone(sample_vnf.networks)
- self.assertIsNotNone(sample_vnf.priv_ports)
- self.assertIsNotNone(sample_vnf.pub_ports)
+ self.assertIsNotNone(sample_vnf.uplink_ports)
+ self.assertIsNotNone(sample_vnf.downlink_ports)
self.assertIsNotNone(sample_vnf.my_ports)
@mock.patch("yardstick.network_services.vnf_generic.vnf.sample_vnf.time")
'interfaces': {
'xe0': {
'local_iface_name': 'ens513f0',
- 'vld_id': 'public',
+ 'vld_id': ProxTrafficGen.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.20',
'dst_mac': '00:00:00:00:00:01',
'interfaces': {
'xe0': {
'local_iface_name': 'ens785f0',
- 'vld_id': 'private',
+ 'vld_id': ProxTrafficGen.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.20',
'dst_mac': '00:00:00:00:00:02',
'interfaces': {
'xe0': {
'local_iface_name': 'ens786f0',
- 'vld_id': 'private',
+ 'vld_id': ProxTrafficGen.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.19',
'dst_mac': '00:00:00:00:00:04',
},
'xe1': {
'local_iface_name': 'ens786f1',
- 'vld_id': 'public',
+ 'vld_id': ProxTrafficGen.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.19',
'dst_mac': '00:00:00:00:00:03',
'local_ip': '152.16.100.19',
'type': 'PCI-PASSTHROUGH',
'netmask': '255.255.255.0',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'dpdk_port_num': 0,
'bandwidth': '10 Gbps',
'driver': "i40e",
'type': 'PCI-PASSTHROUGH',
'driver': "i40e",
'netmask': '255.255.255.0',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'dpdk_port_num': 1,
'bandwidth': '10 Gbps',
'dst_ip': '152.16.40.20',
"interfaces": {
"xe0": {
"local_iface_name": "ens786f0",
- "vld_id": "private",
+ "vld_id": TrafficProfile.UPLINK,
"netmask": "255.255.255.0",
"vpci": "0000:05:00.0",
"local_ip": "152.16.100.19",
},
"xe1": {
"local_iface_name": "ens786f1",
- "vld_id": "public",
+ "vld_id": TrafficProfile.DOWNLINK,
"netmask": "255.255.255.0",
"vpci": "0000:05:00.1",
"local_ip": "152.16.40.19",
"interfaces": {
"xe0": {
"local_iface_name": "ens513f0",
- "vld_id": "public",
+ "vld_id": TrafficProfile.DOWNLINK,
"netmask": "255.255.255.0",
"vpci": "0000:02:00.0",
"local_ip": "152.16.40.20",
"interfaces": {
"xe0": {
"local_iface_name": "ens785f0",
- "vld_id": "private",
+ "vld_id": TrafficProfile.UPLINK,
"netmask": "255.255.255.0",
"vpci": "0000:05:00.0",
"local_ip": "152.16.100.20",
'netmask': '255.255.255.0',
'dst_ip': '152.16.100.20',
'type': 'PCI-PASSTHROUGH',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'ifname': 'xe0',
},
'vnfd-connection-point-ref': 'xe0',
'netmask': '255.255.255.0',
'dst_ip': '152.16.40.20',
'type': 'PCI-PASSTHROUGH',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'ifname': 'xe1',
},
'vnfd-connection-point-ref': 'xe1',
"interfaces": {
"xe0": {
"local_iface_name": "ens786f0",
- "vld_id": "private",
+ "vld_id": UdpReplayApproxVnf.UPLINK,
"netmask": "255.255.255.0",
"vpci": "0000:05:00.0",
"local_ip": "152.16.100.19",
},
"xe1": {
"local_iface_name": "ens786f1",
- "vld_id": "public",
+ "vld_id": UdpReplayApproxVnf.DOWNLINK,
"netmask": "255.255.255.0",
"vpci": "0000:05:00.1",
"local_ip": "152.16.40.19",
"interfaces": {
"xe0": {
"local_iface_name": "ens513f0",
- "vld_id": "public",
+ "vld_id": UdpReplayApproxVnf.DOWNLINK,
"netmask": "255.255.255.0",
"vpci": "0000:02:00.0",
"local_ip": "152.16.40.20",
"interfaces": {
"xe0": {
"local_iface_name": "ens785f0",
- "vld_id": "private",
+ "vld_id": UdpReplayApproxVnf.UPLINK,
"netmask": "255.255.255.0",
"vpci": "0000:05:00.0",
"local_ip": "152.16.100.20",
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens513f0',
- 'vld_id': 'public',
+ 'vld_id': FWApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.20',
'dst_mac': '00:00:00:00:00:01',
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens785f0',
- 'vld_id': 'private',
+ 'vld_id': FWApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.20',
'dst_mac': '00:00:00:00:00:02',
'ip': '1.2.1.1',
'interfaces':
{'xe0': {'local_iface_name': 'ens786f0',
- 'vld_id': 'private',
+ 'vld_id': FWApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.19',
'dst_mac': '00:00:00:00:00:04',
'vpci': '0000:05:00.0',
'dpdk_port_num': 0},
'xe1': {'local_iface_name': 'ens786f1',
- 'vld_id': 'public',
+ 'vld_id': FWApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.19',
'dst_mac': '00:00:00:00:00:03',
def test___init__(self):
config_create = ConfigCreate([0], [1], 2)
- self.assertEqual(config_create.priv_ports, [0])
- self.assertEqual(config_create.pub_ports, [1])
+ self.assertEqual(config_create.uplink_ports, [0])
+ self.assertEqual(config_create.downlink_ports, [1])
self.assertEqual(config_create.socket, 2)
def test_vpe_initialize(self):
self.assertNotEqual(result, '')
def test_create_vpe_config(self):
- priv_ports = [
+ uplink_ports = [
{
'index': 0,
'dpdk_port_num': 1,
},
]
- pub_ports = [
+ downlink_ports = [
{
'index': 2,
'dpdk_port_num': 3,
},
]
- config_create = ConfigCreate(priv_ports, pub_ports, 23)
+ config_create = ConfigCreate(uplink_ports, downlink_ports, 23)
curr_path = os.path.dirname(os.path.abspath(__file__))
vpe_cfg = "samples/vnf_samples/nsut/vpe/vpe_config"
vnf_cfg = os.path.join(curr_path, "../../../../..", vpe_cfg)
'dst_ip': '152.16.100.20',
'local_iface_name': 'xe0',
'local_mac': '00:00:00:00:00:02',
- 'vld_id': 'private_0',
+ 'vld_id': 'uplink_0',
'ifname': 'xe0',
},
'vnfd-connection-point-ref': 'xe0',
'dst_ip': '152.16.40.20',
'local_iface_name': 'xe1',
'local_mac': '00:00:00:00:00:01',
- 'vld_id': 'public_0',
+ 'vld_id': 'downlink_0',
'ifname': 'xe1',
},
'vnfd-connection-point-ref': 'xe1',
'interfaces': {
'xe0': {
'local_iface_name': 'ens513f0',
- 'vld_id': 'public',
+ 'vld_id': VpeApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.20',
'dst_mac': '00:00:00:00:00:01',
'interfaces': {
'xe0': {
'local_iface_name': 'ens785f0',
- 'vld_id': 'private',
+ 'vld_id': VpeApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.20',
'dst_mac': '00:00:00:00:00:02',
'interfaces': {
'xe0': {
'local_iface_name': 'ens786f0',
- 'vld_id': 'private',
+ 'vld_id': VpeApproxVnf.UPLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.100.19',
'dst_mac': '00:00:00:00:00:04',
},
'xe1': {
'local_iface_name': 'ens786f1',
- 'vld_id': 'public',
+ 'vld_id': VpeApproxVnf.DOWNLINK,
'netmask': '255.255.255.0',
'local_ip': '152.16.40.19',
'dst_mac': '00:00:00:00:00:03',
flow = {}
try:
# TODO: should be .0 or .1 so we can use list
- # but this also roughly matches private_0, public_0
+ # but this also roughly matches uplink_0, downlink_0
fflow = self.scenario_cfg["options"]["flow"]
for index, src in enumerate(fflow.get("src_ip", [])):
flow["src_ip_{}".format(index)] = self._get_ip_flow_range(src)
traffic_map_data = {
'flow': self._get_traffic_flow(),
'imix': self._get_traffic_imix(),
- 'private': {},
- 'public': {},
+ TrafficProfile.UPLINK: {},
+ TrafficProfile.DOWNLINK: {},
}
traffic_vnfd = vnfdgen.generate_vnfd(traffic_mapping, traffic_map_data)
# check for xe0, xe1
intf = nodes[name]["interfaces"][if_name]
except KeyError:
- # if not xe0, then maybe vld_id, private_0, public_0
+ # if not xe0, then maybe vld_id, uplink_0, downlink_0
# pop it and re-insert with the correct name from topology
intf = nodes[name]["interfaces"].pop(vld_id)
nodes[name]["interfaces"][if_name] = intf
class PortPairs(object):
- PUBLIC = "public"
- PRIVATE = "private"
+ DOWNLINK = "downlink"
+ UPLINK = "uplink"
def __init__(self, interfaces):
super(PortPairs, self).__init__()
self.interfaces = interfaces
self._all_ports = None
- self._priv_ports = None
- self._pub_ports = None
+ self._uplink_ports = None
+ self._downlink_ports = None
self._networks = None
self._port_pair_list = None
self._valid_networks = None
return self._networks
@classmethod
- def get_public_id(cls, vld_id):
+ def get_downlink_id(cls, vld_id):
# partition returns a tuple
- parts = list(vld_id.partition(cls.PRIVATE))
+ parts = list(vld_id.partition(cls.UPLINK))
if parts[0]:
- # 'private' was not in or not leftmost in the string
+ # 'uplink' was not in or not leftmost in the string
return
- parts[1] = cls.PUBLIC
+ parts[1] = cls.DOWNLINK
public_id = ''.join(parts)
return public_id
@property
- # this only works for vnfs that have both private and public visible
+ # this only works for vnfs that have both uplink and public visible
def valid_networks(self):
if self._valid_networks is None:
self._valid_networks = []
for vld_id in self.networks:
- public_id = self.get_public_id(vld_id)
- if public_id in self.networks:
- self._valid_networks.append((vld_id, public_id))
+ downlink_id = self.get_downlink_id(vld_id)
+ if downlink_id in self.networks:
+ self._valid_networks.append((vld_id, downlink_id))
return self._valid_networks
@property
def all_ports(self):
if self._all_ports is None:
- self._all_ports = sorted(set(self.priv_ports + self.pub_ports))
+ self._all_ports = sorted(set(self.uplink_ports + self.downlink_ports))
return self._all_ports
@property
- def priv_ports(self):
- if self._priv_ports is None:
+ def uplink_ports(self):
+ if self._uplink_ports is None:
intfs = chain.from_iterable(
intfs for vld_id, intfs in self.networks.items() if
- vld_id.startswith(self.PRIVATE))
- self._priv_ports = sorted(set(intfs))
- return self._priv_ports
+ vld_id.startswith(self.UPLINK))
+ self._uplink_ports = sorted(set(intfs))
+ return self._uplink_ports
@property
- def pub_ports(self):
- if self._pub_ports is None:
+ def downlink_ports(self):
+ if self._downlink_ports is None:
intfs = chain.from_iterable(
- intfs for vld_id, intfs in self.networks.items() if vld_id.startswith(self.PUBLIC))
- self._pub_ports = sorted(set(intfs))
- return self._pub_ports
+ intfs for vld_id, intfs in self.networks.items() if
+ vld_id.startswith(self.DOWNLINK))
+ self._downlink_ports = sorted(set(intfs))
+ return self._downlink_ports
@property
def port_pair_list(self):
if self._port_pair_list is None:
self._port_pair_list = []
- for priv, pub in self.valid_networks:
- for private_intf in self.networks[priv]:
- # only VNFs have private, public peers
- peer_intfs = self.networks.get(pub, [])
+ for uplink, downlink in self.valid_networks:
+ for uplink_intf in self.networks[uplink]:
+ # only VNFs have uplink, public peers
+ peer_intfs = self.networks.get(downlink, [])
if peer_intfs:
- for public_intf in peer_intfs:
- port_pair = private_intf, public_intf
+ for downlink_intf in peer_intfs:
+ port_pair = uplink_intf, downlink_intf
self._port_pair_list.append(port_pair)
return self._port_pair_list
priv_to_pub_map = [tuple(self.vnfd_helper.port_nums(x)) for x in self.port_pairs]
# must be list to use .index()
port_list = list(chain.from_iterable(priv_to_pub_map))
- priv_ports = (x[0] for x in priv_to_pub_map)
+ uplink_ports = (x[0] for x in priv_to_pub_map)
self.prv_que_handler = '({})'.format(
- "".join(("{},".format(port_list.index(x)) for x in priv_ports)))
+ "".join(("{},".format(port_list.index(x)) for x in uplink_ports)))
def generate_arp_route_tbl(self):
arp_route_tbl_tmpl = "({port0_dst_ip_hex},{port0_netmask_hex},{port_num}," \
}
MODE_SEEDS_MAP = {
- 0: ('private_0', ['256', '2048']),
+ 0: ('uplink_0', ['256', '2048']),
}
- MODE_SEEDS_DEFAULT = 'public_0', ['2048', '256']
+ MODE_SEEDS_DEFAULT = 'downlink_0', ['2048', '256']
@staticmethod
def find_view_obj(view_name, views):
This class defines the behavior
"""
+ UPLINK = "uplink"
+ DOWNLINK = "downlink"
@staticmethod
def get(tp_config):
def _ixia_traffic_generate(self, traffic_generator, traffic, ixia_obj):
for key, value in traffic.items():
- if "public" in key or "private" in key:
+ if key.startswith((self.UPLINK, self.DOWNLINK)):
value["iload"] = str(self.rate)
ixia_obj.ix_update_frame(traffic)
ixia_obj.ix_update_ether(traffic)
def update_traffic_profile(self, traffic_generator):
def port_generator():
for vld_id, intfs in sorted(traffic_generator.networks.items()):
- if not vld_id.startswith(("private", "public")):
+ if not vld_id.startswith((self.UPLINK, self.DOWNLINK)):
continue
profile_data = self.params.get(vld_id)
if not profile_data:
if not profile_data:
continue
# correlated traffic doesn't use public traffic?
- if vld_id.startswith("public") and self.generator.rfc2544_helper.correlated_traffic:
+ if vld_id.startswith(self.DOWNLINK) and \
+ self.generator.rfc2544_helper.correlated_traffic:
continue
for intf in intfs:
port = self.generator.vnfd_helper.port_num(intf)
if not profile_data:
continue
# correlated traffic doesn't use public traffic?
- if vld_id.startswith("public") and self.generator.rfc2544_helper.correlated_traffic:
+ if vld_id.startswith(self.DOWNLINK) and \
+ self.generator.rfc2544_helper.correlated_traffic:
continue
for intf in intfs:
port = self.generator.vnfd_helper.port_num(intf)
class VNFObject(object):
+ # centralize network naming convention
+ UPLINK = PortPairs.UPLINK
+ DOWNLINK = PortPairs.DOWNLINK
+
def __init__(self, name, vnfd):
super(VNFObject, self).__init__()
self.name = name
interfaces = self.vnfd_helper.interfaces
# fixme: Get private port and gateway from port list
- priv_ports = self.vnfd_helper.port_pairs.priv_ports
- return [self._get_ports_gateway(intf["name"]) for intf in priv_ports]
+ uplink_ports = self.vnfd_helper.port_pairs.uplink_ports
+ return [self._get_ports_gateway(intf["name"]) for intf in uplink_ports]
class CgnaptApproxVnf(SampleVNF):
def _build_ports(self):
self.networks = self.vnfd_helper.port_pairs.networks
- self.priv_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.priv_ports)
- self.pub_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.pub_ports)
+ self.uplink_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.uplink_ports)
+ self.downlink_ports = \
+ self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.downlink_ports)
self.all_ports = self.vnfd_helper.port_nums(self.vnfd_helper.port_pairs.all_ports)
def get_stats(self, *args, **kwargs):
self.context_cfg = None
self.nfvi_context = None
self.pipeline_kwargs = {}
- self.priv_ports = None
- self.pub_ports = None
+ self.uplink_ports = None
+ self.downlink_ports = None
# TODO(esm): make QueueFileWrapper invert-able so that we
# never have to manage the queues
self.q_in = Queue()
def _build_ports(self):
self._port_pairs = PortPairs(self.vnfd_helper.interfaces)
self.networks = self._port_pairs.networks
- self.priv_ports = self.vnfd_helper.port_nums(self._port_pairs.priv_ports)
- self.pub_ports = self.vnfd_helper.port_nums(self._port_pairs.pub_ports)
+ self.uplink_ports = self.vnfd_helper.port_nums(self._port_pairs.uplink_ports)
+ self.downlink_ports = self.vnfd_helper.port_nums(self._port_pairs.downlink_ports)
self.my_ports = self.vnfd_helper.port_nums(self._port_pairs.all_ports)
def _get_route_data(self, route_index, route_type):
rfc_helper_type = IxiaRfc2544Helper
self.rfc_helper = rfc_helper_type(self.scenario_helper)
- self.priv_ports = None
- self.pub_ports = None
+ self.uplink_ports = None
+ self.downlink_ports = None
self._connect()
def _connect(self, client=None):
config.set(tm_q, 'cfg', '/tmp/full_tm_profile_10G.cfg')
return config
- def __init__(self, priv_ports, pub_ports, socket):
+ def __init__(self, uplink_ports, downlink_ports, socket):
super(ConfigCreate, self).__init__()
self.sw_q = -1
self.sink_q = -1
self.n_pipeline = 1
- self.priv_ports = priv_ports
- self.pub_ports = pub_ports
+ self.uplink_ports = uplink_ports
+ self.downlink_ports = downlink_ports
self.pipeline_per_port = 9
self.socket = socket
return config
def vpe_rxq(self, config):
- for port in self.pub_ports:
+ for port in self.downlink_ports:
new_section = 'RXQ{0}.0'.format(port)
config.add_section(new_section)
config.set(new_section, 'mempool', 'MEMPOOL1')
for k, v in parser.items(pipeline):
if k == "pktq_in":
if "RXQ" in v:
- value = "RXQ{0}.0".format(self.priv_ports[index])
+ value = "RXQ{0}.0".format(self.uplink_ports[index])
else:
value = self.get_sink_swq(parser, pipeline, k, index)
elif k == "pktq_out":
if "TXQ" in v:
- value = "TXQ{0}.0".format(self.pub_ports[index])
+ value = "TXQ{0}.0".format(self.downlink_ports[index])
else:
self.sw_q += 1
value = self.get_sink_swq(parser, pipeline, k, index)
if "RXQ" not in v:
value = self.get_sink_swq(parser, pipeline, k, index)
elif "TM" in v:
- value = "RXQ{0}.0 TM{1}".format(self.pub_ports[index], index)
+ value = "RXQ{0}.0 TM{1}".format(self.downlink_ports[index], index)
else:
- value = "RXQ{0}.0".format(self.pub_ports[index])
+ value = "RXQ{0}.0".format(self.downlink_ports[index])
parser.set(pipeline, k, value)
self.sw_q += 1
value = self.get_sink_swq(parser, pipeline, k, index)
elif "TM" in v:
- value = "TXQ{0}.0 TM{1}".format(self.priv_ports[index], index)
+ value = "TXQ{0}.0 TM{1}".format(self.uplink_ports[index], index)
else:
- value = "TXQ{0}.0".format(self.priv_ports[index])
+ value = "TXQ{0}.0".format(self.uplink_ports[index])
parser.set(pipeline, k, value)
config = self.vpe_initialize(config)
config = self.vpe_rxq(config)
config.write(cfg_file)
- for index in range(0, len(self.priv_ports)):
+ for index in range(0, len(self.uplink_ports)):
config = self.vpe_upstream(vnf_cfg, index)
config.write(cfg_file)
config = self.vpe_downstream(vnf_cfg, index)
def generate_vpe_script(self, interfaces):
rules = PipelineRules(pipeline_id=1)
- for priv_port, pub_port in zip(self.priv_ports, self.pub_ports):
+ for priv_port, pub_port in zip(self.uplink_ports, self.downlink_ports):
priv_intf = interfaces[priv_port]["virtual-interface"]
pub_intf = interfaces[pub_port]["virtual-interface"]
def _build_vnf_ports(self):
self._port_pairs = PortPairs(self.vnfd_helper.interfaces)
- self.priv_ports = self._port_pairs.priv_ports
- self.pub_ports = self._port_pairs.pub_ports
+ self.uplink_ports = self._port_pairs.uplink_ports
+ self.downlink_ports = self._port_pairs.downlink_ports
self.all_ports = self._port_pairs.all_ports
def build_config(self):
}
self._build_vnf_ports()
- vpe_conf = ConfigCreate(self.vnfd_helper.port_pairs.priv_ports,
- self.vnfd_helper.port_pairs.pub_ports, self.socket)
+ vpe_conf = ConfigCreate(self.vnfd_helper.port_pairs.uplink_ports,
+ self.vnfd_helper.port_pairs.downlink_ports, self.socket)
vpe_conf.create_vpe_config(self.scenario_helper.vnf_cfg)
config_basename = posixpath.basename(self.CFG_CONFIG)