frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

The iPad was on Tailscale: a WebRTC debugging story

https://p2claw.com/blog/2026-06-09-the-ipad-was-on-tailscale/
11•syllogistic•1h ago

Comments

syllogistic•1h ago
Author here.

This started as a blank page on one device and ended two weeks later at the intersection of two bugs: webrtc-rs hardcodes INITIAL_MTU=1228 [never updated, no path probing, retransmits at the same size forever], and Tailscale's packet filter classifies any IPv6 packet with a Fragment header as unknown protocol, so the default deny fires. On every platform, counted under reason="acl". Neither is unreasonable alone. Together: silent wedge, every health check green, because everything that tests the path is small and only the payload fragments. Two-command repro on any tailnet: ping -s 100 works, ping -s 1400 over the Tailscale IPv6 address is 100% loss. Full WebRTC repro and captures: https://github.com/phact/mtu-webrtc-bug. We've reported upstream to both projects https://github.com/tailscale/tailscale/issues/20083 and https://github.com/webrtc-rs/webrtc/issues/806. Happy to answer questions. Especially interested if anyone knows the history behind the IPv6 fragment decision in Tailscale's filter.

inigyou•43m ago
I don't understand how a product as popular as Tailscale can get this far while dropping certain ordinary types of packets.

It is impossible to parse the UDP or TCP port number out of a fragment. This is surely the reason the ACL module entirely rejects them. TCP will adjust it's segment size based on PMTUD so as to not require fragmentation. This is why it hasn't been noticed so far. But fragmented UDP packets are a corner case of normal behavior and it boggles the mind that someone could just decide to completely drop them.

UDP fragment filtering could be implemented by a global fragments on/off setting (works for "allow everything" = fragments on, cautious = fragments off) or by blocking the first fragment which includes the port number (and blocking it if the port number is split across fragments which I think is technically allowed but completely abnormal).

syllogistic•28m ago
Author here,

Agreed. The port-number point is the most plausible rationale I've heard, more convincing than the RFC line in their source comment. The historical fix for "can't classify fragments" was virtual reassembly or flow tracking [conntrack on linux, scrub in pf], so dropping them outright punts past known prior approaches. Even your lighter idea would have saved us: a first-fragment match would have let our pair through.

We've reported upstream to both projects, tailscale/tailscale#20083 and webrtc-rs/webrtc#806, and webrtc-rs already invited a PR.

inigyou•16m ago
You are shadowbanned.
katericksonnow•37m ago
MTU black holes are the worst because every health check is small enough to survive.
hylaride•27m ago
I'm having flashbacks to 1990s-era PPPoE, where the slightly smaller MTU had issues with some server OS's that had TCP/IP stacks that didn't support or ignored MTUs smaller than 1500 bytes and bulk data transfers would get messed up. I don't remember which ones, but it was some commercial UNIX.
Sean-Der•21m ago
Amazing debugging, I loved reading that. HN doesn't get enough good posts like this anymore :)

If https://github.com/pion/sctp/issues/12 had happened (not just in Pion but across all implementations) this could have been fixed years ago. The hardcoding we all settle for is tragic.

syllogistic•5m ago
Author here, thank you, that means a lot coming from you. Pion was the prior art I pointed the webrtc-rs maintainers at. And pion/sctp#12 is super relevant. A known, proposed fix years before we hit it.

"The hardcoding we all settle for" might be the epigraph for the whole incident. webrtc-rs invited a PR for the configurable-MTU + better default half [webrtc-rs/webrtc#806] to unblock folks today. Whether PMTUD gets implemented will be interesting to see.

Improving the carbon footprint assessment of milk production

https://link.springer.com/article/10.1007/s11367-026-02579-3
1•PaulHoule•35s ago•0 comments

The Archivist in Me Turned This Blog into a Book

https://brainbaking.com/post/2026/06/the-archivist-in-me-turned-this-blog-into-a-book/
1•speckx•49s ago•0 comments

HN: AInfra – A native C virtual machine for AI infrastructure graphs

https://github.com/TangibleResearch/AInfra
1•reboy•1m ago•1 comments

Show HN: TKeeper – policy-governed, signed intents for autonomous systems

https://github.com/tkeeper-org/tkeeper
1•_qnt•4m ago•0 comments

Show HN: A 150M model that extracts verbatim evidence spans for RAG, no LLM call

https://huggingface.co/KRLabsOrg/verbatim-rag-modern-bert-v2
1•justacoolname•4m ago•0 comments

Babel-USB: USB drive with every file

https://github.com/p2r3/babel-usb
1•LorenDB•5m ago•0 comments

BYD to install 5-minute EV chargers across Europe

https://www.theverge.com/transportation/947553/byd-flash-chargers-uk-europe-ev-blade-battery
1•Brajeshwar•5m ago•0 comments

The Vanta AI Quality Eval Maturity Model

https://www.vanta.com/resources/vanta-ai-quality-evaluation-maturity-model
1•hamelj•5m ago•0 comments

Show HN: Automated Outbound in Your Terminal

https://posthorn.sh/
1•ejcho623•5m ago•0 comments

D-Wave Riding the Dual-Rail for Its Gate-Model Quantum Ambitions

https://www.nextplatform.com/compute/2026/06/10/d-wave-riding-the-dual-rail-for-its-gate-model-qu...
1•rbanffy•6m ago•0 comments

DataPav. Click a DataFrame column, see where it came from

https://datapav.lpavs.com/
1•PaveLuchkov•6m ago•0 comments

Looking Inside Chromium's On-Device AI Stack

https://www.island.io/blog/looking-inside-chromiums-on-device-ai-stack
1•wild_pointer•7m ago•0 comments

Agentic Code Must Be Human Auditable

https://dockyard.com/blog/2026/06/10/it-has-to-be-human-auditable
2•bcardarella•8m ago•0 comments

Anthropic's Fable 5 Is Opus on a Good Day

https://www.williamangel.net/blog/2026/06/10/anthropic-fable.html
1•datadrivenangel•8m ago•0 comments

Bridger Is Building an Osint Dossier in a Cute Font

https://ethanplant.ca/writing/bridger/
1•ethanplant•9m ago•0 comments

Paramount accuses Netflix of "scorched-earth campaign" against WBD merger

https://arstechnica.com/tech-policy/2026/06/netflix-trying-to-poison-regulators-about-wbd-merger-...
1•rbanffy•10m ago•0 comments

Global watchdog calls for tighter controls on agentic AI in finance

https://www.reuters.com/legal/transactional/global-watchdog-calls-tighter-controls-agentic-ai-fin...
1•1vuio0pswjnm7•11m ago•0 comments

Why the blockbuster SpaceX IPO may spell more bad news for crypto

https://www.reuters.com/legal/government/why-blockbuster-spacex-ipo-may-spell-more-bad-news-crypt...
1•JumpCrisscross•14m ago•0 comments

Frost: Disk Drive Is the Snitch

https://protonprivacy.substack.com/p/frost-your-disk-drive-is-the-snitch
2•daesorin•14m ago•0 comments

The Lockdown Dissidents (A WSJ Documentary)

https://www.youtube.com/watch?v=O87Et-w3vdg
1•mudil•14m ago•1 comments

CastIn2007: A 2007 styled YouTube clone I built out of boredom

https://cast-in2007.edgeone.app/
1•colinnW•16m ago•0 comments

AEO: Getting Started

https://hedge-ops.com/posts/answer-engine-optimization-playbook/
1•mooreds•18m ago•0 comments

Linux Foundation's Latest AI Effort Is Around AI Asset and Data Exchange

https://www.phoronix.com/news/Linux-Foundation-OpenSharing
1•daesorin•18m ago•0 comments

Object-Level Explanations for Image Geolocation Models: A GeoGuessr Use-Case

https://arxiv.org/abs/2605.00912
1•PaulHoule•18m ago•0 comments

Virtual Mailbox vs. Lawyer for Incorporating

1•svenv•19m ago•1 comments

AMA: I'm a Random HN User, ask me anything (and I might respond)

4•SpyCoder77•21m ago•10 comments

Show HN: AgentCarousel – behavioral tests for AI agents, with signed evidence

https://github.com/agentcarousel/agentcarousel
1•neemsio•21m ago•0 comments

Social Security Now Expects Shortfall Earlier, in Late 2032

https://www.wsj.com/politics/policy/social-security-trust-insolvency-2032-d26bf25e
5•JumpCrisscross•21m ago•2 comments

An Early Step on the Long Road to Photosynthesis

https://www.quantamagazine.org/an-early-step-on-the-long-strange-road-to-photosynthesis-20260610/
1•daesorin•21m ago•0 comments

New Anthropic privacy policy: age/identity verification for consumer accounts

https://www.anthropic.com/legal/privacy
2•vhantz•21m ago•1 comments