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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120Kernel driver f71882fg
======================
Supported chips:
* Fintek F71808E
Prefix: 'f71808e'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71808A
Prefix: 'f71808a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71858FG
Prefix: 'f71858fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71862FG and F71863FG
Prefix: 'f71862fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71869F and F71869E
Prefix: 'f71869'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71869A
Prefix: 'f71869a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F71882FG and F71883FG
Prefix: 'f71882fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71889FG
Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
* Fintek F71889ED
Prefix: 'f71889ed'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon
* Fintek F71889A
Prefix: 'f71889a'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Should become available on the Fintek website soon
* Fintek F8000
Prefix: 'f8000'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
* Fintek F81801U
Prefix: 'f71889fg'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Not public
Note: This is the 64-pin variant of the F71889FG, they have the
same device ID and are fully compatible as far as hardware
monitoring is concerned.
* Fintek F81865F
Prefix: 'f81865f'
Addresses scanned: none, address read from Super I/O config space
Datasheet: Available from the Fintek website
Author: Hans de Goede <hdegoede@redhat.com>
Description
-----------
Fintek F718xx/F8000 Super I/O chips include complete hardware monitoring
capabilities. They can monitor up to 9 voltages, 4 fans and 3 temperature
sensors.
These chips also have fan controlling features, using either DC or PWM, in
three different modes (one manual, two automatic).
The driver assumes that no more than one chip is present, which seems
reasonable.
Monitoring
----------
The Voltage, Fan and Temperature Monitoring uses the standard sysfs
interface as documented in sysfs-interface, without any exceptions.
Fan Control
-----------
Both PWM (pulse-width modulation) and DC fan speed control methods are
supported. The right one to use depends on external circuitry on the
motherboard, so the driver assumes that the BIOS set the method
properly.
Note that the lowest numbered temperature zone trip point corresponds to
to the border between the highest and one but highest temperature zones, and
vica versa. So the temperature zone trip points 1-4 (or 1-2) go from high temp
to low temp! This is how things are implemented in the IC, and the driver
mimicks this.
There are 2 modes to specify the speed of the fan, PWM duty cycle (or DC
voltage) mode, where 0-100% duty cycle (0-100% of 12V) is specified. And RPM
mode where the actual RPM of the fan (as measured) is controlled and the speed
gets specified as 0-100% of the fan#_full_speed file.
Since both modes work in a 0-100% (mapped to 0-255) scale, there isn't a
whole lot of a difference when modifying fan control settings. The only
important difference is that in RPM mode the 0-100% controls the fan speed
between 0-100% of fan#_full_speed. It is assumed that if the BIOS programs
RPM mode, it will also set fan#_full_speed properly, if it does not then
fan control will not work properly, unless you set a sane fan#_full_speed
value yourself.
Switching between these modes requires re-initializing a whole bunch of
registers, so the mode which the BIOS has set is kept. The mode is
printed when loading the driver.
Three different fan control modes are supported; the mode number is written
to the pwm#_enable file. Note that not all modes are supported on all
chips, and some modes may only be available in RPM / PWM mode.
Writing an unsupported mode will result in an invalid parameter error.
* 1: Manual mode
You ask for a specific PWM duty cycle / DC voltage or a specific % of
fan#_full_speed by writing to the pwm# file. This mode is only
available on the F71858FG / F8000 if the fan channel is in RPM mode.
* 2: Normal auto mode
You can define a number of temperature/fan speed trip points, which % the
fan should run at at this temp and which temp a fan should follow using the
standard sysfs interface. The number and type of trip points is chip
depended, see which files are available in sysfs.
Fan/PWM channel 3 of the F8000 is always in this mode!
* 3: Thermostat mode (Only available on the F8000 w# Copyright (c) 2016-2017 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.
# flow definition for ACL tests - 1K flows - ipv4 only
#
# the number of flows defines the widest range of parameters
# for example if srcip_range=1.0.0.1-1.0.0.255 and dst_ip_range=10.0.0.1-10.0.1.255
# and it should define only 16 flows
#
# there is assumption that packets generated will have a random sequences of following addresses pairs
# in the packets
# 1. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
# 2. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
# ...
# 512. src=1.x.x.x(x.x.x =random from 1..255) dst=10.x.x.x (random from 1..512)
#
# not all combination should be filled
# Any other field with random range will be added to flow definition
#
# the example.yaml provides all possibilities for traffic generation
#
# the profile defines a public and private side to make limited traffic correlation
# between private and public side same way as it is made by IXIA solution.
#
---
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: RFC2544Profile # defines traffic behavior - constant or look for highest possible throughput
frame_rate: 100 # pc of linerate
duration: {{ duration }}
uplink_0:
ipv4:
outer_l2:
framesize:
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') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_0', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_0', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_0:
ipv4:
outer_l2:
framesize:
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', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_0', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_0', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_0', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_1:
ipv4:
outer_l2:
framesize:
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_1', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_1', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_1', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_1', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_1:
ipv4:
outer_l2:
framesize:
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_1', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_1', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_1', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_1', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_2:
ipv4:
outer_l2:
framesize:
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_2', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_2', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_2', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_2', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_2:
ipv4:
outer_l2:
framesize:
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_2', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_2', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_2', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_2', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_3:
ipv4:
outer_l2:
framesize:
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_3', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_3', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_3', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_3', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_3:
ipv4:
outer_l2:
framesize:
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_3', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_3', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_3', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_3', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_4:
ipv4:
outer_l2:
framesize:
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_4', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_4', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_4', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_4', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_4:
ipv4:
outer_l2:
framesize:
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_4', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_4', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_4', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_4', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_5:
ipv4:
outer_l2:
framesize:
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_5', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_5', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_5', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_5', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_5:
ipv4:
outer_l2:
framesize:
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_5', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_5', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_5', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_5', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_6:
ipv4:
outer_l2:
framesize:
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_6', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_6', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_6', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_6', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_6:
ipv4:
outer_l2:
framesize:
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_6', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_6', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_6', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_6', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_7:
ipv4:
outer_l2:
framesize:
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_7', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_7', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_7', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_7', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_7:
ipv4:
outer_l2:
framesize:
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_7', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_7', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_7', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_7', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_8:
ipv4:
outer_l2:
framesize:
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_8', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_8', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_8', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_8', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_8:
ipv4:
outer_l2:
framesize:
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_8', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_8', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_8', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_8', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
uplink_9:
ipv4:
outer_l2:
framesize:
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_9', '1.1.1.1-1.1.255.255') }}"
dstip4: "{{get(flow, 'flow.dst_ip_9', '90.90.1.1-90.90.255.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.src_port_9', '1234-4321') }}"
dstport: "{{get(flow, 'flow.dst_port_9', '2001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
downlink_9:
ipv4:
outer_l2:
framesize:
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_9', '10.0.3.1-10.0.3.255') }}"
dstip4: "{{get(flow, 'flow.downlink_9', '10.0.2.1-10.0.2.255') }}"
count: "{{get(flow, 'flow.count', '1') }}"
ttl: 32
dscp: 0
outer_l4:
srcport: "{{get(flow, 'flow.dst_port_9', '1234-4321') }}"
dstport: "{{get(flow, 'flow.src_port_9', '2001-4001') }}"
count: "{{get(flow, 'flow.count', '1') }}"
|