Skip to content

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

@sanathpholla

Description

@sanathpholla

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions