# 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. --- schema: "nsb:traffic_profile:0.1" # This file is a template, it will be filled with values from tc.yaml before passing to the traffic generator name: rfc2544 description: Traffic profile to run RFC2544 latency traffic_profile: traffic_type : IXIARFC2544PppoeScenarioProfile # defines traffic behavior - constant or look for highest possible throughput frame_rate : 12.5% # pc of linerate duration: {{ duration }} enable_latency: True uplink_0: # traffic flow from xe0 to xe1 ipv4: id: 1 frame_rate: 25% port: xe0 outer_l2: framesize: &uplink_framesize 64B: "{{get(imix, 'imix.uplink.64B', '0') }}" 68B: "{{get(imix, 'imix.uplink.68B', '0') }}" 70B: "{{get(imix, 'imix.uplink.70B', '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') }}" 932B: "{{get(imix, 'imix.uplink.932B', '0') }}" 940B: "{{get(imix, 'imix.uplink.940B', '0') }}" 1024B: "{{get(imix, 'imix.uplink.1024B', '0') }}" 1280B: "{{get(imix, 'imix.uplink.1280B', '0') }}" 1400B: "{{get(imix, 'imix.uplink.1400B', '0') }}" 1470B: "{{get(imix, 'imix.uplink.1470B', '0') }}" 1500B: "{{get(imix, 'imix.uplink.1500B', '0') }}" 1518B: "{{get(imix, 'imix.uplink.1518B', '0') }}" outer_l3v4: priority: &uplink_precedence {% if priority %} {{ priority }} {% else %} tos: precedence: [0, 4, 7] {% endif %} downlink_0: # traffic flow from xe1 to xe0 ipv4: id: 2 frame_rate: 50% port: xe1 outer_l2: framesize: &downlink_framesize 64B: "{{get(imix, 'imix.downlink.64B', '0') }}" 68B: "{{get(imix, 'imix.downlink.68B', '0') }}" 70B: "{{get(imix, 'imix.downlink.70B', '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') }}" 932B: "{{get(imix, 'imix.downlink.932B', '0') }}" 940B: "{{get(imix, 'imix.downlink.940B', '0') }}" 1024B: "{{get(imix, 'imix.downlink.1024B', '0') }}" 1280B: "{{get(imix, 'imix.downlink.1280B', '0') }}" 1400B: "{{get(imix, 'imix.downlink.1400B', '0') }}" 1470B: "{{get(imix, 'imix.downlink.1470B', '0') }}" 1500B: "{{get(imix, 'imix.downlink.1500B', '0') }}" 1518B: "{{get(imix, 'imix.downlink.1518B', '0') }}" outer_l3v4: priority: &downlink_precedence {% if priority %} {{ priority }} {% else %} tos: precedence: [0, 4, 7] {% endif %} uplink_1: # traffic flow from xe0 to xe1 ipv4: id: 3 frame_rate: 25% port: xe0 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_1: # traffic flow from xe1 to xe0 ipv4: id: 4 frame_rate: 50% port: xe1 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_2: # traffic flow from xe0 to xe3 ipv4: id: 5 frame_rate: 25% port: xe0 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_2: # traffic flow from xe3 to xe0 ipv4: id: 6 frame_rate: 50% port: xe3 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_3: # traffic flow from xe0 to xe3 ipv4: id: 7 frame_rate: 25% port: xe0 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_3: # traffic flow from xe3 to xe0 ipv4: id: 8 frame_rate: 50% port: xe3 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_4: # traffic flow from xe2 to xe5 ipv4: id: 9 frame_rate: 25% port: xe2 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_4: # traffic flow from xe5 to xe2 ipv4: id: 10 frame_rate: 7% port: xe5 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_5: # traffic flow from xe2 to xe5 ipv4: id: 11 frame_rate: 25% port: xe2 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_5: # traffic flow from xe5 to xe2 ipv4: id: 12 frame_rate: 7% port: xe5 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_6: # traffic flow from xe2 to xe5 ipv4: id: 13 frame_rate: 25% port: xe2 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_6: # traffic flow from xe5 to xe2 ipv4: id: 14 frame_rate: 7% port: xe5 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_7: # traffic flow from xe2 to xe5 ipv4: id: 15 frame_rate: 25% port: xe2 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_7: # traffic flow from xe5 to xe2 ipv4: id: 16 frame_rate: 7% port: xe5 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_8: # traffic flow from xe4 to xe5 ipv4: id: 17 frame_rate: 25% port: xe4 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_8: # traffic flow from xe5 to xe4 ipv4: id: 18 frame_rate: 7% port: xe5 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_9: # traffic flow from xe4 to xe5 ipv4: id: 19 frame_rate: 25% port: xe4 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_9: # traffic flow from xe5 to xe4 ipv4: id: 20 frame_rate: 7% port: xe5 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_10: # traffic flow from xe4 to xe7 ipv4: id: 21 frame_rate: 25% port: xe4 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_10: # traffic flow from xe7 to xe4 ipv4: id: 22 frame_rate: 7% port: xe7 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_11: # traffic flow from xe4 to xe7 ipv4: id: 23 frame_rate: 25% port: xe4 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_11: # traffic flow from xe7 to xe4 ipv4: id: 24 frame_rate: 7% port: xe7 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_12: # traffic flow from xe6 to xe7 ipv4: id: 25 frame_rate: 25% port: xe6 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_12: # traffic flow from xe7 to xe6 ipv4: id: 26 frame_rate: 7% port: xe7 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_13: # traffic flow from xe6 to xe7 ipv4: id: 27 frame_rate: 25% port: xe6 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_13: # traffic flow from xe7 to xe6 ipv4: id: 28 frame_rate: 7% port: xe7 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_14: # traffic flow from xe6 to xe7 ipv4: id: 29 frame_rate: 25% port: xe6 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_14: # traffic flow from xe7 to xe6 ipv4: id: 30 frame_rate: 7% port: xe7 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence uplink_15: # traffic flow from xe6 to xe7 ipv4: id: 31 frame_rate: 25% port: xe6 outer_l2: framesize: *uplink_framesize outer_l3v4: priority: *uplink_precedence downlink_15: # traffic flow from xe7 to xe6 ipv4: id: 32 frame_rate: 7% port: xe7 outer_l2: framesize: *downlink_framesize outer_l3v4: priority: *downlink_precedence