Defer TUN device creation until after the quic connection has been established.

IOS XR's XR container takes a few seconds for networking state to be sync'd from the host -- during which time any manipulations to the linux contaier's host networking stack breaks the synchronization process.

This has the nice side-benefit of re-initializing the TUN device each time a new quic connection is established, ensuring the local interface is in a good state on each reconnect. Previously, if the interface was down'd or deleted externally, the client would just fail continuously without attempting to recover.

PiperOrigin-RevId: 372620094
4 files changed
tree: 38e762d6919800ba91f98a41b57eea1c25055023
  1. common/
  2. epoll_server/
  3. http2/
  4. quic/
  5. spdy/
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
README.md

QUICHE

QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects. QUICHE is only supported on little-endian platforms.

Code can be viewed in CodeSearch in Quiche and is imported into Chromium.