Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot run SCTP packetdrill with IP other than 192.168.0.1 and 192.0.2.1 #166

Open
sanathpholla opened this issue Apr 27, 2024 · 0 comments

Comments

@sanathpholla
Copy link

sanathpholla commented Apr 27, 2024

Issue

  • With the commands mentioned in README.md for client server(Both are L2 connected) execution, packet drill works without any issue. But here the main drawback is that they use internal IPs for SCTP association.(Client-192.168.0.1 and server-192.0.2.1)
    In case if user wants to use actual linux interface IP rather than these internal IPs packetdrill does not work as intended.

Below packetdrill invocation work fine

packetdrill --wire_client --wire_server_ip=100.66.16.251 --wire_client_dev=ens192 ~/ETSI-SCTP-Conformance-Testsuite/sctp-as-tests/sctp-as-v-1-1-1.pkt
packetdrill --wire_server --wire_server_dev=ens224

TCPDUMP capture on wire_server
05:44:43.201990 ens224 In  IP 192.168.0.1.8080 > 192.0.2.1.8080: sctp (1) [INIT] [init tag: 2165793757] [rwnd: 15728640] [OS: 10] [MIS: 65535] [init TSN: 4199510270]
05:44:43.202622 ens224 Out IP 192.0.2.1.8080 > 192.168.0.1.8080: sctp (1) [INIT ACK] [init tag: 2] [rwnd: 1500] [OS: 1] [MIS: 1] [init TSN: 3]
05:44:43.203031 ens224 In  IP 192.168.0.1.8080 > 192.0.2.1.8080: sctp (1) [COOKIE ECHO]
05:44:43.203168 ens224 Out IP 192.0.2.1.8080 > 192.168.0.1.8080: sctp (1) [COOKIE ACK]
05:44:43.203758 ens224 In  IP 192.168.0.1.8080 > 192.0.2.1.8080: sctp (1) [SHUTDOWN]
05:44:43.304062 ens224 Out IP 192.0.2.1.8080 > 192.168.0.1.8080: sctp (1) [SHUTDOWN ACK]
05:44:43.304790 ens224 In  IP 192.168.0.1.8080 > 192.0.2.1.8080: sctp (1) [SHUTDOWN COMPLETE]

Whereas, below packetdrill invocation fail

packetdrill --local_ip=100.66.16.250 --remote_ip=100.66.16.251 --wire_client --wire_server_ip=100.66.16.251 --wire_client_dev=ens192 ~/ETSI-SCTP-Conformance-Testsuite/sctp-as-tests/sctp-as-v-1-1-1.pkt
packetdrill --wire_server --wire_server_dev=ens224 --local_ip=100.66.16.251 --wire_server_ip=100.66.16.251 ~/ETSI-SCTP-Conformance-Testsuite/sctp-as-tests/sctp-as-v-1-1-1.pkt


TCPDUMP capture on wire_server
06:24:09.178150 ens224 In  IP 100.66.16.250.8080 > 100.66.16.251.8080: sctp (1) [INIT] [init tag: 3717357346] [rwnd: 15728640] [OS: 10] [MIS: 65535] [init TSN: 2211162764]
06:24:09.178271 ens224 Out IP 100.66.16.251.8080 > 100.66.16.250.8080: sctp (1) [ABORT]
06:24:09.178814 ens224 Out IP 100.66.16.251.8080 > 100.66.16.250.8080: sctp (1) [INIT ACK] [init tag: 2] [rwnd: 1500] [OS: 1] [MIS: 1] [init TSN: 3]
06:24:09.179102 ens224 In  IP 100.66.16.250.8080 > 100.66.16.251.8080: sctp (1) [ABORT]
06:24:09.179432 ens224 Out IP 100.66.16.251.8080 > 100.66.16.250.8080: sctp (1) [ABORT]

Am I missing some parameter in either client/server because of which this issue is seen? Or this is not supported at all?

Platform
Linux 5.15.0-105-generic

Expectation
Since client,server are L2 connected, even if internal 192.x.x.x IPs are not specified, packetdrill should work.

Use Case
This support is needed to test and verify "SCTP proxy" which sits in between client and server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant