Tentative "Babel protocol extension" section
This commit is contained in:
parent
686280811a
commit
3051695878
1 changed files with 64 additions and 1 deletions
65
slides.tex
65
slides.tex
|
@ -100,9 +100,72 @@ draft-bastian-babel-v4ov6}}
|
|||
\item IPv6 has \alert{link-local} and \alert{automatic addresses}
|
||||
(SLAAC)
|
||||
\begin{itemize}
|
||||
\item no need for DHCP or IP configuration \emph{at all}!
|
||||
\item no need for DHCP or IP addresses configuration \emph{at all}!
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]{Supported in Linux since 5.2}
|
||||
\begin{block}{d1566268 -- 2019-04-05 -- ipv4: Allow ipv6 gateway with ipv4 routes}
|
||||
\quad{}Add support for \lstbash{RTA_VIA} and allow an IPv6 nexthop for v4
|
||||
routes.
|
||||
\end{block}
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
\begin{itemize}
|
||||
\item{} Usually, add a v4 route with
|
||||
\begin{lstlisting}[language=iproute, numbers=none]
|
||||
# ip route add 10.42.0.0/16 via 10.40.0.42 dev eno1
|
||||
\end{lstlisting}
|
||||
|
||||
\item{} v4-over-v6 (recent kernel):
|
||||
\begin{lstlisting}[language=iproute, numbers=none]
|
||||
# ip route add 10.42.0.0/16 via inet6 fe80::a0de:baf:b39b dev eno1
|
||||
\end{lstlisting}
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\section{Babel protocol extension}
|
||||
|
||||
\begin{frame}{Advertising v4-over-v6 routes}
|
||||
\textbf{An IPv4 interface} never announces v4-over-v6 routes
|
||||
|
||||
\vspace{1em}
|
||||
|
||||
\textbf{A v6-only interface}
|
||||
\begin{itemize}
|
||||
\item{} \alert{Installs a v4 route} nevertheless when receiving it
|
||||
\item{} \alert{Announces a v4-over-v6 route} for each v4 route
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Introducing a new AE}
|
||||
In Babel, \alert{Address Encodings} (AEs) define the type of address/prefix
|
||||
contained in a TLV.
|
||||
\begin{itemize}
|
||||
\item IPv4 address
|
||||
\item IPv6 address
|
||||
\item link-local IPv6 address
|
||||
\item[$\bigstar$] \alert{v4-over-v6 address}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Backwards compatibility}
|
||||
\textbf{With older implementations}
|
||||
\begin{itemize}
|
||||
\item Ignore v4-over-v6 routes
|
||||
\item No state updates missed
|
||||
\end{itemize}
|
||||
|
||||
\vspace{2em}
|
||||
|
||||
\textbf{With older kernels}
|
||||
\begin{itemize}
|
||||
\item Won't advertise a route that cannot be locally set
|
||||
\item In babeld, detect kernel version
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\end{document}
|
||||
|
|
Loading…
Reference in a new issue