€•øZŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ7/translations/zh_CN/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/zh_TW/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/it_IT/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ja_JP/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ko_KR/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/pt_BR/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/sp_SP/networking/devlink/devlink-linecard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒQ/var/lib/git/docbuild/linux/Documentation/networking/devlink/devlink-linecard.rst”h´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒDevlink Line card”h]”hŒDevlink Line card”…””}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒ Background”h]”hŒ Background”…””}”(hhàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÝh²hh³hÇh´KubhŒ paragraph”“”)”}”(hŒ²The ``devlink-linecard`` mechanism is targeted for manipulation of line cards that serve as a detachable PHY modules for modular switch system. Following operations are provided:”h]”(hŒThe ”…””}”(hhðh²hh³Nh´NubhŒliteral”“”)”}”(hŒ``devlink-linecard``”h]”hŒdevlink-linecard”…””}”(hhúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhhðubhŒš mechanism is targeted for manipulation of line cards that serve as a detachable PHY modules for modular switch system. Following operations are provided:”…””}”(hhðh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K hhÝh²hubhŒ block_quote”“”)”}”(hŒ”* Get a list of supported line card types. * Provision of a slot with specific line card type. * Get and monitor of line card state and its change. ”h]”hŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ(Get a list of supported line card types.”h]”hï)”}”(hj!h]”hŒ(Get a list of supported line card types.”…””}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒ1Provision of a slot with specific line card type.”h]”hï)”}”(hj8h]”hŒ1Provision of a slot with specific line card type.”…””}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)”}”(hŒ3Get and monitor of line card state and its change. ”h]”hï)”}”(hŒ2Get and monitor of line card state and its change.”h]”hŒ2Get and monitor of line card state and its change.”…””}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1jh³hÇh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KhhÝh²hubhï)”}”(hŒôLine card according to the type may contain one or more gearboxes to mux the lanes with certain speed to multiple ports with lanes of different speed. Line card ensures N:M mapping between the switch ASIC modules and physical front panel ports.”h]”hŒôLine card according to the type may contain one or more gearboxes to mux the lanes with certain speed to multiple ports with lanes of different speed. Line card ensures N:M mapping between the switch ASIC modules and physical front panel ports.”…””}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KhhÝh²hubeh}”(h]”Œ background”ah ]”h"]”Œ background”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒOverview”h]”hŒOverview”…””}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj‰h²hh³hÇh´Kubhï)”}”(hŒ}Each line card devlink object is created by device driver, according to the physical line card slots available on the device.”h]”hŒ}Each line card devlink object is created by device driver, according to the physical line card slots available on the device.”…””}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khj‰h²hubhï)”}”(hŒôSimilar to splitter cable, where the device might have no way of detection of the splitter cable geometry, the device might not have a way to detect line card type. For that devices, concept of provisioning is introduced. It allows the user to:”h]”hŒôSimilar to splitter cable, where the device might have no way of detection of the splitter cable geometry, the device might not have a way to detect line card type. For that devices, concept of provisioning is introduced. It allows the user to:”…””}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´Khj‰h²hubj)”}”(hXs* Provision a line card slot with certain line card type - Device driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type * Manipulate of line card entities even without line card being physically connected or powered-up * Setup splitter cable on line card ports - As on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port * Configure devlink ports and netdevices ”h]”j)”}”(hhh]”(j)”}”(hXProvision a line card slot with certain line card type - Device driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”h]”(hï)”}”(hŒ6Provision a line card slot with certain line card type”h]”hŒ6Provision a line card slot with certain line card type”…””}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K"hj½ubj)”}”(hhh]”j)”}”(hŒÚDevice driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”h]”hï)”}”(hŒÚDevice driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”h]”hŒÚDevice driver would instruct the ASIC to prepare all resources accordingly. The device driver would create all instances, namely devlink port and netdevices that reside on the line card, according to the line card type”…””}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K$hjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÏubah}”(h]”h ]”h"]”h$]”h&]”jkŒ-”uh1jh³hÇh´K$hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjºubj)”}”(hŒ`Manipulate of line card entities even without line card being physically connected or powered-up”h]”hï)”}”(hŒ`Manipulate of line card entities even without line card being physically connected or powered-up”h]”hŒ`Manipulate of line card entities even without line card being physically connected or powered-up”…””}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K(hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjºubj)”}”(hŒ·Setup splitter cable on line card ports - As on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”h]”(hï)”}”(hŒ'Setup splitter cable on line card ports”h]”hŒ'Setup splitter cable on line card ports”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K*hjubj)”}”(hhh]”j)”}”(hŒˆAs on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”h]”hï)”}”(hŒˆAs on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”h]”hŒˆAs on the ordinary ports, user may provision a splitter cable of a certain type, without the need to be physically connected to the port”…””}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K,hj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj!ubah}”(h]”h ]”h"]”h$]”h&]”jkjðuh1jh³hÇh´K,hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjºubj)”}”(hŒ'Configure devlink ports and netdevices ”h]”hï)”}”(hŒ&Configure devlink ports and netdevices”h]”hŒ&Configure devlink ports and netdevices”…””}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K/hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjºubeh}”(h]”h ]”h"]”h$]”h&]”jkjluh1jh³hÇh´K"hj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K"hj‰h²hubhï)”}”(hŒ(Netdevice carrier is decided as follows:”h]”hŒ(Netdevice carrier is decided as follows:”…””}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K1hj‰h²hubj)”}”(hŒ®* Line card is not inserted or powered-down - The carrier is always down * Line card is inserted and powered up - The carrier is decided as for ordinary port netdevice ”h]”j)”}”(hhh]”(j)”}”(hŒGLine card is not inserted or powered-down - The carrier is always down”h]”(hï)”}”(hŒ)Line card is not inserted or powered-down”h]”hŒ)Line card is not inserted or powered-down”…””}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K3hjubj)”}”(hhh]”j)”}”(hŒThe carrier is always down”h]”hï)”}”(hj˜h]”hŒThe carrier is always down”…””}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K5hj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ubah}”(h]”h ]”h"]”h$]”h&]”jkjðuh1jh³hÇh´K5hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj~ubj)”}”(hŒ^Line card is inserted and powered up - The carrier is decided as for ordinary port netdevice ”h]”(hï)”}”(hŒ$Line card is inserted and powered up”h]”hŒ$Line card is inserted and powered up”…””}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K6hj¹ubj)”}”(hhh]”j)”}”(hŒ6The carrier is decided as for ordinary port netdevice ”h]”hï)”}”(hŒ5The carrier is decided as for ordinary port netdevice”h]”hŒ5The carrier is decided as for ordinary port netdevice”…””}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K8hjÎubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjËubah}”(h]”h ]”h"]”h$]”h&]”jkjðuh1jh³hÇh´K8hj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj~ubeh}”(h]”h ]”h"]”h$]”h&]”jkjluh1jh³hÇh´K3hjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K3hj‰h²hubeh}”(h]”Œoverview”ah ]”h"]”Œoverview”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KubhÉ)”}”(hhh]”(hÎ)”}”(hŒLine card state”h]”hŒLine card state”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´K;ubhï)”}”(hŒKThe ``devlink-linecard`` mechanism supports the following line card states:”h]”(hŒThe ”…””}”(hjh²hh³Nh´Nubhù)”}”(hŒ``devlink-linecard``”h]”hŒdevlink-linecard”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhjubhŒ3 mechanism supports the following line card states:”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K=hjh²hubj)”}”(hX* ``unprovisioned``: Line card is not provisioned on the slot. * ``unprovisioning``: Line card slot is currently being unprovisioned. * ``provisioning``: Line card slot is currently in a process of being provisioned with a line card type. * ``provisioning_failed``: Provisioning was not successful. * ``provisioned``: Line card slot is provisioned with a type. * ``active``: Line card is powered-up and active. ”h]”j)”}”(hhh]”(j)”}”(hŒ<``unprovisioned``: Line card is not provisioned on the slot.”h]”hï)”}”(hj@h]”(hù)”}”(hŒ``unprovisioned``”h]”hŒ unprovisioned”…””}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhjBubhŒ+: Line card is not provisioned on the slot.”…””}”(hjBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K?hj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ubj)”}”(hŒD``unprovisioning``: Line card slot is currently being unprovisioned.”h]”hï)”}”(hjeh]”(hù)”}”(hŒ``unprovisioning``”h]”hŒunprovisioning”…””}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhjgubhŒ2: Line card slot is currently being unprovisioned.”…””}”(hjgh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´K@hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ubj)”}”(hŒf``provisioning``: Line card slot is currently in a process of being provisioned with a line card type.”h]”hï)”}”(hŒf``provisioning``: Line card slot is currently in a process of being provisioned with a line card type.”h]”(hù)”}”(hŒ``provisioning``”h]”hŒ provisioning”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhjŒubhŒV: Line card slot is currently in a process of being provisioned with a line card type.”…””}”(hjŒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KAhjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ubj)”}”(hŒ9``provisioning_failed``: Provisioning was not successful.”h]”hï)”}”(hj°h]”(hù)”}”(hŒ``provisioning_failed``”h]”hŒprovisioning_failed”…””}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhj²ubhŒ": Provisioning was not successful.”…””}”(hj²h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KChj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ubj)”}”(hŒ;``provisioned``: Line card slot is provisioned with a type.”h]”hï)”}”(hjÕh]”(hù)”}”(hŒ``provisioned``”h]”hŒ provisioned”…””}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhj×ubhŒ,: Line card slot is provisioned with a type.”…””}”(hj×h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KDhjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ubj)”}”(hŒ0``active``: Line card is powered-up and active. ”h]”hï)”}”(hŒ/``active``: Line card is powered-up and active.”h]”(hù)”}”(hŒ ``active``”h]”hŒactive”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhjüubhŒ%: Line card is powered-up and active.”…””}”(hjüh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KEhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj;ubeh}”(h]”h ]”h"]”h$]”h&]”jkjluh1jh³hÇh´K?hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K?hjh²hubhï)”}”(hŒ]The following diagram provides a general overview of ``devlink-linecard`` state transitions::”h]”(hŒ5The following diagram provides a general overview of ”…””}”(hj*h²hh³Nh´Nubhù)”}”(hŒ``devlink-linecard``”h]”hŒdevlink-linecard”…””}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1høhj*ubhŒ state transitions:”…””}”(hj*h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hîh³hÇh´KGhjh²hubhŒ literal_block”“”)”}”(hX¯ +-------------------------+ | | +----------------------------------> unprovisioned | | | | | +--------|-------^--------+ | | | | | | | +--------v-------|--------+ | | | | | provisioning | | | | | +------------|------------+ | | | +-----------------------------+ | | | | +------------v------------+ +------------v------------+ +-------------------------+ | | | | ----> | +----- provisioning_failed | | provisioned | | active | | | | | <---- | | +------------^------------+ +------------|------------+ +-------------------------+ | | | | | | | | +------------v------------+ | | | | | | | unprovisioning | | | | | | | +------------|------------+ | | | | +-----------------------------+ | | +-----------------------------------------------+”h]”hX¯ +-------------------------+ | | +----------------------------------> unprovisioned | | | | | +--------|-------^--------+ | | | | | | | +--------v-------|--------+ | | | | | provisioning | | | | | +------------|------------+ | | | +-----------------------------+ | | | | +------------v------------+ +------------v------------+ +-------------------------+ | | | | ----> | +----- provisioning_failed | | provisioned | | active | | | | | <---- | | +------------^------------+ +------------|------------+ +-------------------------+ | | | | | | | | +------------v------------+ | | | | | | | unprovisioning | | | | | | | +------------|------------+ | | | | +-----------------------------+ | | +-----------------------------------------------+”…””}”hjLsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jJh³hÇh´KJhjh²hubeh}”(h]”Œline-card-state”ah ]”h"]”Œline card state”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K;ubhÉ)”}”(hhh]”(hÎ)”}”(hŒ Example usage”h]”hŒ Example usage”…””}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjbh²hh³hÇh´KlubjK)”}”(hXq$ devlink lc show [ DEV [ lc LC_INDEX ] ] $ devlink lc set DEV lc LC_INDEX [ { type LC_TYPE | notype } ] # Show current line card configuration and status for all slots: $ devlink lc # Set slot 8 to be provisioned with type "16x100G": $ devlink lc set pci/0000:01:00.0 lc 8 type 16x100G # Set slot 8 to be unprovisioned: $ devlink lc set pci/0000:01:00.0 lc 8 notype”h]”hXq$ devlink lc show [ DEV [ lc LC_INDEX ] ] $ devlink lc set DEV lc LC_INDEX [ { type LC_TYPE | notype } ] # Show current line card configuration and status for all slots: $ devlink lc # Set slot 8 to be provisioned with type "16x100G": $ devlink lc set pci/0000:01:00.0 lc 8 type 16x100G # Set slot 8 to be unprovisioned: $ devlink lc set pci/0000:01:00.0 lc 8 notype”…””}”hjssbah}”(h]”h ]”h"]”h$]”h&]”Œforce”‰Œhighlight_args”}”hÅhÆŒlanguage”Œshell”uh1jJh³hÇh´Knhjbh²hubeh}”(h]”Œ example-usage”ah ]”h"]”Œ example usage”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´Klubeh}”(h]”Œdevlink-line-card”ah ]”h"]”Œdevlink line card”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j¹Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j“jj†jƒjjj_j\j‹jˆuŒ nametypes”}”(j“‰j†‰j‰j_‰j‹‰uh}”(jhÊjƒhÝjj‰j\jjˆjbuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.