Tentative "Babel protocol extension" section

This commit is contained in:
Théophile Bastian 2020-07-21 15:12:40 +02:00
parent 686280811a
commit 3051695878

View file

@ -100,9 +100,72 @@ draft-bastian-babel-v4ov6}}
\item IPv6 has \alert{link-local} and \alert{automatic addresses} \item IPv6 has \alert{link-local} and \alert{automatic addresses}
(SLAAC) (SLAAC)
\begin{itemize} \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{itemize} \end{itemize}
\end{frame} \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} \end{document}