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}
|
\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}
|
||||||
|
|
Loading…
Reference in a new issue