Skip to content

Commit

Permalink
Make build more friendly
Browse files Browse the repository at this point in the history
  • Loading branch information
daniel-noland committed Sep 24, 2024
1 parent 701ffc7 commit ebeb8d4
Show file tree
Hide file tree
Showing 17 changed files with 230 additions and 370 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
/target/**
/design-docs/src/mdbook/book/**
/dpdk-sys/sysroot/**
/sysroot/**
24 changes: 24 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ members = [
"errno",
"net",
"scratch",
"sysroot-helper",
]
resolver = "2"

Expand All @@ -18,6 +19,7 @@ doxygen-rs = { version = "0.4.0" }
etherparse = { version = "0.16.0", default-features = false, features = [] }
libc = { version = "0.2.158" }
rstest = { version = "0.22.0", default-features = false, features = [] }
rustc_version = { version = "0.4.1" }
serde = { version = "1.0.210", default-features = false, features = ["derive", "alloc", "rc"] }
syscalls = { version = "0.6.18" }
thiserror = { version = "2.0.0", package = "thiserror-no-std" } # replace with regular thiserror when https://github.com/dtolnay/thiserror/pull/304 lands
Expand Down
140 changes: 0 additions & 140 deletions design-docs/src/mdbook/sources/sources.bib
Original file line number Diff line number Diff line change
@@ -1,140 +0,0 @@
@online{chromium/issue/add-quic,
title = {Issue 11125002: {{Add QuicFramer}} and Friends. - {{Code Review}}},
author = {Hamilton, Ryan},
url = {https://chromiumcodereview.appspot.com/11125002},
urldate = {2024-02-21},
file = {/home/dnoland/Zotero/storage/TGHUZ6MH/11125002.html}
}

@online{chromium/patch/add-quic,
type = {chromium code reviews},
title = {Add {{QuicFramer}} and Friends},
author = {Hamilton, Ryan},
date = {2012-10-16},
url = {https://src.chromium.org/viewvc/chrome?revision=162259&view=revision},
urldate = {2024-02-21},
langid = {english},
file = {/home/dnoland/Zotero/storage/HD5GZWSY/chrome.html}
}

@online{chromium/quic/history,
title = {{{QUIC}}, a Multiplexed Transport over {{UDP}}},
author = {The Chromium Projects},
url = {https://www.chromium.org/quic/},
urldate = {2024-02-26},
abstract = {QUIC is a new multiplexed transport built on top of UDP. HTTP/3 is designed to take advantage of QUIC's features, including lack of Head-Of-Line blocking between streams.},
organization = {{The Chromium Projects}},
file = {/home/dnoland/Zotero/storage/K42HT8AA/quic.html}
}

@online{google-doc/quic-design,
title = {{{QUIC}}: {{Design Document}} and {{Specification Rationale}}},
shorttitle = {{{QUIC}}},
author = {Roskind, Jim},
url = {https://docs.google.com/document/d/1RNHkx_VvKWyWg6Lr8SZ-saqsQx7rFV-ev2jRFUoVD34/edit?usp=embed_facebook},
urldate = {2024-02-21},
langid = {english},
organization = {{Google Docs}},
file = {/home/dnoland/Zotero/storage/K43PQDLY/edit.html}
}

@unpublished{ietf/88/tsv-area-presentation,
title = {Quick {{UDP Internet Connection}}},
author = {Roskind, Jim},
date = {2013-11-07},
url = {https://www.ietf.org/proceedings/88/slides/slides-88-tsvarea-10.pdf},
urldate = {2024-02-26},
eventtitle = {The 88th {{Proceedings}} of {{IETF}}},
venue = {{Vancouver, BC, Canada}},
annotation = {archiveurl: https://web.archive.org/web/20240118041920/https://www.ietf.org/proceedings/88/slides/slides-88-tsvarea-10.pdf}
}

@online{ietf/media/whats-happening-with-quic,
title = {What's {{Happening}} with {{QUIC}}},
author = {Nottingham, Mark},
date = {2018-10-29},
url = {https://www.ietf.org/blog/whats-happening-quic/},
urldate = {2024-02-21},
abstract = {QUIC is no less than a new alternative to TCP, the Internet's venerable transport protocol. It provides a foundation for new applications, and existing ones–like HTTP–can be adapted to use it too.},
langid = {english},
organization = {{IETF}},
file = {/home/dnoland/Zotero/storage/I3QSWHMT/whats-happening-quic.html}
}

@report{ietf/quic/draft,
type = {Request for Comments},
title = {{{QUIC}}: {{A UDP-Based Multiplexed}} and {{Secure Transport}}},
shorttitle = {{{QUIC}}},
author = {Iyengar, Jana and Thomson, Martin},
date = {2021-05},
number = {RFC 9000},
institution = {{Internet Engineering Task Force}},
doi = {10.17487/RFC9000},
url = {https://datatracker.ietf.org/doc/draft-ietf-quic-transport/00},
urldate = {2024-02-22},
abstract = {This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.},
pagetotal = {151},
file = {/home/dnoland/Zotero/storage/2MU8SZLX/Iyengar and Thomson - 2021 - QUIC A UDP-Based Multiplexed and Secure Transport.pdf}
}

@report{ietf/quic/rfc9000,
type = {Request for Comments},
title = {{{QUIC}}: {{A UDP-Based Multiplexed}} and {{Secure Transport}}},
shorttitle = {{{QUIC}}},
author = {Iyengar, Jana and Thomson, Martin},
date = {2021-05},
number = {RFC 9000},
institution = {{Internet Engineering Task Force}},
doi = {10.17487/RFC9000},
url = {https://www.rfc-editor.org/rfc/rfc9000.html},
urldate = {2024-02-20},
abstract = {This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.},
pagetotal = {151},
file = {/home/dnoland/Zotero/storage/Z7L6ZCJJ/Iyengar and Thomson - 2021 - QUIC A UDP-Based Multiplexed and Secure Transport.pdf}
}

@report{ietf/quic/rfc9001,
type = {Request for Comments},
title = {Using {{TLS}} to {{Secure QUIC}}},
author = {Thomson, Martin and Turner, Sean},
date = {2021-05},
number = {RFC 9001},
institution = {{Internet Engineering Task Force}},
doi = {10.17487/RFC9001},
url = {https://datatracker.ietf.org/doc/rfc9001},
urldate = {2024-02-21},
abstract = {This document describes how Transport Layer Security (TLS) is used to secure QUIC.},
pagetotal = {52},
file = {/home/dnoland/Zotero/storage/FPEHAYV5/Thomson and Turner - 2021 - Using TLS to Secure QUIC.pdf}
}

@report{ietf/udp/rfc768,
type = {Request for Comments},
title = {User {{Datagram Protocol}}},
shorttitle = {{{UDP}}},
author = {Postel, Jon},
date = {1980-08-28},
number = {RFC 768},
pages = {3},
institution = {{Internet Engineering Task Force}},
doi = {10.17487/RFC0768},
url = {https://datatracker.ietf.org/doc/rfc768},
urldate = {2024-02-21},
abstract = {This User Datagram Protocol (UDP) is defined to make available a datagram mode of packet-switched computer communication in the environment of an interconnected set of computer networks.},
langid = {english},
pagetotal = {3},
keywords = {formal},
file = {/home/dnoland/Zotero/storage/JQTKNEPQ/1980 - User Datagram Protocol.pdf}
}

@inreference{wikipedia/quic/2024,
title = {{{QUIC}}},
booktitle = {Wikipedia},
date = {2024-01-20T23:00:10Z},
url = {https://en.wikipedia.org/w/index.php?title=QUIC&oldid=1197534682},
urldate = {2024-02-20},
abstract = {QUIC () is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meeting. QUIC is used by more than half of all connections from the Chrome web browser to Google's servers. Microsoft Edge (which, after version series 1.x, is a derivative of the open-source Chromium browser), Firefox and Safari support it.Although its name was initially proposed as the acronym for "Quick UDP Internet Connections", IETF's use of the word QUIC is not an acronym; it is simply the name of the protocol. QUIC improves performance of connection-oriented web applications that are currently using TCP. It does this by establishing a number of multiplexed connections between two endpoints using User Datagram Protocol (UDP), and is designed to obsolete TCP at the transport layer for many applications, thus earning the protocol the occasional nickname "TCP/2".QUIC works hand-in-hand with HTTP/2's multiplexed connections, allowing multiple streams of data to reach all the endpoints independently, and hence independent of packet losses involving other streams. In contrast, HTTP/2 hosted on Transmission Control Protocol (TCP) can suffer head-of-line-blocking delays of all multiplexed streams if any of the TCP packets is delayed or lost. QUIC's secondary goals include reduced connection and transport latency, and bandwidth estimation in each direction to avoid congestion. It also moves congestion control algorithms into the user space at both endpoints, rather than the kernel space, which it is claimed will allow these algorithms to improve more rapidly. Additionally, the protocol can be extended with forward error correction (FEC) to further improve performance when errors are expected, and this is seen as the next step in the protocol's evolution. It has been designed to avoid protocol ossification so that it remains evolvable, unlike TCP, which has suffered significant ossification. In June 2015, an Internet Draft of a specification for QUIC was submitted to the IETF for standardization. A QUIC working group was established in 2016. In October 2018, the IETF's HTTP and QUIC Working Groups jointly decided to call the HTTP mapping over QUIC "HTTP/3" in advance of making it a worldwide standard. In May 2021, the IETF standardized QUIC in RFC 9000, supported by RFC 8999, RFC 9001 and RFC 9002. DNS-over-QUIC is another application.},
langid = {english},
annotation = {Page Version ID: 1197534682},
file = {/home/dnoland/Zotero/storage/JHNK9ZBV/QUIC.html}
}
1 change: 1 addition & 0 deletions dpdk-sys/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ description = "Low-level bindings to the Data Plane Development Kit (DPDK)"
bindgen = { workspace = true, features = ["runtime"] }
cc = { workspace = true }
doxygen-rs = { workspace = true }
sysroot-helper = { path = "../sysroot-helper", version = "0.0.1" }

Loading

0 comments on commit ebeb8d4

Please sign in to comment.