Use constant (TestInitialSequenceNumber) instead of integer (789) in tests.

PiperOrigin-RevId: 364596526
diff --git a/pkg/tcpip/transport/tcp/tcp_test.go b/pkg/tcpip/transport/tcp/tcp_test.go
index fd499a4..6c86ae1 100644
--- a/pkg/tcpip/transport/tcp/tcp_test.go
+++ b/pkg/tcpip/transport/tcp/tcp_test.go
@@ -165,7 +165,7 @@
 	stats := c.Stack().Stats()
 	want := stats.TCP.ActiveConnectionOpenings.Value() + 1
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	if got := stats.TCP.ActiveConnectionOpenings.Value(); got != want {
 		t.Errorf("got stats.TCP.ActtiveConnectionOpenings.Value() = %d, want = %d", got, want)
 	}
@@ -178,7 +178,7 @@
 	stats := c.Stack().Stats()
 	want := stats.TCP.FailedConnectionAttempts.Value()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	if got := stats.TCP.FailedConnectionAttempts.Value(); got != want {
 		t.Errorf("got stats.TCP.FailedConnectionAttempts.Value() = %d, want = %d", got, want)
 	}
@@ -239,7 +239,7 @@
 	stats := c.Stack().Stats()
 	// SYN and ACK
 	want := stats.TCP.SegmentsSent.Value() + 2
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	if got := stats.TCP.SegmentsSent.Value(); got != want {
 		t.Errorf("got stats.TCP.SegmentsSent.Value() = %d, want = %d", got, want)
@@ -269,7 +269,7 @@
 	}
 
 	// Send a SYN request.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -318,7 +318,7 @@
 
 	// Send a SYN request for a closed port. This should elicit an RST
 	// but NOT an ICMPv4 DstUnreachable packet.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -362,7 +362,7 @@
 	}
 
 	// Send a SYN request.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -459,7 +459,7 @@
 
 	stats := c.Stack().Stats()
 	want := stats.TCP.ResetsReceived.Value() + 1
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	rcvWnd := seqnum.Size(30000)
 	c.CreateConnected(iss, rcvWnd, -1 /* epRcvBuf */)
 
@@ -483,7 +483,7 @@
 
 	stats := c.Stack().Stats()
 	want := stats.TCP.ResetsReceived.Value() + 1
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	rcvWnd := seqnum.Size(30000)
 	c.CreateConnected(iss, rcvWnd, -1 /* epRcvBuf */)
 
@@ -506,14 +506,14 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 }
 
 func TestNonBlockingClose(t *testing.T) {
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	ep := c.EP
 	c.EP = nil
 
@@ -537,18 +537,19 @@
 		t.Fatalf("SetTransportProtocolOption(%d, &%T(%d)): %s", tcp.ProtocolNumber, opt, opt, err)
 	}
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	ep := c.EP
 	c.EP = nil
 
 	// Close the endpoint, make sure we get a FIN segment, then acknowledge
 	// to complete closure of sender, but don't send our own FIN.
 	ep.Close()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -556,7 +557,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -570,7 +571,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -612,7 +613,7 @@
 		t.Fatalf("SetTransportProtocolOption(%d, &%T(%d)): %s", tcp.ProtocolNumber, opt, opt, err)
 	}
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	ep := c.EP
 	c.EP = nil
 
@@ -625,12 +626,12 @@
 	}
 
 	ep.Close()
-
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -638,7 +639,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -655,7 +656,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -666,7 +667,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+2),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -690,7 +691,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	ep := c.EP
 	c.EP = nil
 
@@ -699,11 +700,12 @@
 	}
 
 	// Send a FIN for ESTABLISHED --> CLOSED-WAIT
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagFin | header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -713,7 +715,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -734,7 +736,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -753,7 +755,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  791,
+		SeqNum:  iss.Add(1),
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -764,7 +766,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  792,
+		SeqNum:  iss.Add(2),
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -804,7 +806,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	we, ch := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&we, waiter.EventIn)
@@ -813,11 +815,12 @@
 	ept := endpointTester{c.EP}
 
 	data := []byte{1, 2, 3}
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(data, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -840,7 +843,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+len(data))),
+			checker.TCPAckNum(uint32(iss)+uint32(len(data))),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -1366,12 +1369,13 @@
 
 	// Check that data is received.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.PayloadLen(len(data)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790), // Acknum is initial sequence number + 1
+			checker.TCPAckNum(uint32(iss)), // Acknum is initial sequence number + 1
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 		checker.TOS(tos, 0),
@@ -1414,12 +1418,13 @@
 
 	// Check that data is received.
 	b := c.GetV6Packet()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv6(t, b,
 		checker.PayloadLen(len(data)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 		checker.TOS(tos, 0),
@@ -1472,7 +1477,7 @@
 			tcpHdr := header.TCP(header.IPv4(b).Payload())
 			c.IRS = seqnum.Value(tcpHdr.SequenceNumber())
 
-			iss := seqnum.Value(789)
+			iss := seqnum.Value(context.TestInitialSequenceNumber)
 			rcvWnd := seqnum.Size(30000)
 			c.SendPacket(nil, &context.Headers{
 				SrcPort: tcpHdr.DestinationPort(),
@@ -1537,7 +1542,7 @@
 			if test.reset {
 				// Send a packet with a proper ACK and a RST flag to cause the socket
 				// to error and close out.
-				iss := seqnum.Value(789)
+				iss := seqnum.Value(context.TestInitialSequenceNumber)
 				rcvWnd := seqnum.Size(30000)
 				c.SendPacket(nil, &context.Headers{
 					SrcPort: tcpHdr.DestinationPort(),
@@ -1582,7 +1587,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	we, ch := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&we, waiter.EventIn)
@@ -1593,11 +1598,12 @@
 
 	// Send second half of data first, with seqnum 3 ahead of expected.
 	data := []byte{1, 2, 3, 4, 5, 6}
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(data[3:], &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  793,
+		SeqNum:  iss.Add(3),
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -1607,7 +1613,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -1621,7 +1627,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -1639,7 +1645,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+len(data))),
+			checker.TCPAckNum(uint32(iss)+uint32(len(data))),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -1650,19 +1656,20 @@
 	defer c.Cleanup()
 
 	rcvBufSz := math.MaxUint16
-	c.CreateConnected(789, 30000, rcvBufSz)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, rcvBufSz)
 
 	ept := endpointTester{c.EP}
 	ept.CheckReadError(t, &tcpip.ErrWouldBlock{})
 
 	// Send 100 packets before the actual one that is expected.
 	data := []byte{1, 2, 3, 4, 5, 6}
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	for i := 0; i < 100; i++ {
 		c.SendPacket(data[3:], &context.Headers{
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  796,
+			SeqNum:  iss.Add(6),
 			AckNum:  c.IRS.Add(1),
 			RcvWnd:  30000,
 		})
@@ -1671,19 +1678,19 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(c.IRS)+1),
-				checker.TCPAckNum(790),
+				checker.TCPAckNum(uint32(iss)),
 				checker.TCPFlags(header.TCPFlagAck),
 			),
 		)
 	}
 
-	// Send packet with seqnum 793. It must be discarded because the
+	// Send packet with seqnum as initial + 3. It must be discarded because the
 	// out-of-order buffer was filled by the previous packets.
 	c.SendPacket(data[3:], &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  793,
+		SeqNum:  iss.Add(3),
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -1692,27 +1699,27 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
 
-	// Now send the expected packet, seqnum 790.
+	// Now send the expected packet with initial sequence number.
 	c.SendPacket(data[:3], &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
 
-	// Check that only packet 790 is acknowledged.
+	// Check that only packet with initial sequence number is acknowledged.
 	checker.IPv4(t, c.GetPacket(),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(793),
+			checker.TCPAckNum(uint32(iss)+3),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -1722,7 +1729,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	we, ch := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&we, waiter.EventIn)
@@ -1732,11 +1739,12 @@
 	ept.CheckReadError(t, &tcpip.ErrWouldBlock{})
 
 	data := []byte{1, 2, 3}
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(data, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -1753,7 +1761,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+len(data))),
+			checker.TCPAckNum(uint32(iss)+uint32(len(data))),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -1780,7 +1788,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqnum.Value(790 + len(data)),
+		SeqNum:  iss.Add(seqnum.Size(len(data))),
 		AckNum:  c.IRS.Add(seqnum.Size(2)),
 		RcvWnd:  30000,
 	})
@@ -1790,7 +1798,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	we, ch := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&we, waiter.EventIn)
@@ -1800,11 +1808,12 @@
 	ept.CheckReadError(t, &tcpip.ErrWouldBlock{})
 
 	data := []byte{1, 2, 3}
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(data, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -1821,7 +1830,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+len(data))),
+			checker.TCPAckNum(uint32(iss)+uint32(len(data))),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -1866,7 +1875,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqnum.Value(790 + len(data)),
+		SeqNum:  iss.Add(seqnum.Size(len(data))),
 		AckNum:  c.IRS.Add(seqnum.Size(2)),
 		RcvWnd:  30000,
 	})
@@ -1876,7 +1885,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	ept := endpointTester{c.EP}
 	ept.CheckReadError(t, &tcpip.ErrWouldBlock{})
@@ -1897,7 +1906,7 @@
 	defer c.Cleanup()
 
 	const rcvBufSz = 10
-	c.CreateConnected(789, 30000, rcvBufSz)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, rcvBufSz)
 
 	we, ch := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&we, waiter.EventIn)
@@ -1913,11 +1922,12 @@
 	for i := range data {
 		data[i] = byte(i % 255)
 	}
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(data, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -1934,7 +1944,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+len(data))),
+			checker.TCPAckNum(uint32(iss)+uint32(len(data))),
 			checker.TCPFlags(header.TCPFlagAck),
 			checker.TCPWindow(0),
 		),
@@ -1956,7 +1966,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+len(data))),
+			checker.TCPAckNum(uint32(iss)+uint32(len(data))),
 			checker.TCPFlags(header.TCPFlagAck),
 			checker.TCPWindow(10),
 		),
@@ -1996,8 +2006,7 @@
 	}
 	payload := generateRandomPayload(t, payloadSize)
 	payloadLen := seqnum.Size(len(payload))
-	iss := seqnum.Value(789)
-	seqNum := iss.Add(1)
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 
 	// Send payload to the endpoint and return the advertised receive window
 	// from the endpoint.
@@ -2005,12 +2014,12 @@
 		c.SendPacket(payload, &context.Headers{
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
-			SeqNum:  seqNum,
+			SeqNum:  iss,
 			AckNum:  c.IRS.Add(1),
 			Flags:   header.TCPFlagAck,
 			RcvWnd:  30000,
 		})
-		seqNum = seqNum.Add(payloadLen)
+		iss = iss.Add(payloadLen)
 
 		pkt := c.GetPacket()
 		return uint32(header.TCP(header.IPv4(pkt).Payload()).WindowSize()) << c.RcvdWindowScale
@@ -2054,9 +2063,8 @@
 	// the right edge of the window does not shrink.
 	// NOTE: Netstack doubles the value specified here.
 	rcvBufSize := 65536
-	iss := seqnum.Value(789)
 	// Enable window scaling with a scale of zero from our end.
-	c.CreateConnectedWithRawOptions(iss, 30000, rcvBufSize, []byte{
+	c.CreateConnectedWithRawOptions(context.TestInitialSequenceNumber, 30000, rcvBufSize, []byte{
 		header.TCPOptionWS, 3, 0, header.TCPOptionNOP,
 	})
 
@@ -2069,13 +2077,13 @@
 
 	// Send a 1 byte payload so that we can record the current receive window.
 	// Send a payload of half the size of rcvBufSize.
-	seqNum := iss.Add(1)
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	payload := []byte{1}
 	c.SendPacket(payload, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqNum,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -2092,20 +2100,20 @@
 		t.Fatalf("got data: %v, want: %v", got, want)
 	}
 
-	seqNum = seqNum.Add(1)
 	// Verify that the ACK does not shrink the window.
 	pkt := c.GetPacket()
+	iss = iss.Add(1)
 	checker.IPv4(t, pkt,
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(seqNum)),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
 	// Stash the initial window.
 	initialWnd := header.TCP(header.IPv4(pkt).Payload()).WindowSize() << c.RcvdWindowScale
-	initialLastAcceptableSeq := seqNum.Add(seqnum.Size(initialWnd))
+	initialLastAcceptableSeq := iss.Add(seqnum.Size(initialWnd))
 	// Now shrink the receive buffer to half its original size.
 	if err := c.EP.SetSockOptInt(tcpip.ReceiveBufferSizeOption, rcvBufSize/2); err != nil {
 		t.Fatalf("SetSockOptInt(ReceiveBufferSizeOption, 5) failed: %s", err)
@@ -2117,11 +2125,11 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqNum,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
-	seqNum = seqNum.Add(seqnum.Size(rcvBufSize / 2))
+	iss = iss.Add(seqnum.Size(rcvBufSize / 2))
 
 	// Verify that the ACK does not shrink the window.
 	pkt = c.GetPacket()
@@ -2129,12 +2137,12 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(seqNum)),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
 	newWnd := header.TCP(header.IPv4(pkt).Payload()).WindowSize() << c.RcvdWindowScale
-	newLastAcceptableSeq := seqNum.Add(seqnum.Size(newWnd))
+	newLastAcceptableSeq := iss.Add(seqnum.Size(newWnd))
 	if newLastAcceptableSeq.LessThan(initialLastAcceptableSeq) {
 		t.Fatalf("receive window shrunk unexpectedly got: %d, want >= %d", newLastAcceptableSeq, initialLastAcceptableSeq)
 	}
@@ -2145,17 +2153,17 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqNum,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
-	seqNum = seqNum.Add(seqnum.Size(rcvBufSize / 2))
+	iss = iss.Add(seqnum.Size(rcvBufSize / 2))
 
 	checker.IPv4(t, c.GetPacket(),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(seqNum)),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck),
 			checker.TCPWindow(0),
 		),
@@ -2173,7 +2181,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(seqNum)),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck),
 			checker.TCPWindow(uint16(rcvBufSize/2)>>c.RcvdWindowScale),
 		),
@@ -2184,7 +2192,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	data := []byte{1, 2, 3}
 	var r bytes.Reader
@@ -2195,12 +2203,13 @@
 
 	// Check that data is received.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.PayloadLen(len(data)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -2214,7 +2223,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1 + seqnum.Size(len(data))),
 		RcvWnd:  30000,
 	})
@@ -2224,7 +2233,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789 /* iss */, 0 /* rcvWnd */, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 0 /* rcvWnd */, -1 /* epRcvBuf */)
 
 	data := []byte{1, 2, 3}
 	var r bytes.Reader
@@ -2235,12 +2244,13 @@
 
 	// Check if we got a zero-window probe.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.PayloadLen(header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -2250,7 +2260,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -2262,7 +2272,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -2276,7 +2286,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1 + seqnum.Size(len(data))),
 		RcvWnd:  30000,
 	})
@@ -2289,7 +2299,7 @@
 	defer c.Cleanup()
 
 	// Set the window size greater than the maximum non-scaled window.
-	c.CreateConnectedWithRawOptions(789, 30000, 65535*3, []byte{
+	c.CreateConnectedWithRawOptions(context.TestInitialSequenceNumber, 30000, 65535*3, []byte{
 		header.TCPOptionWS, 3, 0, header.TCPOptionNOP,
 	})
 
@@ -2303,12 +2313,13 @@
 	// Check that data is received, and that advertised window is 0x5fff,
 	// that is, that it is scaled.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.PayloadLen(len(data)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPWindow(0x5fff),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
@@ -2322,7 +2333,7 @@
 	defer c.Cleanup()
 
 	// Set the window size greater than the maximum non-scaled window.
-	c.CreateConnected(789, 30000, 65535*3)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, 65535*3)
 
 	data := []byte{1, 2, 3}
 	var r bytes.Reader
@@ -2334,12 +2345,13 @@
 	// Check that data is received, and that advertised window is 0xffff,
 	// that is, that it's not scaled.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.PayloadLen(len(data)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPWindow(0xffff),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
@@ -2407,12 +2419,13 @@
 	// Check that data is received, and that advertised window is 0x5fff,
 	// that is, that it is scaled.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.PayloadLen(len(data)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPWindow(0x5fff),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
@@ -2480,12 +2493,13 @@
 	// Check that data is received, and that advertised window is 0xffff,
 	// that is, that it's not scaled.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.PayloadLen(len(data)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPWindow(0xffff),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
@@ -2502,7 +2516,7 @@
 	// Set the buffer size such that a window scale of 5 will be used.
 	const bufSz = 65535 * 10
 	const ws = uint32(5)
-	c.CreateConnectedWithRawOptions(789, 30000, bufSz, []byte{
+	c.CreateConnectedWithRawOptions(context.TestInitialSequenceNumber, 30000, bufSz, []byte{
 		header.TCPOptionWS, 3, 0, header.TCPOptionNOP,
 	})
 
@@ -2510,13 +2524,14 @@
 	remain := 0
 	sent := 0
 	data := make([]byte, 50000)
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	// Keep writing till the window drops below len(data).
 	for {
 		c.SendPacket(data, &context.Headers{
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  seqnum.Value(790 + sent),
+			SeqNum:  iss.Add(seqnum.Size(sent)),
 			AckNum:  c.IRS.Add(1),
 			RcvWnd:  30000,
 		})
@@ -2527,7 +2542,7 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(c.IRS)+1),
-				checker.TCPAckNum(uint32(790+sent)),
+				checker.TCPAckNum(uint32(iss)+uint32(sent)),
 				checker.TCPFlags(header.TCPFlagAck),
 			),
 		)
@@ -2545,7 +2560,7 @@
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  seqnum.Value(790 + sent),
+			SeqNum:  iss.Add(seqnum.Size(sent)),
 			AckNum:  c.IRS.Add(1),
 			RcvWnd:  30000,
 		})
@@ -2556,7 +2571,7 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(c.IRS)+1),
-				checker.TCPAckNum(uint32(790+sent)),
+				checker.TCPAckNum(uint32(iss)+uint32(sent)),
 				checker.TCPFlags(header.TCPFlagAck),
 			),
 		)
@@ -2594,7 +2609,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+sent)),
+			checker.TCPAckNum(uint32(iss)+uint32(sent)),
 			checker.TCPWindowGreaterThanEq(uint16(defaultMTU>>ws)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
@@ -2632,7 +2647,7 @@
 			c := context.New(t, defaultMTU)
 			defer c.Cleanup()
 
-			c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+			c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 			// Send tcp.InitialCwnd number of segments to fill up
 			// InitialWindow but don't ACK. That should prevent
@@ -2657,6 +2672,7 @@
 			}
 
 			// Check that we get tcp.InitialCwnd packets.
+			iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 			for i := 0; i < tcp.InitialCwnd; i++ {
 				b := c.GetPacket()
 				checker.IPv4(t, b,
@@ -2664,7 +2680,7 @@
 					checker.TCP(
 						checker.DstPort(context.TestPort),
 						checker.TCPSeqNum(uint32(c.IRS)+uint32(i)+1),
-						checker.TCPAckNum(790),
+						checker.TCPAckNum(uint32(iss)),
 						checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 					),
 				)
@@ -2675,7 +2691,7 @@
 				SrcPort: context.TestPort,
 				DstPort: c.Port,
 				Flags:   header.TCPFlagAck,
-				SeqNum:  790,
+				SeqNum:  iss,
 				AckNum:  c.IRS.Add(1 + 10), // 10 for the 10 bytes of payload.
 				RcvWnd:  30000,
 			})
@@ -2687,7 +2703,7 @@
 				checker.TCP(
 					checker.DstPort(context.TestPort),
 					checker.TCPSeqNum(uint32(c.IRS)+11),
-					checker.TCPAckNum(790),
+					checker.TCPAckNum(uint32(iss)),
 					checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 				),
 			)
@@ -2701,7 +2717,7 @@
 				SrcPort: context.TestPort,
 				DstPort: c.Port,
 				Flags:   header.TCPFlagAck,
-				SeqNum:  790,
+				SeqNum:  iss,
 				AckNum:  c.IRS.Add(11 + seqnum.Size(len(allData))),
 				RcvWnd:  30000,
 			})
@@ -2713,7 +2729,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	c.EP.SocketOptions().SetDelayOption(true)
 
@@ -2728,6 +2744,7 @@
 	}
 
 	seq := c.IRS.Add(1)
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	for _, want := range [][]byte{allData[:1], allData[1:]} {
 		// Check that data is received.
 		b := c.GetPacket()
@@ -2736,7 +2753,7 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(seq)),
-				checker.TCPAckNum(790),
+				checker.TCPAckNum(uint32(iss)),
 				checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 			),
 		)
@@ -2751,7 +2768,7 @@
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  790,
+			SeqNum:  iss,
 			AckNum:  seq,
 			RcvWnd:  30000,
 		})
@@ -2762,7 +2779,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	c.EP.SocketOptions().SetDelayOption(true)
 
@@ -2776,7 +2793,7 @@
 	}
 
 	seq := c.IRS.Add(1)
-
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	// Check that data is received.
 	first := c.GetPacket()
 	checker.IPv4(t, first,
@@ -2784,7 +2801,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(seq)),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -2807,7 +2824,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(seq)),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -2823,7 +2840,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seq,
 		RcvWnd:  30000,
 	})
@@ -2845,7 +2862,7 @@
 			c := context.New(t, defaultMTU)
 			defer c.Cleanup()
 
-			c.CreateConnectedWithRawOptions(789, 30000, -1 /* epRcvBuf */, []byte{
+			c.CreateConnectedWithRawOptions(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */, []byte{
 				header.TCPOptionMSS, 4, byte(maxPayload / 256), byte(maxPayload % 256),
 			})
 
@@ -2861,7 +2878,7 @@
 			}
 
 			seq := c.IRS.Add(1)
-
+			iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 			for i, data := range allData {
 				// Check that data is received.
 				packet := c.GetPacket()
@@ -2870,7 +2887,7 @@
 					checker.TCP(
 						checker.DstPort(context.TestPort),
 						checker.TCPSeqNum(uint32(seq)),
-						checker.TCPAckNum(790),
+						checker.TCPAckNum(uint32(iss)),
 						checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 					),
 				)
@@ -2887,7 +2904,7 @@
 				SrcPort: context.TestPort,
 				DstPort: c.Port,
 				Flags:   header.TCPFlagAck,
-				SeqNum:  790,
+				SeqNum:  iss,
 				AckNum:  seq,
 				RcvWnd:  30000,
 			})
@@ -2912,6 +2929,7 @@
 	// Check that data is received in chunks.
 	bytesReceived := 0
 	numPackets := 0
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	for bytesReceived != dataLen {
 		b := c.GetPacket()
 		numPackets++
@@ -2921,7 +2939,7 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(c.IRS)+1+uint32(bytesReceived)),
-				checker.TCPAckNum(790),
+				checker.TCPAckNum(uint32(iss)),
 				checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 			),
 		)
@@ -2945,7 +2963,7 @@
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  790,
+			SeqNum:  iss,
 			AckNum:  c.IRS.Add(1 + seqnum.Size(bytesReceived)),
 			RcvWnd:  30000,
 			TCPOpts: options,
@@ -2961,7 +2979,7 @@
 	c := context.New(t, uint32(header.TCPMinimumSize+header.IPv4MinimumSize+maxPayload))
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	testBrokenUpWrite(t, c, maxPayload)
 }
 
@@ -3001,7 +3019,7 @@
 	c := context.New(t, 65535)
 	defer c.Cleanup()
 
-	c.CreateConnectedWithRawOptions(789, 30000, -1 /* epRcvBuf */, []byte{
+	c.CreateConnectedWithRawOptions(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */, []byte{
 		header.TCPOptionMSS, 4, byte(maxPayload / 256), byte(maxPayload % 256),
 	})
 	testBrokenUpWrite(t, c, maxPayload)
@@ -3210,7 +3228,7 @@
 	)
 
 	// Send SYN-ACK.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: tcpHdr.DestinationPort(),
 		DstPort: tcpHdr.SourcePort(),
@@ -3272,14 +3290,15 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	// Send RST segment.
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagRst,
-		SeqNum:  790,
+		SeqNum:  iss,
 		RcvWnd:  30000,
 	})
 
@@ -3328,14 +3347,15 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Send RST segment.
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagRst,
-		SeqNum:  790,
+		SeqNum:  iss,
 		RcvWnd:  30000,
 	})
 
@@ -3363,7 +3383,7 @@
 		t.Fatalf("SetTransportProtocolOption(%d, &%T(%d)): %s", tcp.ProtocolNumber, opt, opt, err)
 	}
 
-	c.CreateConnected(789 /* iss */, 30000 /* rcvWnd */, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000 /* rcvWnd */, -1 /* epRcvBuf */)
 
 	waitEntry, notifyCh := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&waitEntry, waiter.EventHUp)
@@ -3426,7 +3446,7 @@
 		t.Fatalf("SetTransportProtocolOption(%d, &%T(%d)): %s", tcp.ProtocolNumber, opt, opt, err)
 	}
 
-	c.CreateConnected(789 /* iss */, 30000 /* rcvWnd */, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000 /* rcvWnd */, -1 /* epRcvBuf */)
 
 	var r bytes.Reader
 	r.Reset(make([]byte, 1))
@@ -3469,7 +3489,7 @@
 			c := context.New(t, defaultMTU)
 			defer c.Cleanup()
 
-			c.CreateConnected(789 /* iss */, 30000 /* rcvWnd */, -1 /* epRcvBuf */)
+			c.CreateConnected(context.TestInitialSequenceNumber, 30000 /* rcvWnd */, -1 /* epRcvBuf */)
 
 			// Disabling PMTU discovery causes all packets sent from this socket to
 			// have DF=0. This needs to be done because the IPv4 ID uniqueness
@@ -3518,19 +3538,20 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Shutdown immediately, check that we get a FIN.
 	if err := c.EP.Shutdown(tcpip.ShutdownWrite); err != nil {
 		t.Fatalf("Shutdown failed: %s", err)
 	}
 
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.PayloadLen(header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -3540,7 +3561,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -3551,7 +3572,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+2),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -3561,19 +3582,20 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Shutdown immediately, check that we get a FIN.
 	if err := c.EP.Shutdown(tcpip.ShutdownWrite); err != nil {
 		t.Fatalf("Shutdown failed: %s", err)
 	}
 
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.PayloadLen(header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -3584,7 +3606,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -3594,7 +3616,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -3605,7 +3627,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+2),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -3615,7 +3637,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Write something out, and have it acknowledged.
 	view := make([]byte, 10)
@@ -3626,12 +3648,13 @@
 	}
 
 	next := uint32(c.IRS) + 1
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.PayloadLen(len(view)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -3641,7 +3664,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -3656,7 +3679,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -3667,7 +3690,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -3678,7 +3701,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -3688,7 +3711,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Write enough segments to fill the congestion window before ACK'ing
 	// any of them.
@@ -3702,13 +3725,14 @@
 	}
 
 	next := uint32(c.IRS) + 1
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	for i := tcp.InitialCwnd; i > 0; i-- {
 		checker.IPv4(t, c.GetPacket(),
 			checker.PayloadLen(len(view)+header.TCPMinimumSize),
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(next),
-				checker.TCPAckNum(790),
+				checker.TCPAckNum(uint32(iss)),
 				checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 			),
 		)
@@ -3727,7 +3751,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -3737,7 +3761,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -3747,7 +3771,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -3758,7 +3782,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -3768,7 +3792,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -3778,7 +3802,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Write something out, and acknowledge it to get cwnd to 2.
 	view := make([]byte, 10)
@@ -3789,12 +3813,13 @@
 	}
 
 	next := uint32(c.IRS) + 1
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.PayloadLen(len(view)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -3804,7 +3829,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -3820,7 +3845,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -3836,7 +3861,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -3847,7 +3872,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -3857,7 +3882,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -3867,7 +3892,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Write something out, and acknowledge it to get cwnd to 2. Also send
 	// FIN from the test side.
@@ -3879,12 +3904,13 @@
 	}
 
 	next := uint32(c.IRS) + 1
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.PayloadLen(len(view)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -3894,7 +3920,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -3905,7 +3931,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -3921,7 +3947,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -3937,7 +3963,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(791),
+			checker.TCPAckNum(uint32(iss)+1),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -3948,7 +3974,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  791,
+		SeqNum:  iss.Add(1),
 		AckNum:  seqnum.Value(next - 1),
 		RcvWnd:  30000,
 	})
@@ -3961,7 +3987,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  791,
+		SeqNum:  iss.Add(1),
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -4002,17 +4028,18 @@
 	defer c.Cleanup()
 
 	maxPayload := defaultMTU - header.IPv4MinimumSize - header.TCPMinimumSize
-	c.CreateConnectedWithRawOptions(789, 0, -1 /* epRcvBuf */, []byte{
+	c.CreateConnectedWithRawOptions(context.TestInitialSequenceNumber, 0, -1 /* epRcvBuf */, []byte{
 		header.TCPOptionMSS, 4, byte(maxPayload / 256), byte(maxPayload % 256),
 		header.TCPOptionWS, 3, scale, header.TCPOptionNOP,
 	})
 
 	// Open up the window with a scaled value.
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  1,
 	})
@@ -4031,7 +4058,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -4041,7 +4068,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagRst,
-		SeqNum:  790,
+		SeqNum:  iss,
 	})
 }
 
@@ -4054,15 +4081,16 @@
 func TestReceivedValidSegmentCountIncrement(t *testing.T) {
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	stats := c.Stack().Stats()
 	want := stats.TCP.ValidSegmentsReceived.Value() + 1
 
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqnum.Value(790),
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -4083,14 +4111,15 @@
 func TestReceivedInvalidSegmentCountIncrement(t *testing.T) {
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	stats := c.Stack().Stats()
 	want := stats.TCP.InvalidSegmentsReceived.Value() + 1
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	vv := c.BuildSegment(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqnum.Value(790),
+		SeqNum:  seqnum.Value(iss),
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -4110,14 +4139,15 @@
 func TestReceivedIncorrectChecksumIncrement(t *testing.T) {
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 	stats := c.Stack().Stats()
 	want := stats.TCP.ChecksumErrors.Value() + 1
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	vv := c.BuildSegment([]byte{0x1, 0x2, 0x3}, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  seqnum.Value(790),
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -4144,23 +4174,24 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	// Send 200 segments.
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	data := []byte{1, 2, 3}
 	for i := 0; i < 200; i++ {
 		c.SendPacket(data, &context.Headers{
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  seqnum.Value(790 + i*len(data)),
+			SeqNum:  iss.Add(seqnum.Size(i * len(data))),
 			AckNum:  c.IRS.Add(1),
 			RcvWnd:  30000,
 		})
 	}
 
 	// Receive ACKs for all segments.
-	last := seqnum.Value(790 + 200*len(data))
+	last := iss.Add(seqnum.Size(200 * len(data)))
 	for {
 		b := c.GetPacket()
 		checker.IPv4(t, b,
@@ -4198,7 +4229,7 @@
 		t.Fatalf("SetTransportProtocolOption(%d, &%T(%d)): %s", tcp.ProtocolNumber, opt, opt, err)
 	}
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	we, ch := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&we, waiter.EventIn)
@@ -4212,12 +4243,13 @@
 		t.Fatalf("Shutdown failed: %s", err)
 	}
 
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.PayloadLen(header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagFin),
 		),
 	)
@@ -4232,7 +4264,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck | header.TCPFlagFin,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(2),
 		RcvWnd:  30000,
 	})
@@ -4242,7 +4274,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+2),
-			checker.TCPAckNum(uint32(791+len(data))),
+			checker.TCPAckNum(uint32(iss)+uint32(len(data))+1),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -4815,7 +4847,7 @@
 
 	// Create new connection with MSS of 1460.
 	const maxPayload = 1500 - header.TCPMinimumSize - header.IPv4MinimumSize
-	c.CreateConnectedWithRawOptions(789, 30000, -1 /* epRcvBuf */, []byte{
+	c.CreateConnectedWithRawOptions(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */, []byte{
 		header.TCPOptionMSS, 4, byte(maxPayload / 256), byte(maxPayload % 256),
 	})
 
@@ -4833,6 +4865,7 @@
 
 	receivePackets := func(c *context.Context, sizes []int, which int, seqNum uint32) []byte {
 		var ret []byte
+		iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 		for i, size := range sizes {
 			p := c.GetPacket()
 			if i == which {
@@ -4843,7 +4876,7 @@
 				checker.TCP(
 					checker.DstPort(context.TestPort),
 					checker.TCPSeqNum(seqNum),
-					checker.TCPAckNum(790),
+					checker.TCPAckNum(uint32(iss)),
 					checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 				),
 			)
@@ -4893,14 +4926,15 @@
 		invoked <- struct{}{}
 	})
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	data := []byte{1, 2, 3}
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket(data, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  c.IRS.Add(1),
 		RcvWnd:  30000,
 	})
@@ -5027,7 +5061,7 @@
 				}
 
 				if connected {
-					c.Connect(789 /* iss */, 32768 /* rcvWnd */, nil)
+					c.Connect(context.TestInitialSequenceNumber, 32768 /* rcvWnd */, nil)
 				}
 
 				if err := c.EP.SetSockOpt(&tc.cc); err != tc.err {
@@ -5067,7 +5101,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	const keepAliveIdle = 100 * time.Millisecond
 	const keepAliveInterval = 3 * time.Second
@@ -5087,13 +5121,14 @@
 
 	// 5 unacked keepalives are sent. ACK each one, and check that the
 	// connection stays alive after 5.
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	for i := 0; i < 10; i++ {
 		b := c.GetPacket()
 		checker.IPv4(t, b,
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(c.IRS)),
-				checker.TCPAckNum(uint32(790)),
+				checker.TCPAckNum(uint32(iss)),
 				checker.TCPFlags(header.TCPFlagAck),
 			),
 		)
@@ -5103,7 +5138,7 @@
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  790,
+			SeqNum:  iss,
 			AckNum:  c.IRS,
 			RcvWnd:  30000,
 		})
@@ -5128,7 +5163,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -5140,7 +5175,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck|header.TCPFlagPsh),
 		),
 	)
@@ -5153,7 +5188,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -5166,7 +5201,7 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(next-1)),
-				checker.TCPAckNum(uint32(790)),
+				checker.TCPAckNum(uint32(iss)),
 				checker.TCPFlags(header.TCPFlagAck),
 			),
 		)
@@ -5184,7 +5219,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -5215,7 +5250,7 @@
 func executeHandshake(t *testing.T, c *context.Context, srcPort uint16, synCookieInUse bool) (irs, iss seqnum.Value) {
 	t.Helper()
 	// Send a SYN request.
-	irs = seqnum.Value(789)
+	irs = seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: srcPort,
 		DstPort: context.StackPort,
@@ -5260,7 +5295,7 @@
 func executeV6Handshake(t *testing.T, c *context.Context, srcPort uint16, synCookieInUse bool) (irs, iss seqnum.Value) {
 	t.Helper()
 	// Send a SYN request.
-	irs = seqnum.Value(789)
+	irs = seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendV6Packet(nil, &context.Headers{
 		SrcPort: srcPort,
 		DstPort: context.StackPort,
@@ -5340,7 +5375,7 @@
 		SrcPort: context.TestPort + uint16(lastPortOffset),
 		DstPort: context.StackPort,
 		Flags:   header.TCPFlagSyn,
-		SeqNum:  seqnum.Value(789),
+		SeqNum:  seqnum.Value(context.TestInitialSequenceNumber),
 		RcvWnd:  30000,
 	})
 	c.CheckNoPacketTimeout("unexpected packet received", 50*time.Millisecond)
@@ -5491,7 +5526,7 @@
 				t.Fatalf("Listen failed: %s", err)
 			}
 
-			irs := seqnum.Value(789)
+			irs := seqnum.Value(context.TestInitialSequenceNumber)
 			c.SendPacketWithAddrs(nil, &context.Headers{
 				SrcPort: context.TestPort,
 				DstPort: context.StackPort,
@@ -5591,7 +5626,7 @@
 				t.Fatalf("Listen failed: %s", err)
 			}
 
-			irs := seqnum.Value(789)
+			irs := seqnum.Value(context.TestInitialSequenceNumber)
 			c.SendV6PacketWithAddrs(nil, &context.Headers{
 				SrcPort: context.TestPort,
 				DstPort: context.StackPort,
@@ -5645,7 +5680,7 @@
 	// Send two SYN's the first one should get a SYN-ACK, the
 	// second one should not get any response and is dropped as
 	// the synRcvd count will be equal to backlog.
-	irs := seqnum.Value(789)
+	irs := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -5758,7 +5793,7 @@
 	time.Sleep(50 * time.Millisecond)
 
 	// Send a SYN request.
-	irs := seqnum.Value(789)
+	irs := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		// pick a different src port for new SYN.
 		SrcPort: context.TestPort + 1,
@@ -5824,7 +5859,7 @@
 
 	// Send the same SYN packet multiple times. We should still get a valid SYN-ACK
 	// reply.
-	irs := seqnum.Value(789)
+	irs := seqnum.Value(context.TestInitialSequenceNumber)
 	for i := 0; i < 5; i++ {
 		c.SendPacket(nil, &context.Headers{
 			SrcPort: context.TestPort,
@@ -5867,7 +5902,7 @@
 	}
 
 	// Send a SYN to get a SYN-ACK. This should put the ep into SYN-RCVD state
-	irs := seqnum.Value(789)
+	irs := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -6051,7 +6086,7 @@
 		SrcPort: srcPort + 2,
 		DstPort: context.StackPort,
 		Flags:   header.TCPFlagSyn,
-		SeqNum:  seqnum.Value(789),
+		SeqNum:  seqnum.Value(context.TestInitialSequenceNumber),
 		RcvWnd:  30000,
 	})
 
@@ -6501,7 +6536,7 @@
 	c := context.New(t, 1500 /* mtu */)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	testCases := []struct {
 		name             string
@@ -6552,7 +6587,7 @@
 	}
 
 	// Send a SYN request.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -6671,7 +6706,7 @@
 	}
 
 	// Send a SYN request.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -6778,7 +6813,7 @@
 	}
 
 	// Send a SYN request.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -6852,7 +6887,7 @@
 	// Send a SYN request w/ sequence number lower than
 	// the highest sequence number sent. We just reuse
 	// the same number.
-	iss = seqnum.Value(789)
+	iss = seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -6872,7 +6907,7 @@
 
 	// Send a SYN request w/ sequence number higher than
 	// the highest sequence number sent.
-	iss = seqnum.Value(792)
+	iss = iss.Add(3)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -6942,7 +6977,7 @@
 	}
 
 	// Send a SYN request.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -7091,7 +7126,7 @@
 	}
 
 	// Send a SYN request.
-	iss := seqnum.Value(789)
+	iss := seqnum.Value(context.TestInitialSequenceNumber)
 	c.SendPacket(nil, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: context.StackPort,
@@ -7242,7 +7277,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	waitEntry, notifyCh := waiter.NewChannelEntry(nil)
 	c.WQ.EventRegister(&waitEntry, waiter.EventHUp)
@@ -7268,12 +7303,13 @@
 	}
 
 	next := uint32(c.IRS) + 1
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, c.GetPacket(),
 		checker.PayloadLen(len(view)+header.TCPMinimumSize),
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(next),
-			checker.TCPAckNum(790),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlagsMatch(header.TCPFlagAck, ^header.TCPFlagPsh),
 		),
 	)
@@ -7299,7 +7335,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(next),
 		RcvWnd:  30000,
 	})
@@ -7328,7 +7364,7 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	c.CreateConnected(789, 30000, -1 /* epRcvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRcvBuf */)
 
 	origEstablishedTimedout := c.Stack().Stats().TCP.EstablishedTimedout.Value()
 
@@ -7362,11 +7398,12 @@
 
 	// Now receive 1 keepalives, but don't ACK it.
 	b := c.GetPacket()
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	checker.IPv4(t, b,
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)),
-			checker.TCPAckNum(uint32(790)),
+			checker.TCPAckNum(uint32(iss)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
 	)
@@ -7383,7 +7420,7 @@
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  790,
+		SeqNum:  iss,
 		AckNum:  seqnum.Value(c.IRS + 1),
 		RcvWnd:  30000,
 	})
@@ -7413,20 +7450,20 @@
 	defer c.Cleanup()
 
 	const rcvBuf = 65535 * 10
-	c.CreateConnected(789, 30000, rcvBuf)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, rcvBuf)
 
 	// Write chunks of ~30000 bytes. It's important that two
 	// payloads make it equal or longer than MSS.
 	remain := rcvBuf * 2
 	sent := 0
 	data := make([]byte, defaultMTU/2)
-
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	for remain > len(data) {
 		c.SendPacket(data, &context.Headers{
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  seqnum.Value(790 + sent),
+			SeqNum:  iss.Add(seqnum.Size(sent)),
 			AckNum:  c.IRS.Add(1),
 			RcvWnd:  30000,
 		})
@@ -7438,7 +7475,7 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(c.IRS)+1),
-				checker.TCPAckNum(uint32(790+sent)),
+				checker.TCPAckNum(uint32(iss)+uint32(sent)),
 				checker.TCPFlags(header.TCPFlagAck),
 			),
 		)
@@ -7469,7 +7506,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+sent)),
+			checker.TCPAckNum(uint32(iss)+uint32(sent)),
 			checker.TCPWindow(uint16(0xffff)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
@@ -7483,20 +7520,20 @@
 	defer c.Cleanup()
 
 	const rcvBuf = 65535 * 10
-	c.CreateConnected(789, 30000, rcvBuf)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, rcvBuf)
 
 	// Write chunks of ~30000 bytes. It's important that two
 	// payloads make it equal or longer than MSS.
 	remain := rcvBuf
 	sent := 0
 	data := make([]byte, defaultMTU/2)
-
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	for remain > len(data) {
 		c.SendPacket(data, &context.Headers{
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
 			Flags:   header.TCPFlagAck,
-			SeqNum:  seqnum.Value(790 + sent),
+			SeqNum:  iss.Add(seqnum.Size(sent)),
 			AckNum:  c.IRS.Add(1),
 			RcvWnd:  30000,
 		})
@@ -7507,7 +7544,7 @@
 			checker.TCP(
 				checker.DstPort(context.TestPort),
 				checker.TCPSeqNum(uint32(c.IRS)+1),
-				checker.TCPAckNum(uint32(790+sent)),
+				checker.TCPAckNum(uint32(iss)+uint32(sent)),
 				checker.TCPWindowLessThanEq(0xffff),
 				checker.TCPFlags(header.TCPFlagAck),
 			),
@@ -7523,7 +7560,7 @@
 		checker.TCP(
 			checker.DstPort(context.TestPort),
 			checker.TCPSeqNum(uint32(c.IRS)+1),
-			checker.TCPAckNum(uint32(790+sent)),
+			checker.TCPAckNum(uint32(iss)+uint32(sent)),
 			checker.TCPWindow(uint16(0xffff)),
 			checker.TCPFlags(header.TCPFlagAck),
 		),
@@ -7664,16 +7701,16 @@
 	c := context.New(t, defaultMTU)
 	defer c.Cleanup()
 
-	iss := seqnum.Value(789)
-	c.CreateConnected(iss, 30000, -1 /* epRecvBuf */)
+	c.CreateConnected(context.TestInitialSequenceNumber, 30000, -1 /* epRecvBuf */)
 	// Send some data to make sure there is some unread
 	// data to trigger a reset on c.Close.
 	irs := c.IRS
+	iss := seqnum.Value(context.TestInitialSequenceNumber).Add(1)
 	c.SendPacket([]byte{1, 2, 3, 4}, &context.Headers{
 		SrcPort: context.TestPort,
 		DstPort: c.Port,
 		Flags:   header.TCPFlagAck,
-		SeqNum:  iss.Add(1),
+		SeqNum:  iss,
 		AckNum:  irs.Add(1),
 		RcvWnd:  30000,
 	})
@@ -7683,7 +7720,7 @@
 		checker.DstPort(context.TestPort),
 		checker.TCPFlags(header.TCPFlagAck),
 		checker.TCPSeqNum(uint32(irs.Add(1))),
-		checker.TCPAckNum(uint32(iss.Add(5)))))
+		checker.TCPAckNum(uint32(iss)+4)))
 
 	// Close in a separate goroutine so that we can trigger
 	// a race with the RST we send below. This should not
@@ -7698,7 +7735,7 @@
 		c.SendPacket(nil, &context.Headers{
 			SrcPort: context.TestPort,
 			DstPort: c.Port,
-			SeqNum:  iss.Add(5),
+			SeqNum:  iss.Add(4),
 			AckNum:  c.IRS.Add(5),
 			RcvWnd:  30000,
 			Flags:   header.TCPFlagRst,