Xsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget"/translations/zh_CN/networking/ilamodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/zh_TW/networking/ilamodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/it_IT/networking/ilamodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ja_JP/networking/ilamodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ko_KR/networking/ilamodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/sp_SP/networking/ilamodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhhjubjL)}(hhh]h)}(hRAn end host that is capable of performing ILA translations on transmit or receive.h]hRAn end host that is capable of performing ILA translations on transmit or receive.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK=hjubah}(h]h ]h"]h$]h&]uh1jKhjubeh}(h]h ]h"]h$]h&]uh1j5hhhK>hjubah}(h]h ]h"]h$]h&]uh1j0hj~ubah}(h]h ]h"]h$]h&]uh1j*hj'ubj+)}(hvILA router A network node that performs ILA translation and forwarding of translated packets. h]j1)}(hhh]j6)}(h^ILA router A network node that performs ILA translation and forwarding of translated packets. h](j<)}(h ILA routerh]h ILA router}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j;hhhKBhjubjL)}(hhh]h)}(hRA network node that performs ILA translation and forwarding of translated packets.h]hRA network node that performs ILA translation and forwarding of translated packets.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKAhjubah}(h]h ]h"]h$]h&]uh1jKhjubeh}(h]h ]h"]h$]h&]uh1j5hhhKBhjubah}(h]h ]h"]h$]h&]uh1j0hjubah}(h]h ]h"]h$]h&]uh1j*hj'ubj+)}(hwILA forwarding cache A type of ILA router that only maintains a working set cache of mappings. h]j1)}(hhh]j6)}(h_ILA forwarding cache A type of ILA router that only maintains a working set cache of mappings. h](j<)}(hILA forwarding cacheh]hILA forwarding cache}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j;hhhKFhj ubjL)}(hhh]h)}(hIA type of ILA router that only maintains a working set cache of mappings.h]hIA type of ILA router that only maintains a working set cache of mappings.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubah}(h]h ]h"]h$]h&]uh1jKhj ubeh}(h]h ]h"]h$]h&]uh1j5hhhKFhjubah}(h]h ]h"]h$]h&]uh1j0hjubah}(h]h ]h"]h$]h&]uh1j*hj'ubj+)}(hILA node A network node capable of performing ILA translations. This can be an ILA router, ILA forwarding cache, or ILA host. h]j1)}(hhh]j6)}(hILA node A network node capable of performing ILA translations. This can be an ILA router, ILA forwarding cache, or ILA host. h](j<)}(hILA nodeh]hILA node}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1j;hhhKKhjKubjL)}(hhh]h)}(htA network node capable of performing ILA translations. This can be an ILA router, ILA forwarding cache, or ILA host.h]htA network node capable of performing ILA translations. This can be an ILA router, ILA forwarding cache, or ILA host.}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhj]ubah}(h]h ]h"]h$]h&]uh1jKhjKubeh}(h]h ]h"]h$]h&]uh1j5hhhKKhjHubah}(h]h ]h"]h$]h&]uh1j0hjDubah}(h]h ]h"]h$]h&]uh1j*hj'ubeh}(h]h ]h"]h$]h&]bullet-uh1j%hhhK!hj!ubah}(h]h ]h"]h$]h&]uh1jhhhK!hjhhubeh}(h]ila-terminologyah ]h"]ila terminologyah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Operationh]h Operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKNubh)}(h.There are two fundamental operations with ILA:h]h.There are two fundamental operations with ILA:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjhhubj )}(h- Translate a SIR address to an ILA address. This is performed on ingress to an ILA overlay. - Translate an ILA address to a SIR address. This is performed on egress from the ILA overlay. h]j&)}(hhh](j+)}(h[Translate a SIR address to an ILA address. This is performed on ingress to an ILA overlay. h]h)}(hZTranslate a SIR address to an ILA address. This is performed on ingress to an ILA overlay.h]hZTranslate a SIR address to an ILA address. This is performed on ingress to an ILA overlay.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1j*hjubj+)}(h]Translate an ILA address to a SIR address. This is performed on egress from the ILA overlay. h]h)}(h\Translate an ILA address to a SIR address. This is performed on egress from the ILA overlay.h]h\Translate an ILA address to a SIR address. This is performed on egress from the ILA overlay.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1j*hjubeh}(h]h ]h"]h$]h&]jjuh1j%hhhKRhjubah}(h]h ]h"]h$]h&]uh1jhhhKRhjhhubh)}(hILA can be deployed either on end hosts or intermediate devices in the network; these are provided by "ILA hosts" and "ILA routers" respectively. Configuration and datapath for these two points of deployment is somewhat different.h]hILA can be deployed either on end hosts or intermediate devices in the network; these are provided by “ILA hosts” and “ILA routers” respectively. Configuration and datapath for these two points of deployment is somewhat different.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjhhubh)}(hhThe diagram below illustrates the flow of packets through ILA as well as showing ILA hosts and routers::h]hgThe diagram below illustrates the flow of packets through ILA as well as showing ILA hosts and routers:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjhhubh literal_block)}(hXa +--------+ +--------+ | Host A +-+ +--->| Host B | | | | (2) ILA (') | | +--------+ | ...addressed.... ( ) +--------+ V +---+--+ . packet . +---+--+ (_) (1) SIR | | ILA |----->-------->---->| ILA | | (3) SIR addressed +->|router| . . |router|->-+ addressed packet +---+--+ . IPv6 . +---+--+ packet / . Network . / . . +--+-++--------+ +--------+ / . . |ILA || Host | | Host +--+ . .- -|host|| | | | . . +--+-++--------+ +--------+ ................h]hXa +--------+ +--------+ | Host A +-+ +--->| Host B | | | | (2) ILA (') | | +--------+ | ...addressed.... ( ) +--------+ V +---+--+ . packet . +---+--+ (_) (1) SIR | | ILA |----->-------->---->| ILA | | (3) SIR addressed +->|router| . . |router|->-+ addressed packet +---+--+ . IPv6 . +---+--+ packet / . Network . / . . +--+-++--------+ +--------+ / . . |ILA || Host | | Host +--+ . .- -|host|| | | | . . +--+-++--------+ +--------+ ................}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK`hjhhubeh}(h] operationah ]h"] operationah$]h&]uh1hhhhhhhhKNubh)}(hhh](h)}(hTransport checksum handlingh]hTransport checksum handling}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hhhhhKqubh)}(hX=When an address is translated by ILA, an encapsulated transport checksum that includes the translated address in a pseudo header may be rendered incorrect on the wire. This is a problem for intermediate devices, including checksum offload in NICs, that process the checksum. There are three options to deal with this:h]hX=When an address is translated by ILA, an encapsulated transport checksum that includes the translated address in a pseudo header may be rendered incorrect on the wire. This is a problem for intermediate devices, including checksum offload in NICs, that process the checksum. There are three options to deal with this:}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshj2hhubj&)}(hhh](j+)}(hno action Allow the checksum to be incorrect on the wire. Before a receiver verifies a checksum the ILA to SIR address translation must be done. h]j1)}(hhh]j6)}(hno action Allow the checksum to be incorrect on the wire. Before a receiver verifies a checksum the ILA to SIR address translation must be done. h](j<)}(hDno action Allow the checksum to be incorrect on the wire. Beforeh]hDno action Allow the checksum to be incorrect on the wire. Before}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1j;hhhK{hj[ubjL)}(hhh]h)}(hOa receiver verifies a checksum the ILA to SIR address translation must be done.h]hOa receiver verifies a checksum the ILA to SIR address translation must be done.}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhjmubah}(h]h ]h"]h$]h&]uh1jKhj[ubeh}(h]h ]h"]h$]h&]uh1j5hhhK{hjXubah}(h]h ]h"]h$]h&]uh1j0hjTubah}(h]h ]h"]h$]h&]uh1j*hjQhhhNhNubj+)}(hXadjust transport checksum When ILA translation is performed the packet is parsed and if a transport layer checksum is found then it is adjusted to reflect the correct checksum per the translated address. h]j1)}(hhh]j6)}(hadjust transport checksum When ILA translation is performed the packet is parsed and if a transport layer checksum is found then it is adjusted to reflect the correct checksum per the translated address. h](j<)}(hadjust transport checksumh]hadjust transport checksum}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j;hhhKhjubjL)}(hhh]h)}(hWhen ILA translation is performed the packet is parsed and if a transport layer checksum is found then it is adjusted to reflect the correct checksum per the translated address.h]hWhen ILA translation is performed the packet is parsed and if a transport layer checksum is found then it is adjusted to reflect the correct checksum per the translated address.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK~hjubah}(h]h ]h"]h$]h&]uh1jKhjubeh}(h]h ]h"]h$]h&]uh1j5hhhKhjubah}(h]h ]h"]h$]h&]uh1j0hjubah}(h]h ]h"]h$]h&]uh1j*hjQhhhNhNubj+)}(hXchecksum neutral mapping When an address is translated the difference can be offset elsewhere in a part of the packet that is covered by the checksum. The low order sixteen bits of the identifier are used. This method is preferred since it doesn't require parsing a packet beyond the IP header and in most cases the adjustment can be precomputed and saved with the mapping. h]j1)}(hhh]j6)}(hXvchecksum neutral mapping When an address is translated the difference can be offset elsewhere in a part of the packet that is covered by the checksum. The low order sixteen bits of the identifier are used. This method is preferred since it doesn't require parsing a packet beyond the IP header and in most cases the adjustment can be precomputed and saved with the mapping. h](j<)}(hchecksum neutral mappingh]hchecksum neutral mapping}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j;hhhKhjubjL)}(hhh]h)}(hX\When an address is translated the difference can be offset elsewhere in a part of the packet that is covered by the checksum. The low order sixteen bits of the identifier are used. This method is preferred since it doesn't require parsing a packet beyond the IP header and in most cases the adjustment can be precomputed and saved with the mapping.h]hX^When an address is translated the difference can be offset elsewhere in a part of the packet that is covered by the checksum. The low order sixteen bits of the identifier are used. This method is preferred since it doesn’t require parsing a packet beyond the IP header and in most cases the adjustment can be precomputed and saved with the mapping.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jKhjubeh}(h]h ]h"]h$]h&]uh1j5hhhKhjubah}(h]h ]h"]h$]h&]uh1j0hjubah}(h]h ]h"]h$]h&]uh1j*hjQhhhNhNubeh}(h]h ]h"]h$]h&]jjuh1j%hhhKyhj2hhubh)}(hXNote that the checksum neutral adjustment affects the low order sixteen bits of the identifier. When ILA to SIR address translation is done on egress the low order bits are restored to the original value which restores the identifier as it was originally sent.h]hXNote that the checksum neutral adjustment affects the low order sixteen bits of the identifier. When ILA to SIR address translation is done on egress the low order bits are restored to the original value which restores the identifier as it was originally sent.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj2hhubeh}(h]transport-checksum-handlingah ]h"]transport checksum handlingah$]h&]uh1hhhhhhhhKqubh)}(hhh](h)}(hIdentifier typesh]hIdentifier types}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6hhhhhKubh)}(hCILA defines different types of identifiers for different use cases.h]hCILA defines different types of identifiers for different use cases.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6hhubh)}(hThe defined types are:h]hThe defined types are:}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6hhubj )}(hX0: interface identifier 1: locally unique identifier 2: virtual networking identifier for IPv4 address 3: virtual networking identifier for IPv6 unicast address 4: virtual networking identifier for IPv6 multicast address 5: non-local address identifier h](h)}(h0: interface identifierh]h0: interface identifier}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubh)}(h1: locally unique identifierh]h1: locally unique identifier}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubh)}(h12: virtual networking identifier for IPv4 addressh]h12: virtual networking identifier for IPv4 address}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubh)}(h93: virtual networking identifier for IPv6 unicast addressh]h93: virtual networking identifier for IPv6 unicast address}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubh)}(h;4: virtual networking identifier for IPv6 multicast addressh]h;4: virtual networking identifier for IPv6 multicast address}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubh)}(h5: non-local address identifierh]h5: non-local address identifier}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjcubeh}(h]h ]h"]h$]h&]uh1jhhhKhj6hhubh)}(hIn the current implementation of kernel ILA only locally unique identifiers (LUID) are supported. LUID allows for a generic, unformatted 64 bit identifier.h]hIn the current implementation of kernel ILA only locally unique identifiers (LUID) are supported. LUID allows for a generic, unformatted 64 bit identifier.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6hhubeh}(h]identifier-typesah ]h"]identifier typesah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hIdentifier formatsh]hIdentifier formats}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hKernel ILA supports two optional fields in an identifier for formatting: "C-bit" and "identifier type". The presence of these fields is determined by configuration as demonstrated below.h]hKernel ILA supports two optional fields in an identifier for formatting: “C-bit” and “identifier type”. The presence of these fields is determined by configuration as demonstrated below.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hIf the identifier type is present it occupies the three highest order bits of an identifier. The possible values are given in the above list.h]hIf the identifier type is present it occupies the three highest order bits of an identifier. The possible values are given in the above list.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hIf the C-bit is present, this is used as an indication that checksum neutral mapping has been done. The C-bit can only be set in an ILA address, never a SIR address.h]hIf the C-bit is present, this is used as an indication that checksum neutral mapping has been done. The C-bit can only be set in an ILA address, never a SIR address.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hIn the simplest format the identifier types, C-bit, and checksum adjustment value are not present so an identifier is considered an unstructured sixty-four bit value::h]hIn the simplest format the identifier types, C-bit, and checksum adjustment value are not present so an identifier is considered an unstructured sixty-four bit value:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+h]hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+}hj sbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubh)}(hThe checksum neutral adjustment may be configured to always be present using neutral-map-auto. In this case there is no C-bit, but the checksum adjustment is in the low order 16 bits. The identifier is still sixty-four bits::h]hThe checksum neutral adjustment may be configured to always be present using neutral-map-auto. In this case there is no C-bit, but the checksum adjustment is in the low order 16 bits. The identifier is still sixty-four bits:}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+h]hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+}hj<sbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubh)}(h{The C-bit may used to explicitly indicate that checksum neutral mapping has been applied to an ILA address. The format is::h]hzThe C-bit may used to explicitly indicate that checksum neutral mapping has been applied to an ILA address. The format is:}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |C| Identifier | | +-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+h]hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |C| Identifier | | +-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+}hjXsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubh)}(hThe identifier type field may be present to indicate the identifier type. If it is not present then the type is inferred based on mapping configuration. The checksum neutral adjustment may automatically used with the identifier type as illustrated below::h]hThe identifier type field may be present to indicate the identifier type. If it is not present then the type is inferred based on mapping configuration. The checksum neutral adjustment may automatically used with the identifier type as illustrated below:}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type| Identifier | +-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+h]hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type| Identifier | +-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+}hjtsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubh)}(hfIf the identifier type and the C-bit can be present simultaneously so the identifier format would be::h]heIf the identifier type and the C-bit can be present simultaneously so the identifier format would be:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type|C| Identifier | +-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+h]hXI+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type|C| Identifier | +-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Checksum-neutral adjustment | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhjhhubeh}(h]identifier-formatsah ]h"]identifier formatsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Configurationh]h Configuration}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hThere are two methods to configure ILA mappings. One is by using LWT routes and the other is ila_xlat (called from NFHOOK PREROUTING hook). ila_xlat is intended to be used in the receive path for ILA hosts .h]hThere are two methods to configure ILA mappings. One is by using LWT routes and the other is ila_xlat (called from NFHOOK PREROUTING hook). ila_xlat is intended to be used in the receive path for ILA hosts .}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hjAn ILA router has also been implemented in XDP. Description of that is outside the scope of this document.h]hjAn ILA router has also been implemented in XDP. Description of that is outside the scope of this document.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h#The usage of for ILA LWT routes is:h]h#The usage of for ILA LWT routes is:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hKip route add DEST/128 encap ila LOC csum-mode MODE ident-type TYPE via ADDRh]hKip route add DEST/128 encap ila LOC csum-mode MODE ident-type TYPE via ADDR}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX)Destination (DEST) can either be a SIR address (for an ILA host or ingress ILA router) or an ILA address (egress ILA router). LOC is the sixty-four bit locator (with format W:X:Y:Z) that overwrites the upper sixty-four bits of the destination address. Checksum MODE is one of "no-action", "adj-transport", "neutral-map", and "neutral-map-auto". If neutral-map is set then the C-bit will be present. Identifier TYPE one of "luid" or "use-format." In the case of use-format, the identifier type field is present and the effective type is taken from that.h]hXADestination (DEST) can either be a SIR address (for an ILA host or ingress ILA router) or an ILA address (egress ILA router). LOC is the sixty-four bit locator (with format W:X:Y:Z) that overwrites the upper sixty-four bits of the destination address. Checksum MODE is one of “no-action”, “adj-transport”, “neutral-map”, and “neutral-map-auto”. If neutral-map is set then the C-bit will be present. Identifier TYPE one of “luid” or “use-format.” In the case of use-format, the identifier type field is present and the effective type is taken from that.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hThe usage of ila_xlat is:h]hThe usage of ila_xlat is:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hAip ila add loc_match MATCH loc LOC csum-mode MODE ident-type TYPEh]hAip ila add loc_match MATCH loc LOC csum-mode MODE ident-type TYPE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubh)}(hMATCH indicates the incoming locator that must be matched to apply a the translaiton. LOC is the locator that overwrites the upper sixty-four bits of the destination address. MODE and TYPE have the same meanings as described above.h]hMATCH indicates the incoming locator that must be matched to apply a the translaiton. LOC is the locator that overwrites the upper sixty-four bits of the destination address. MODE and TYPE have the same meanings as described above.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhMhjhhubeh}(h] configurationah ]h"] configurationah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Some examplesh]h Some examples}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/hhhhhM ubj)}(hX# Configure an ILA route that uses checksum neutral mapping as well # as type field. Note that the type field is set in the SIR address # (the 2000 implies type is 1 which is LUID). ip route add 3333:0:0:1:2000:0:1:87/128 encap ila 2001:0:87:0 \ csum-mode neutral-map ident-type use-format # Configure an ILA LWT route that uses auto checksum neutral mapping # (no C-bit) and configure identifier type to be LUID so that the # identifier type field will not be present. ip route add 3333:0:0:1:2000:0:2:87/128 encap ila 2001:0:87:1 \ csum-mode neutral-map-auto ident-type luid ila_xlat configuration # Configure an ILA to SIR mapping that matches a locator and overwrites # it with a SIR address (3333:0:0:1 in this example). The C-bit and # identifier field are used. ip ila add loc_match 2001:0:119:0 loc 3333:0:0:1 \ csum-mode neutral-map-auto ident-type use-format # Configure an ILA to SIR mapping where checksum neutral is automatically # set without the C-bit and the identifier type is configured to be LUID # so that the identifier type field is not present. ip ila add loc_match 2001:0:119:0 loc 3333:0:0:1 \ csum-mode neutral-map-auto ident-type use-formath]hX# Configure an ILA route that uses checksum neutral mapping as well # as type field. Note that the type field is set in the SIR address # (the 2000 implies type is 1 which is LUID). ip route add 3333:0:0:1:2000:0:1:87/128 encap ila 2001:0:87:0 \ csum-mode neutral-map ident-type use-format # Configure an ILA LWT route that uses auto checksum neutral mapping # (no C-bit) and configure identifier type to be LUID so that the # identifier type field will not be present. ip route add 3333:0:0:1:2000:0:2:87/128 encap ila 2001:0:87:1 \ csum-mode neutral-map-auto ident-type luid ila_xlat configuration # Configure an ILA to SIR mapping that matches a locator and overwrites # it with a SIR address (3333:0:0:1 in this example). The C-bit and # identifier field are used. ip ila add loc_match 2001:0:119:0 loc 3333:0:0:1 \ csum-mode neutral-map-auto ident-type use-format # Configure an ILA to SIR mapping where checksum neutral is automatically # set without the C-bit and the identifier type is configured to be LUID # so that the identifier type field is not present. ip ila add loc_match 2001:0:119:0 loc 3333:0:0:1 \ csum-mode neutral-map-auto ident-type use-format}hj@sbah}(h]h ]h"]h$]h&]hhuh1jhhhMhj/hhubeh}(h] some-examplesah ]h"] some examplesah$]h&]uh1hhhhhhhhM ubeh}(h]!identifier-locator-addressing-ilaah ]h"]#identifier locator addressing (ila)ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j[jXj jjjj/j,j3j0jjjjj,j)jSjPu nametypes}(j[j jj/j3jjj,jSuh}(jXhjhjjj,jj0j2jj6jjj)jjPj/u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.