\sphinx.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/batman-advmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/zh_TW/networking/batman-advmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/it_IT/networking/batman-advmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ja_JP/networking/batman-advmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/ko_KR/networking/batman-advmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget)/translations/sp_SP/networking/batman-advmodnameN 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:spacepreserveuh1hhhhhhC/var/lib/git/docbuild/linux/Documentation/networking/batman-adv.rsthKubhsection)}(hhh](htitle)}(h batman-advh]h batman-adv}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hX_Batman advanced is a new approach to wireless networking which does no longer operate on the IP basis. Unlike the batman daemon, which exchanges information using UDP packets and sets routing tables, batman-advanced operates on ISO/OSI Layer 2 only and uses and routes (or better: bridges) Ethernet Frames. It emulates a virtual network switch of all nodes participating. Therefore all nodes appear to be link local, thus all higher operating protocols won't be affected by any changes within the network. You can run almost any protocol above batman advanced, prominent examples are: IPv4, IPv6, DHCP, IPX.h]hXaBatman advanced is a new approach to wireless networking which does no longer operate on the IP basis. Unlike the batman daemon, which exchanges information using UDP packets and sets routing tables, batman-advanced operates on ISO/OSI Layer 2 only and uses and routes (or better: bridges) Ethernet Frames. It emulates a virtual network switch of all nodes participating. Therefore all nodes appear to be link local, thus all higher operating protocols won’t be affected by any changes within the network. You can run almost any protocol above batman advanced, prominent examples are: IPv4, IPv6, DHCP, IPX.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hBatman advanced was implemented as a Linux kernel driver to reduce the overhead to a minimum. It does not depend on any (other) network driver, and can be used on wifi as well as ethernet lan, vpn, etc ... (anything with ethernet-style layer 2).h]hBatman advanced was implemented as a Linux kernel driver to reduce the overhead to a minimum. It does not depend on any (other) network driver, and can be used on wifi as well as ethernet lan, vpn, etc ... (anything with ethernet-style layer 2).}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h Configurationh]h Configuration}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(h-Load the batman-adv module into your kernel::h]h,Load the batman-adv module into your kernel:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh literal_block)}(h$ insmod batman-adv.koh]h$ insmod batman-adv.ko}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhKhhhhubh)}(hThe module is now waiting for activation. You must add some interfaces on which batman-adv can operate. The batman-adv mesh-interface can be created using the iproute2 tool ``ip``::h](hThe module is now waiting for activation. You must add some interfaces on which batman-adv can operate. The batman-adv mesh-interface can be created using the iproute2 tool }(hjhhhNhNubhliteral)}(h``ip``h]hip}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubj)}(h#$ ip link add name bat0 type batadvh]h#$ ip link add name bat0 type batadv}hj8sbah}(h]h ]h"]h$]h&]hhuh1jhhhK!hhhhubh)}(hJTo activate a given interface simply attach it to the ``bat0`` interface::h](h6To activate a given interface simply attach it to the }(hjFhhhNhNubj)}(h``bat0``h]hbat0}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjFubh interface:}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK#hhhhubj)}(h"$ ip link set dev eth0 master bat0h]h"$ ip link set dev eth0 master bat0}hjfsbah}(h]h ]h"]h$]h&]hhuh1jhhhK%hhhhubh)}(hyRepeat this step for all interfaces you wish to add. Now batman-adv starts using/broadcasting on this/these interface(s).h]hyRepeat this step for all interfaces you wish to add. Now batman-adv starts using/broadcasting on this/these interface(s).}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hhhhubh)}(hLTo deactivate an interface you have to detach it from the "bat0" interface::h]hOTo deactivate an interface you have to detach it from the “bat0” interface:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hhhhubj)}(h$ ip link set dev eth0 nomasterh]h$ ip link set dev eth0 nomaster}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK,hhhhubh)}(hAThe same can also be done using the batctl interface subcommand::h]h@The same can also be done using the batctl interface subcommand:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hhhhubj)}(hDbatctl -m bat0 interface create batctl -m bat0 interface add -M eth0h]hDbatctl -m bat0 interface create batctl -m bat0 interface add -M eth0}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK0hhhhubh)}(h!To detach eth0 and destroy bat0::h]h To detach eth0 and destroy bat0:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hhhhubj)}(hEbatctl -m bat0 interface del -M eth0 batctl -m bat0 interface destroyh]hEbatctl -m bat0 interface del -M eth0 batctl -m bat0 interface destroy}hjsbah}(h]h ]h"]h$]h&]hhuh1jhhhK5hhhhubh)}(hThere are additional settings for each batadv mesh interface, vlan and hardif which can be modified using batctl. Detailed information about this can be found in its manual.h]hThere are additional settings for each batadv mesh interface, vlan and hardif which can be modified using batctl. Detailed information about this can be found in its manual.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hhhhubh)}(hFor instance, you can check the current originator interval (value in milliseconds which determines how often batman-adv sends its broadcast packets)::h]hFor instance, you can check the current originator interval (value in milliseconds which determines how often batman-adv sends its broadcast packets):}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFor more information, please see the manpage (``man batctl``).h](h.For more information, please see the manpage (}(hjhhhNhNubj)}(h``man batctl``h]h man batctl}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h1batctl is available on https://www.open-mesh.org/h](hbatctl is available on }(hjhhhNhNubh reference)}(hhttps://www.open-mesh.org/h]hhttps://www.open-mesh.org/}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]batctlah ]h"]batctlah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hContacth]hContact}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hh]h)}(hjh](hMarek Lindner <}(hjhhhNhNubj)}(hmarek.lindner@mailbox.orgh]hmarek.lindner@mailbox.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:marek.lindner@mailbox.orguh1jhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h(Simon Wunderlich h]h)}(hj h](hSimon Wunderlich <}(hj hhhNhNubj)}(hsw@simonwunderlich.deh]hsw@simonwunderlich.de}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:sw@simonwunderlich.deuh1jhj ubh>}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1jhhhKhjhhubeh}(h]contactah ]h"]contactah$]h&]uh1hhhhhhhhKubeh}(h] batman-advah ]h"] batman-advah$]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_handlerjmerror_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}(jGjDj=j:jjjjjjj?j<u nametypes}(jGj=jjjj?uh}(jDhj:hjj@jjjjj<ju 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.