aboutsummaryrefslogtreecommitdiffstats
path: root/test/packetdrill/tests/linux/inet_diag/inet-diag-ipv4.pkt
blob: c4e632a52031bffc6504f5961596e546202aa2de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Test inet_diag for AF_INET sockets with IPv4 traffic.
// We use the "ss" socket statistics tool, which uses inet_diag sockets.
// We use the default tcptest local IP address for IPv4.

// Options (command line arguments in script file) to force IPv4.
--ip_version=ipv4

// Establish a connection.
0  socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
+0 bind(3, ..., ...) = 0
+0 listen(3, 1) = 0

+0 < S 0:0(0) win 32792 <mss 1000,sackOK,nop,nop,nop,wscale 2>
+0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,nop,wscale 6>

+0 `ss -4 -n state SYN-RECV | grep 192.168.0.1:8080 > /dev/null`

+0 < . 1:1(0) ack 1 win 32890

+0 accept(3, ..., ...) = 4

// first, use inet_diag with no filter:
+0 `ss -4 -n | grep :8080 | grep 192.168.0.1:8080 > /dev/null`

// then try filters, which use a different code path:
+0 `ss -4 -n --options --extended --info '( sport = :8080 )' | grep 192.168.0.1:8080 > /dev/null`
+0 `ss -4 -n --options --extended --info '( sport = :8080 )' src 192.168.0.1/32 | grep 192.168.0.1:8080 > /dev/null`