You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-13Lines changed: 15 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -148,19 +148,17 @@ kldstat | grep sctp
148
148
netperfmeter 9000
149
149
```
150
150
151
-
⚠️Important: By default, SCTP transport is used for the NPMP-CONTROL control communication. In certain setups, this can cause problems. In this case, it may be necessary to use control over TCP (or MPTCP) instead (to be shown in the next example):
152
-
153
-
- Firewalls blocking SCTP traffic, e.g many public Wi-Fi networks.
154
-
- Routing over NAT/PAT may not work well due to lack of support for SCTP.
155
-
- The Docker daemon, by default, creates a local interface <em>dummy0</em> with IP address 172.17.0.1 for the default [bridge network setup](https://docs.docker.com/engine/network/drivers/bridge/). If this is enabled on active and passive side, the SCTP out-of-the blue (OOTB) message handling causes the SCTP association to be aborted, since both devices have an identical IP address.
151
+
NetPerfMeter supports SCTP and TCP for the NPMP-CONTROL control communication. By default, the passive side accepts incoming control connections on both protocols. In case of unavailability of SCTP, e.g. the SCTP kernel module is not loaded, a warning is printed. Obviously, control communication in this case will only be possible via TCP.
156
152
157
153
158
-
* Run a passive instance (i.e. server side), using port 9000, and allowing NPMP-CONTROL control communication over TCP support:
154
+
* Run a passive instance (i.e. server side), using port 9000, and allowing NPMP-CONTROL control communication only over TCP (this disables checking for SCTP, and the warning if unavailable):
159
155
160
156
```bash
161
-
netperfmeter 9000 -control-over-tcp
157
+
netperfmeter 9000 -no-control-over-sctp
162
158
```
163
159
160
+
Note that the active instance (i.e. client side) can only connect via TCP in this case, and it needs to be instructed (as explained below, also using the `-control-over-tcp` option) to do so!
Replace $SERVER by the IP address or hostname of the passive instance!
174
+
Replace $SERVER by the IP address or hostname of the passive instance, or set an environment variable `SERVER=<address>`!
177
175
178
176
The flow parameter specifies a saturated flow (frame rate 0 – send a much as possible) with a constant frame size of 1400 B. The first block specifies the direction from active (client) to passive (server) instance, the second block specifies the direction from passive (server) to active (client) instance.
179
177
180
-
⚠️Important: By default, SCTP transport is used for the NPMP-CONTROL control communication. In certain setups, this can cause problems. In this case, it may be necessary to use control over TCP (or MPTCP) instead (to be shown in the next example):
178
+
⚠️Important: By default, SCTP transport is used for the NPMP-CONTROL control communication. In certain setups, this can cause problems. In this case, it may be necessary to use control over TCP (or MPTCP) instead (to be shown in the next example, using the `-control-over-tcp` option):
181
179
182
180
- Firewalls blocking SCTP traffic, e.g many public Wi-Fi networks.
183
181
- Routing over NAT/PAT may not work well due to lack of support for SCTP.
184
182
- The Docker daemon, by default, creates a local interface <em>dummy0</em> with IP address 172.17.0.1 for the default [bridge network setup](https://docs.docker.com/engine/network/drivers/bridge/). If this is enabled on active and passive side, the SCTP out-of-the blue (OOTB) message handling causes the SCTP association to be aborted, since both devices have an identical IP address.
185
183
184
+
In case of connectivity problems try control over TCP as shown next.
186
185
187
186
* Run an active instance (i.e. client side), with a saturated bidirectional TCP flow, using NPMP-CONTROL control communication over TCP.
* Run an active instance (i.e. client side), with a saturated bidirectional TCP flow, using NPMP-CONTROL control communication over SCTP (this is the default):
Note: DCCP is only available when provided by the operating system kernel!
244
+
Note: DCCP is only available when provided by the operating system kernel, and DCCP supports need to be compiled into NetPerfMeter.
243
245
244
246
245
247
* Run an active instance (i.e. client side), with 2 bidirectional SCTP flows over a single SCTP association (i.e. 2 streams):
@@ -433,12 +435,12 @@ Some examples:
433
435
Notes:
434
436
435
437
- Filter parameters for protocols and ports can ensure to record only the relevant NetPerfMeter traffic.
436
-
- In case of using port 9000 for NetPerfMeter, use:
438
+
- In case of using port 9000 for NetPerfMeter, record:
437
439
438
440
+ SCTP, port 9000 and 9001 (data and control traffic over SCTP);
439
441
+ TCP, port 8999, 9000 and 9001 (data and control traffic over TCP and MPTCP);
440
442
+ UDP, port 9000;
441
-
+ DCCP, port 9000 (`ip proto 33`).
443
+
+ DCCP, port 9000 (`ip proto 33`; PCAP filtering does not support DCCP).
442
444
443
445
444
446
* Run [Wireshark](https://www.wireshark.org/) network protocol analyser to display the packet flow of the <ahref="#active-multi">multi-flows example</a> above in PCAP file [`multi.pcap.gz`](https://github.com/dreibh/netperfmeter/blob/master/src/results-examples/multi.pcap.gz):
0 commit comments