Fragment packet does not contain L4 information, that will just be L3 (src/dst IP).
Original Message:
Sent: Apr 11, 2024 04:47 AM
From: tommyd
Subject: 6300 QoS plicy and fragmentation
The "match ...fragment" rule matches any fragments not necessarily related to the initial packet, isn't it?
The fragments show in Wireshark as Protocol: IPv4 not UDP and there is no destination port in header
I've modified the classifiers to:
class ip UDP6000
10 match udp 10.170.14.100 10.100.1.80 range 6000 6999 count
class ip UDP7000
10 match udp 10.170.14.100 10.100.1.80 range 7000 7999 count
20 match udp 10.170.14.100 10.100.1.80 fragment count
and to have a comparison also modified the policy to have the same CIR for both port ranges
policy QOS_TEST
10 class ip UDP7000 action pcp 5 action dscp CS5 action cir kbps 1000 cbs 153600 exceed drop
20 class ip UDP6000 action pcp 3 action dscp CS3 action cir kbps 1000 cbs 153600 exceed drop
and the result is even funnier:
The command at source : iperf3 -c 10.100.1.80 -u -b 10M -p 7201
Result on the target:
Accepted connection from 10.170.14.100, port 49447
[ 5] local 10.100.1.80 port 7201 connected to 10.170.14.100 port 57537
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 216 KBytes 1.77 Mbits/sec 0.023 ms 97/124 (78%)
[ 5] 1.00-2.00 sec 80.0 KBytes 655 Kbits/sec 0.017 ms 143/153 (93%)
[ 5] 2.00-3.00 sec 80.0 KBytes 655 Kbits/sec 0.023 ms 143/153 (93%)
[ 5] 3.00-4.00 sec 80.0 KBytes 655 Kbits/sec 0.016 ms 141/151 (93%)
[ 5] 4.00-5.00 sec 80.0 KBytes 655 Kbits/sec 0.012 ms 144/154 (94%)
[ 5] 5.00-6.00 sec 80.0 KBytes 655 Kbits/sec 0.017 ms 142/152 (93%)
[ 5] 6.00-7.00 sec 80.0 KBytes 655 Kbits/sec 0.013 ms 143/153 (93%)
[ 5] 7.00-8.00 sec 80.0 KBytes 655 Kbits/sec 0.018 ms 142/152 (93%)
[ 5] 8.00-9.00 sec 80.0 KBytes 655 Kbits/sec 0.026 ms 144/154 (94%)
[ 5] 9.00-10.00 sec 80.0 KBytes 655 Kbits/sec 0.053 ms 142/152 (93%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.04 sec 936 KBytes 764 Kbits/sec 0.053 ms 1381/1498 (92%) receiver
The command at source :: iperf3 -c 10.100.1.80 -u -b 10M -p 6201
Result on the target
Accepted connection from 10.170.14.100, port 51106
[ 5] local 10.100.1.80 port 6201 connected to 10.170.14.100 port 49348
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 264 KBytes 2.16 Mbits/sec 0.044 ms 92/125 (74%)
[ 5] 1.00-2.00 sec 96.0 KBytes 787 Kbits/sec 0.044 ms 141/153 (92%)
[ 5] 2.00-3.00 sec 104 KBytes 852 Kbits/sec 0.044 ms 140/153 (92%)
[ 5] 3.00-4.00 sec 96.0 KBytes 787 Kbits/sec 0.039 ms 139/151 (92%)
[ 5] 4.00-5.00 sec 88.0 KBytes 721 Kbits/sec 0.043 ms 143/154 (93%)
[ 5] 5.00-6.00 sec 80.0 KBytes 655 Kbits/sec 0.042 ms 142/152 (93%)
[ 5] 6.00-7.00 sec 88.0 KBytes 721 Kbits/sec 0.046 ms 141/152 (93%)
[ 5] 7.00-8.00 sec 72.0 KBytes 590 Kbits/sec 0.049 ms 113/122 (93%)
[ 5] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0.049 ms 0/0 (0%) <------- !!!!
[ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0.049 ms 0/0 (0%) <------- !!!!
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.02 sec 888 KBytes 726 Kbits/sec 0.049 ms 1051/1162 (90%) receiver
Counters:
# show policy hitcounts QOS_TEST interface lag51
Statistics for Policy QOS_TEST:
Interface lag51 (out):
Matched Packets Configuration
10 class ip UDP7000 action pcp 5 action dscp CS5 action cir kbps 1000 cbs 153600 exceed drop [ 0 kbps conform ]
1513 10 match udp 10.170.14.100 10.100.1.80 range 7000 7999 count
15160 20 match udp 10.170.14.100 10.100.1.80 fragment count
20 class ip UDP6000 action pcp 3 action dscp CS3 action cir kbps 1000 cbs 153600 exceed drop [ 0 kbps conform ]
1521 10 match udp 10.170.14.100 10.100.1.80 range 6000 6999 count
packet capture on the source looks like this
------------------------------
-- tommyd
Original Message:
Sent: Apr 10, 2024 11:33 PM
From: ariyap
Subject: 6300 QoS plicy and fragmentation
I think you need to explicitly permit fragmentation in your "class ip UDP6000" with something like this
match udp 10.170.14.100 any fragment
------------------------------
If my post was useful accept solution and/or give kudos.
Any opinions expressed here are solely my own and not necessarily that of HPE or Aruba.
Original Message:
Sent: Apr 10, 2024 08:33 AM
From: tommyd
Subject: 6300 QoS plicy and fragmentation
I am trying to configure traffic marking and shaping on Aruba-CX 6300 and I have an issue with fragmentation. I have two sites connected over L2 transmission from a local provider. The provider network honors the ethernet CoS/PCP values of 3 and 5. I created a policy which applies DSCP, PCP anc CIR to different destiantion port ranges and I am sending UDP packets from one site to another using.
iperf3 -c 10.100.1.80 -u -b 10M -p 7201
and
iperf3 -c 10.100.1.80 -u -b 10M -p 6201
By default iperf3 generates datagrams with size of 8948 which get fragmented on the network. The QoS policy behaves in strange way with those packets. The results from the iperf server are shown below. After few seconds the iperf server shows 0b/s bitrate.
Any thoughts or suggestions? Is there a way to fix/workaround it? The purpose of the QoS policy is to prioritize a video stream so large datagrams might be required and the streaming devices do not offer any advanced configuration so I do not have a way to control the datagram size. The MTU is 1500 all the way between both sites.
Policy configuration
class ip UDP6000
10 match udp 10.170.14.100 any range 6000 6999 count
class ip UDP7000
10 match udp 10.170.14.100 any range 7000 7999 count
policy QOS_TEST
10 class ip UDP7000 action pcp 5 action dscp CS5 action cir kbps 1000 cbs 153600 exceed drop
20 class ip UDP6000 action pcp 3 action dscp CS3 action cir kbps 5000 cbs 153600 exceed drop
interface lag 51
...
qos trust dscp
lacp mode active
apply policy QOS_TEST out per-interface
The result at the destination
Accepted connection from 10.170.14.100, port 64698
[ 5] local 10.100.1.80 port 7201 connected to 10.170.14.100 port 53723
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 1.09 MBytes 9.11 Mbits/sec 0.028 ms 0/139 (0%)
[ 5] 1.00-2.00 sec 888 KBytes 7.27 Mbits/sec 0.033 ms 34/145 (23%)
[ 5] 2.00-3.00 sec 656 KBytes 5.37 Mbits/sec 0.032 ms 71/153 (46%)
[ 5] 3.00-4.00 sec 592 KBytes 4.85 Mbits/sec 0.037 ms 64/138 (46%)
[ 5] 4.00-5.00 sec 0.00 Bytes 0.00 bits/sec 0.037 ms 0/0 (0%)
[ 5] 5.00-6.00 sec 0.00 Bytes 0.00 bits/sec 0.037 ms 0/0 (0%)
[ 5] 6.00-7.00 sec 0.00 Bytes 0.00 bits/sec 0.037 ms 0/0 (0%)
[ 5] 7.00-8.00 sec 0.00 Bytes 0.00 bits/sec 0.037 ms 0/0 (0%)
[ 5] 8.00-9.00 sec 0.00 Bytes 0.00 bits/sec 0.037 ms 0/0 (0%)
[ 5] 9.00-10.00 sec 0.00 Bytes 0.00 bits/sec 0.037 ms 0/0 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.02 sec 3.17 MBytes 2.66 Mbits/sec 0.037 ms 169/575 (29%) receiver
when I set datagram length to 1400 it works ok
Accepted connection from 10.170.14.100, port 50230
[ 5] local 10.100.1.80 port 7201 connected to 10.170.14.100 port 57650
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 242 KBytes 1.98 Mbits/sec 0.026 ms 559/736 (76%)
[ 5] 1.00-2.00 sec 118 KBytes 963 Kbits/sec 0.064 ms 805/891 (90%)
[ 5] 2.00-3.00 sec 116 KBytes 952 Kbits/sec 0.027 ms 804/889 (90%)
[ 5] 3.00-4.00 sec 119 KBytes 974 Kbits/sec 0.054 ms 800/887 (90%)
[ 5] 4.00-5.00 sec 118 KBytes 963 Kbits/sec 0.037 ms 814/900 (90%)
[ 5] 5.00-6.00 sec 119 KBytes 974 Kbits/sec 0.030 ms 840/927 (91%)
[ 5] 6.00-7.00 sec 116 KBytes 952 Kbits/sec 0.028 ms 778/863 (90%)
[ 5] 7.00-8.00 sec 118 KBytes 963 Kbits/sec 0.048 ms 806/892 (90%)
[ 5] 8.00-9.00 sec 118 KBytes 963 Kbits/sec 0.056 ms 805/891 (90%)
[ 5] 9.00-10.00 sec 119 KBytes 975 Kbits/sec 0.061 ms 800/887 (90%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams
[ 5] 0.00-10.03 sec 1.27 MBytes 1.06 Mbits/sec 0.061 ms 7811/8763 (89%) receiver
------------------------------
-- tommyd
------------------------------