Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
bd7e9d3
all: rename module (#7)
jwhited Mar 28, 2023
e26adb8
go.mod,tun/netstack: bump gvisor
raggi Sep 27, 2023
e06231b
conn, device: use UDP GSO and GRO on Linux
jwhited Apr 4, 2023
d831fef
device: distribute crypto work as slice of elements
jwhited Apr 4, 2023
915962d
tun: unwind summing loop in checksumNoFold()
jwhited Apr 4, 2023
ceb9a09
tun: reduce redundant checksumming in tcpGRO()
jwhited Apr 4, 2023
cc7b29b
device: move Queue{In,Out}boundElement Mutex to container type
jwhited Apr 5, 2023
ec6f23b
tun: checksum tests and benchmarks
sailorfrag May 18, 2023
88b11b4
tun: AMD64 optimized checksum
sailorfrag Mar 31, 2023
6cd5922
all: adjust build tags for plan9
bradfitz Aug 24, 2023
202a340
adjust build tags for tamago
abarisani Aug 30, 2023
2f6748d
tun: fix crash when ForceMTU is called after close
raggi Sep 27, 2023
24f8d7c
tun: implement UDP GSO/GRO for Linux
jwhited Oct 7, 2023
db7604d
tun: don't assume UDP GRO is supported
jwhited Nov 1, 2023
8cc8b8b
device: change Peer.endpoint locking to reduce contention
jwhited Nov 21, 2023
cc193a0
device: reduce redundant per-packet overhead in RX path
jwhited Nov 7, 2023
64040e6
ipc: build on aix
bradfitz Apr 13, 2024
03c5a0c
tun: implement API for disabling UDP GRO on Linux
jwhited Apr 29, 2024
1e08883
device: fix WaitPool sync.Cond usage
jwhited Jun 27, 2024
cfa4567
device: fix missed return of QueueOutboundElementsContainer to its Wa…
jwhited Jun 27, 2024
2f5d148
conn,device: enable cryptorouting via PeerAwareEndpoint
raggi Jun 7, 2024
60eeedf
tun: export GSOSplit() for external Device implementers
jwhited Jul 16, 2024
6c039a1
tun: export optimized IP checksum funcs
jwhited Jul 23, 2024
71393c5
tun: fix checksum test failures on non-4KiB page sizes
sailorfrag Jul 31, 2024
799c197
tun: add method for disabling TCP GRO on Linux
jwhited Sep 4, 2024
4e883d3
tun: use x/sys/unix IoctlIfreq/NewIfreq to set MTU on Linux
bradfitz Nov 13, 2024
0b8b355
ipc: build on solaris/illumos
nshalman Dec 2, 2024
91a0587
tun: add plan9 support
bradfitz Mar 4, 2025
6413b49
.github/workflows: establish basic build and test actions jobs
jwhited May 28, 2025
2b55512
device: do atomic 64-bit add outside of vector loop
zx2c4 Dec 11, 2023
f74ff38
device: fix possible deadlock in close method
basovnik Nov 10, 2023
19f7e29
device: reduce RoutineHandshake allocations
AlexanderYastrebov Dec 26, 2024
ae06362
device: make unmarshall length checks exact
zx2c4 May 15, 2025
0225465
device: optimize message encoding
AlexanderYastrebov May 17, 2025
65cd6ee
conn,device: provide 8 free bytes at packet head to conn.Bind.Send()
jwhited May 30, 2025
24483d7
conn,device: always perform PeerAwareEndpoint check
jwhited Jul 1, 2025
1f398ae
conn,device: implement InitiationAwareEndpoint
jwhited Jul 4, 2025
4064566
device: fix keepalive detection in TX path
jwhited Jul 11, 2025
1d0488a
conn,device: eval conn.PeerAwareEndpoint per-packet
jwhited Jul 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: CI

on:
push:
branches: ["tailscale"]
pull_request:
branches: ["tailscale"]

jobs:
build:
runs-on: ubuntu-22.04
strategy:
matrix:
include:
- goos: linux
goarch: amd64
- goos: linux
goarch: arm64
- goos: linux
goarch: "386"
- goos: linux
goarch: loong64
- goos: linux
goarch: arm
goarm: "5"
- goos: linux
goarch: arm
goarm: "7"
# macOS
- goos: darwin
goarch: amd64
- goos: darwin
goarch: arm64
# Windows
- goos: windows
goarch: amd64
- goos: windows
goarch: arm64
# BSDs
- goos: freebsd
goarch: amd64
- goos: openbsd
goarch: amd64
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: setup go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
- name: build
run: go build ./...
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
CGO_ENABLED: "0"

test:
runs-on: ubuntu-22.04
steps:
- name: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: setup go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod
- name: test
run: go test -race -v ./...
Loading