Bmxd

Aus Freifunk Dresden - Anwender-Wiki
Version vom 5. März 2023, 19:51 Uhr von Emploi (Diskussion | Beiträge) (bmxd)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

==== BMX 0.7-freifunk-dresden [md5:7c12c568db112e354a99f8e8d6386fdc] (compatibility version 10)

Hilfe

bmxd -h

Usage: bmxd [LONGOPT[=[-]VAL]] | [-SHORTOPT[SHORTOPT...] [[-]VAL]] ...

 e.g. bmxd dev=eth0 dev=wlan0         # to start daemon on interface eth0 and wlan0
 e.g. bmxd -cid8                      # to connect and show configured options and connevtivity

General configuration options:

--help, -h

       help

--version, -v

       show version

--test

       test remaining args and provide feedback about projected success (without applying them)

--no_fork, -d <VAL> def: -1 range: [ 0 ... 11 ]

       print debug information instead of forking to background


--debug, -d <VAL> def: -1 range: [ 0 ... 11 ]

       show debug information:
        0  : system
        1  : originators
        2  : gateways
        3  : changes
        4  : verbose changes
        5  : profiling (depends on -DDEBUG_MALLOC -DMEMORY_USAGE -DPROFILE_DATA)
        8  : details
        9  : announced networks and interfaces
       10  : links
       11  : testing

--runtime_dir <DIRECTORY>

       set runtime DIR of pid, socket,... - default: /var/run/bmx (must be defined before --connect).

--loop_mode, -l

       put client daemon in loop mode to periodically refresh debug information

--connect, -c

       set client mode. Connect and forward remaining args to main routing daemon

System and policy-routing options:

--base_port <VAL> def: 4305 range: [ 1025 ... 60000 ]

       set udp ports

--prio_rules_offset <VAL> def: 6400 range: [ 3 ... 32765 ]

       set preferences for iproute2-style rules to rt_table (see: man ip)

--rt_table_offset <VAL> def: 64 range: [ 0 ... 252 ]

       set bmx routing-table offset (iproute2 style, see: man ip)

--throw_rules <VAL> def: 1 range: [ 0 , 1 ]

       disable/enable default throw rules

--prio_rules <VAL> def: 1 range: [ 0 , 1 ]

       disable/enable default priority rules

--no_policy_routing, -n

       disable policy routing (throw and priority rules)

--metric <VAL> def: 0 range: [ 0 ... 2147483647 ]

       set non-zero metric for all bmx routes

--lo_rule <VAL> def: 1 range: [ 0 , 1 ]

       disable/enable autoconfiguration of lo rule

--network <NETADDR>/<PREFIX-LENGTH>

       only accept OGM from network


--gateway_tunnel_network <NETADDR>/<PREFIX-LENGTH>

       set network used by gateway nodes


--options, -i

       inform about configured options

--dbg_mute_timeout <VAL> def: 100000 range: [ 0 ... 10000000 ]

       set timeout in ms for muting frequent messages

--throw <NETADDR>/<PREFIX-LENGTH>

       do NOT route packets matching src or dst IP range(s) into gateway tunnel or announced networks
 /network, /n <NETADDR>
               specify network of throw rule
 /netmask, /m <NETMASK>
               specify network of throw rule

--pedantic_cleanup <VAL> def: 0 range: [ 0 , 1 ]

       disable/enable pedantic cleanup of system configuration (like ip_forward,..)
       at program termination. Its generally safer to keep this disabled to not mess up
       with other routing protocols

Protocol options:

--status

       show status


--routes

       show routes


--links

       show links


--originators

       show originators


--dev <interface-name>

       add or change device or its configuration, options for specified device are:
 /ttl, /t <VAL>                         def: 50      range: [ 1 ... 63 ]
               set TTL of generated OGMs
 /clone, /c <VAL>                       def: 200     range: [ 0 ... 400 ]
               broadcast OGMs per ogm-interval with given probability (e.g. 200% will broadcast the same OGM twice)
 /hide, /h <VAL>                        def: 0       range: [ 0 , 1 ]
               disable/enable hiding of OGMs generated to non link-neighboring nodes. Default for non-primary interfaces
 /linklayer, /l <VAL>                   def: 0       range: [ 0 ... 2 ]
               manually set device type for linklayer specific optimization (0=loopback, 1=lan, 2=wlan)

--interfaces

       show configured interfaces

--link_window_size <VAL> def: 20 range: [ 1 ... 250 ]

       set link window size (LWS) for link-quality calculation (link metric)

--link_lounge_size <VAL> def: 2 range: [ 0 ... 10 ]

       set local LLS buffer size to artificially delay OGM processing for ordered link-quality calulation

--path_window_size <VAL> def: 100 range: [ 10 ... 250 ]

       set path window size (PWS) for end2end path-quality calculation (path metric)

--path_lounge_size <VAL> def: 8 range: [ 0 ... 31 ]

       set default PLS buffer size to artificially delay my OGM processing for ordered path-quality calulation

--path_hysteresis <VAL> def: 0 range: [ 0 ... 50 ]

       use hysteresis to delay route switching to alternative next-hop neighbors with better path metric

--fast_path_window_size <VAL> def: 20 range: [ 2 ... 250 ]


--fast_path_hysteresis <VAL> def: 1 range: [ 0 ... 50 ]

       use hysteresis to delay fast-route switching to alternative next-hop neighbors with a recently extremely better path metric

--fast_path_faktor <VAL> def: 150 range: [ 100 ... 1000 ]

       configure threshold faktor for dead-path detection

--drop_two_hop_loops <VAL> def: 0 range: [ 0 , 1 ]

       drop OGMs received via two-hop loops

--asymmetric_exp <VAL> def: 1 range: [ 0 ... 3 ]

       ignore OGMs (rcvd via asymmetric links) with TQ^<val> to radically reflect asymmetric-links

--asocial_device <VAL> def: 0 range: [ 0 , 1 ]

       disable/enable asocial mode for devices unwilling to forward other nodes' traffic

--ogm_broadcasts <VAL> def: 200 range: [ 0 ... 400 ]

       broadcast OGMs per ogm-interval for wireless devices with
       given probability [%] (eg 200% will broadcast the same OGM twice)

--asymmetric_weight <VAL> def: 100 range: [ 0 ... 100 ]

       ignore OGMs (rcvd via asymmetric links) with given probability [%] to better reflect asymmetric-links

--hop_penalty <VAL> def: 1 range: [ 0 ... 100 ]

       ignore OGMs with given probability [%] to better reflect path-hop distance

--lateness_penalty <VAL> def: 1 range: [ 0 ... 100 ]

       penalize non-first rcvd OGMs

--purge_timeout <VAL> def: 100 range: [ 10 ... 864000 ]

       timeout in seconds for purging stale originators

--dad_timeout <VAL> def: 100 range: [ 1 ... 3600 ]

       duplicate address (DAD) detection timout in seconds

--ttl, -t <VAL> def: 50 range: [ 1 ... 63 ]

       set time-to-live (TTL) for OGMs of primary interface

--flush_all

       purge all neighbors and routes on the fly

--script <script-file>

       called on gw selection

Scheduling options:

--ogm_interval, -o <VAL> def: 1000 range: [ 50 ... 100000 ]

       set interval in ms with which new originator message (OGM) are send

--ogi_power_save <VAL> def: 50 range: [ 50 ... 100000 ]

       enable power-saving feature by setting increased OGI when no other nodes are in range

--aggreg_interval <VAL> def: 500 range: [ 35 ... 4000 ]

       set aggregation interval (SHOULD be smaller than the half of your and others OGM interval)

--udp_data_size <VAL> def: 256 range: [ 24 ... 1020 ]

       set preferred udp-data size for send packets

--simulate_cleanup <VAL> def: 0 range: [ 0 , 1 ]

       simulate paranoia and cleanup_all for testing

Gateway (GW) and tunnel options:

--routing_class, -r <VAL> def: 0 range: [ 0 ... 3 ]

       control GW-client functionality:
       0 -> no tunnel, no default route (default)
       1 -> permanently select fastest GW according to GW announcment (deprecated)
       2 -> permanently select most stable GW accoridng to measurement
       3 -> dynamically switch to most stable GW

--gateway_hysteresis <VAL> def: 2 range: [ 1 ... 100 ]

       set number of additional rcvd OGMs before changing to more stable GW (only relevant for -r3 GW-clients)

--preferred_gateway, -p <ADDRESS>

       permanently select specified GW if available

--gateway_class, -g <VAL>[/VAL]

       set GW up- & down-link class (e.g. 5mbit/1024kbit)

--tun_persist <VAL> def: 1 range: [ 0 , 1 ]

       disable/enable ioctl TUNSETPERSIST for GW tunnels (disabling was required for openVZ emulation)

--gateways

       show currently available gateways