aboutsummaryrefslogtreecommitdiffstats
path: root/samples/vnf_samples/nsut/bng/tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up.yaml
blob: afd60cc6982c7630ab90ab308fdba66025fee412 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

---
{% set sessions_per_port = sessions_per_port or 4000 %}
{% set sessions_per_svlan = sessions_per_svlan or 1000 %}
{% set duration = duration or 60 %}
{% set vports = vports or 2 %}
{% set tolerance_low = tolerance_low or 0.0001 %}
{% set tolerance_high = tolerance_high or 0.0001 %}
schema: yardstick:task:0.1
description: >
  vBNG RFC2544 test case with QoS base line without link congestion.
  Test case creates PPPoE sessions, runs traffic on maximum throughput
  and measures packets drop rate on all ports for each priority flow.
scenarios:
- type: NSPerf
  traffic_profile: "../../traffic_profiles/ixia_ipv4_latency_vbng_scale_up.yaml"
  topology: "../agnostic/agnostic_vnf_topology_ixia_{{ vports }}ports.yaml"
  ixia_config: IxiaPppoeClient
  extra_args:
    access_vports_num: {{ vports|int / 2 }}
  nodes:
    tg__0: tg_0.yardstick
    vnf__0: vnf_0.yardstick
  options:
    duration: {{ duration }}
    pppoe_client: # access network
      sessions_per_port: {{ sessions_per_port }}
      sessions_per_svlan: {{ sessions_per_svlan }}
      pap_user: 'pppoe_user'
      pap_password: ''
      ip:
{% for vnf_num in range(0, vports|int, 2) %}
        - {'tg__0': 'xe{{ vnf_num }}'}
{% endfor %}
      s_vlan: 100  # s-vlan applies per device group
      c_vlan: 1000  # c-vlan applies per subscriber
    ipv4_client: # core network
      sessions_per_port: 1
      sessions_per_vlan: 1
      ip:
{% for vnf_num in range(1, vports|int, 2) %}
        - {'tg__0': 'xe{{ vnf_num }}'}
{% endfor %}
      gateway_ip:
{% for vnf_num in range(1, vports|int, 2) %}
        - {'vnf__0': 'xe{{ vnf_num }}'}
{% endfor %}
      vlan: 101
      bgp:
        bgp_type: external
        dut_ip: 10.0.0.3
        as_number: 65000
    framesize:
      uplink: {70B: 33, 940B: 33, 1470B: 34}
      downlink: {68B: 3, 932B: 1, 1470B: 96}
    priority:
      # 0 - (000) Routine
      # 1 - (001) Priority
      # 2 - (010) Immediate
      # 3 - (011) Flash
      # 4 - (100) Flash Override
      # 5 - (101) CRITIC/ECP
      # 6 - (110) Internetwork Control
      # 7 - (111) Network Control
      tos: {precedence: [0, 4, 7]}
    flow:
      src_ip:
{% for vnf_num in range(0, vports|int, 2) %}
        - {'tg__0': 'xe{{ vnf_num }}'}
{% endfor %}
      dst_ip:
{% for vnf_num in range(1, vports|int, 2) %}
        - {'tg__0': 'xe{{ vnf_num }}'}
{% endfor %}
      count: 1
    traffic_type: 4
    rfc2544:
      allowed_drop_rate: "{{ tolerance_low }} - {{ tolerance_high }}"
  runner:
    type: Iteration
    iterations: 10
    interval: {{ duration + 15 }}
context:
  type: Node
  name: yardstick
  nfvi_type: baremetal
  file: /etc/yardstick/nodes/pod_ixia.yaml