Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

network.routed_bridge

Minimal configlet:

[network#1]
type = routed_bridge

Minimal setup command:

om node set --kw="type=routed_bridge"

addr

required:    false
scopable:    true
default:     Detect using a name resolution of `<nodename>`.

Beware, if the nodename resolves to 127.0.1.1 or 127.0.0.1 the ipip tunnel can not work.

The ip address used as local endpoint for the ipip tunnel configured by the network setup command to access the backend subnet of peer nodes not reachable on the same subnet.

dev

required:    false
scopable:    false

The network bridge device name. If not set the name will be obr_<network name>. Use this keyword if you need the network to use an already existing bridge.

gateway

required:    false
scopable:    true

The gateway to use to reach the network segment of the node specified as scope.

ips_per_node

required:    false
scopable:    false
default:     1024
convert:     int

The number of ips each node must be able to allocate in the network. This number is translated into the prefix length of the subnets distributed to each node. For example if the network is a x.x.x.x/16 you can distribute

  • x.x.x.x/17 subnets to 2 nodes
  • x.x.x.x/18 to 4 nodes
  • etc…

If both mask_per_node and ips_per_node are set, ips_per_node is ignored. If only ips_per_node is set, it is honored for backward compatibility.

The ips_per_node keyword is deprecated because its value is hard to manage for large ipv6 subnets (e.g a x.x.x.x/48 subnet has 281474976710656 ips).

mask_per_node

required:    false
scopable:    false
default:     0
convert:     int

The prefix length of the subnets distributed to each node. For example if the network is a x.x.x.x/16 you can distribute

  • x.x.x.x/17 subnets to 2 nodes
  • x.x.x.x/18 to 4 nodes
  • etc…

If both mask_per_node and ips_per_node are set, ips_per_node is ignored. If only ips_per_node is set, it is honored for backward compatibility.

The ips_per_node keyword is deprecated because its value is hard to manage for large ipv6 subnets (e.g a x.x.x.x/48 subnet has 281474976710656 ips).

network

required:    false
scopable:    false

The cluster backend network.

The routed_bridge driver fragments this network into subnets with a prefix length given bymask_per_nodes.

public

required:    false
scopable:    false
convert:     bool

Set to true if the network ip range is public and we must not configure masquerading rules.

subnet

required:    false
scopable:    true

The cidr subnet handled by this node.

This parameter must be scoped for each node.

Usually, the subnets are allocated automatically upon initial network setup, each node being attributed a subnet based on its index in the cluster.nodes list.

tables

required:    false
scopable:    false
default:     main
convert:     list

Example:

tables=main custom1 custom2

The list of routing tables to add the backend network routes to.

The list of available tables is in /etc/iproute2/rt_tables.

tunnel

required:    false
scopable:    false
candidates:  auto, always, never
default:     auto

Create and route traffic through tunnels to peer nodes policy.

  • auto

    Tunnel if the peer is not in the same subnet

  • always

    Tunnel even if the peer seems to be in the same subnet. Some hosting providers require this as traffic goes through routers even between adjacent nodes.

tunnel_mode

required:    false
scopable:    false
candidates:  gre, ipip, ip6ip6
default:     ipip

The ip tunnel mode. gre can tunnel mcast ip and ipv6 at the price of a 24B header, ipip can only tunnel ipv4 but with a 20B header. Note, some OVH servers combinations don’t support ipip but work with gre.

type

required:    false
scopable:    false
candidates:  bridge, routed_bridge
default:     bridge

The type of network.