sctpio.d Traces SCTP Packets

The following DTrace script traces SCTP packets and prints various details:

#!/usr/sbin/dtrace -s

#pragma D option quiet
#pragma D option switchrate=10hz

dtrace:::BEGIN
{
        printf(" %3s %15s:%-5s      %15s:%-5s\n", "CPU",
            "LADDR", "LPORT", "RADDR", "RPORT");
}

sctp:::send
{
        printf(" %3d %16s:%-5d -> %16s:%-5d\n", cpu,
            args[2]->ip_saddr, args[4]->sctp_sport,
            args[2]->ip_daddr, args[4]->sctp_dport);
}

sctp:::receive
{
        printf(" %3d %16s:%-5d <- %16s:%-5d\n", cpu,
            args[2]->ip_daddr, args[4]->sctp_dport,
            args[2]->ip_saddr, args[4]->sctp_sport);
}

The fields printed are as follows:

Field Description

CPU

CPU ID that the event occurred on

LADDR

Local IP address

LPORT

Local SCTP port

RADDR

Remote IP address

RPORT

Remote SCTP port