teamd.conf man page on RedHat

Man page or keyword search:  
man Server   29550 pages
apropos Keyword Search (all sections)
Output format
RedHat logo
[printable version]

TEAMD.CONF(5)		   Team daemon configuration		 TEAMD.CONF(5)

NAME
       teamd.conf — libteam daemon configuration file

DESCRIPTION
       teamd uses JSON format configuration.

OPTIONS
       device (string, mandatory)
	      Desired name of new team device.

       hwaddr (string)
	      Desired  hardware	 address of new team device. Usual MAC address
	      format is accepted.

       runner.name (string, mandatory)
	      Name of team device. The following runners are available:

	      broadcast — Simple runner	 which	directs	 the  team  device  to
	      transmit packets via all ports.

	      roundrobin  —  Simple  runner  which  directs the team device to
	      transmits packets in a round-robin fashion.

	      activebackup — Watches for link changes and selects active  port
	      to be used for data transfers.

	      loadbalance  — To do passive load balancing, runner only sets up
	      BPF hash function which will determine port for packet transmit.
	      To do active load balancing, runner moves hashes among available
	      ports trying to reach perfect balance.

	      lacp — Implements 802.3ad LACP protocol. Can use	same  Tx  port
	      selection possibilities as loadbalance runner.

       notify_peers.count (int)
	      Number  of  bursts  of  unsolicited NAs and gratuitous ARPs sent
	      after port is enabled/disabled.

	      Default: 0 (disabled)

	      Default for activebackup runner: 1

       notify_peers.interval (int)
	      Value is positive number in milliseconds. Specifies an  interval
	      between notify peers bursts.

	      Default: 0

       mcast_rejoin.count (int)
	      Number  of  bursts of multicast group rejoins sent after port is
	      enabled/disabled.

	      Default: 0 (disabled)

	      Default for activebackup runner: 1

       mcast_rejoin.interval (int)
	      Value is positive number in milliseconds. Specifies an  interval
	      between multicast group rejoin bursts.

	      Default: 0

       link_watch.name | ports.PORTIFNAME.link_watch.name (string)
	      Name  of	link  watcher to be used. There are the following link
	      watchers available:

	      ethtool — Uses Libteam lib to get port ethtool state changes.

	      arp_ping — ARP requests are sent through a port. If an ARP reply
	      is received, the link is considered to be up.

	      nsna_ping	 —  Similar  to the previous, except that it uses IPv6
	      Neighbor Solicitation / Neighbor Advertisement  mechanism.  This
	      is  an  alternative  to  arp_ping and becomes handy in pure-IPv6
	      environments.

	      ports (object)
		     List of port NICs to be used in team device.

	      See examples for more information.

       ports.PORTIFNAME.queue_id (int)
	      ID of queue which this port should be mapped to.

	      Default: None

ACTIVE-BACKUP RUNNER SPECIFIC OPTIONS
       runner.hwaddr_policy (string)
	      This defines the policy of how hardware addresses of team device
	      and  port	 devices  should  be set during the team lifetime. The
	      following are available:

	      same_all — All ports will always have the same hardware  address
	      as the associated team device.

	      by_active — Team device adopts the hardware address of currently
	      active port. This is useful in case the port device is not  able
	      to change its hardware address.

	      only_active  —  Only the active port adopts the hardware address
	      of the team device. The others have their own.

	      Default: same_all

       ports.PORTIFNAME.prio (int)
	      Port priority. The higher number means higher priority.

	      Default: 0

       ports.PORTIFNAME.sticky (bool)
	      Flag which indicates if the port is sticky. If set, it means the
	      port  does not get unselected if another port with higher prior‐
	      ity or better parameters becomes available.

	      Default: false

LOAD BALANCE RUNNER SPECIFIC OPTIONS
       runner.tx_hash (array)
	      List of fragment types (strings) which should be used for packet
	      Tx hash computation. The following are available:

	      eth — Uses source and destination MAC addresses.

	      vlan — Uses VLAN id.

	      ipv4 — Uses source and destination IPv4 addresses.

	      ipv6 — Uses source and destination IPv6 addresses.

	      ip — Uses source and destination IPv4 and IPv6 addresses.

	      l3 — Uses source and destination IPv4 and IPv6 addresses.

	      tcp — Uses source and destination TCP ports.

	      udp — Uses source and destination UDP ports.

	      sctp — Uses source and destination SCTP ports.

	      l4 — Uses source and destination TCP and UDP and SCTP ports.

       runner.tx_balancer.name (string)
	      Name  of	active Tx balancer. Active Tx balancing is disabled by
	      default. The only value available is basic.

	      Default: None

       runner.tx_balancer.balancing_interval (int)
	      In tenths of a second. Periodic interval between rebalancing.

	      Default: 50

LACP RUNNER SPECIFIC OPTIONS
       runner.active (bool)
	      If active is true LACPDU frames are sent	along  the  configured
	      links periodically. If not, it acts as "speak when spoken to".

	      Default: true

       runner.fast_rate (bool)
	      Option  specifies the rate at which our link partner is asked to
	      transmit LACPDU packets. If this is true then  packets  will  be
	      sent  once per second. Otherwise they will be sent every 30 sec‐
	      onds.

       runner.tx_hash (array)
	      Same as for load balance runner.

       runner.tx_balancer.name (string)
	      Same as for load balance runner.

       runner.tx_balancer.balancing_interval (int)
	      Same as for load balance runner.

       runner.sys_prio (int)
	      System priority, value can be 0 – 65535.

	      Default: 255

       runner.min_ports (int)
	      Specifies the minimum number of ports that must be active before
	      asserting carrier in the master interface, value can be 1 – 255.

	      Default: 0

       runner.agg_select_policy (string)
	      This  selects  policy  on	 how the aggregators will be selected.
	      Following are available:

	      lacp_prio — Aggregator with highest priority according  to  LACP
	      standard	will  be  selected. Aggregator priority is affected by
	      per-port option lacp_prio.

	      lacp_prio_stable — Same as previous one, except do  not  replace
	      selected aggregator if is still usable.

	      bandwidth — Select aggregator with highest total bandwidth.

	      count — Select aggregator with highest number of ports.

	      port_options  —  Aggregator  with	 highest priority according to
	      per-port options prio and sticky will be	selected.  This	 means
	      that  the aggregator containing the port with the highest prior‐
	      ity will be selected unless at least one of  the	ports  in  the
	      currently selected aggregator is sticky.

	      Default: lacp_prio

       ports.PORTIFNAME.lacp_prio (int)
	      Port priority according to LACP standard. The lower number means
	      higher priority.

       ports.PORTIFNAME.lacp_key (int)
	      Port key according to LACP standard.  It	is  only  possible  to
	      aggregate ports with the same key.

	      Default: 0

ETHTOOL LINK WATCH SPECIFIC OPTIONS
       link_watch.delay_up | ports.PORTIFNAME.link_watch.delay_up (int)
	      Value  is	 positive  number  in  milliseconds.  It  is the delay
	      between the link coming up and the runner being  notified	 about
	      it.

	      Default: 0

       link_watch.delay_down | ports.PORTIFNAME.link_watch.delay_down (int)
	      Value  is	 positive  number  in  milliseconds.  It  is the delay
	      between the link going down and the runner being notified	 about
	      it.

	      Default: 0

ARP PING LINK WATCH SPECIFIC OPTIONS
       link_watch.interval | ports.PORTIFNAME.link_watch.interval (int)
	      Value  is	 positive  number  in  milliseconds. It's the interval
	      between ARP requests being sent.

       link_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait (int)
	      Value is positive number in milliseconds. It's the delay between
	      link watch initialization and first ARP request being sent.

	      Default: 0

       link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max (int)
	      Maximum  number  of  missed  ARP	replies.  If  this  number  is
	      exceeded, link is reported as down.

       link_watch.source_host | ports.PORTIFNAME.link_watch.source_host (int)
	      Hostname to be converted to IP address which will be filled into
	      ARP request as source address.

       link_watch.target_host | ports.PORTIFNAME.link_watch.target_host (int)
	      Hostname to be converted to IP address which will be filled into
	      ARP request as destination address.

       link_watch.validate_active     |	     ports.PORTIFNAME.link_watch.vali‐
       date_active (bool)
	      Validate	received  ARP  packets on active ports. If this is not
	      set, all incoming ARP packets  will  be  considered  as  a  good
	      reply.

	      Default: false

       link_watch.validate_inactive	|    ports.PORTIFNAME.link_watch.vali‐
       date_inactive (bool)
	      Validate received ARP packets on inactive ports. If this is  not
	      set,  all	 incoming  ARP	packets	 will  be considered as a good
	      reply.

	      Default: false

       link_watch.send_always | ports.PORTIFNAME.link_watch.send_always (bool)
	      By default, ARP requests are sent on  active  ports  only.  This
	      option allows sending even on inactive ports.

       Default: false

NS/NA PING LINK WATCH SPECIFIC OPTIONS
       link_watch.interval | ports.PORTIFNAME.link_watch.interval (int)
	      Value  is	 positive  number  in  milliseconds. It's the interval
	      between sending NS packets.

       link_watch.init_wait | ports.PORTIFNAME.link_watch.init_wait (int)
	      Value is positive number in milliseconds. It's the delay between
	      link watch initialization and first NS packet send.

       link_watch.missed_max | ports.PORTIFNAME.link_watch.missed_max (int)
	      Maximum  number  of  missed  NA reply packets. If this number is
	      exceeded, link is reported as down.

       link_watch.target_host | ports.PORTIFNAME.link_watch.target_host (int)
	      Hostname to be converted to IPv6 address which  will  be	filled
	      into NS packet as target address.

EXAMPLES
       {
	 "device": "team0",
	 "runner": {"name": "roundrobin"},
	 "ports": {"eth1": {}, "eth2": {}}
       }

       Very basic configuration.

       {
	 "device": "team0",
	 "runner": {"name": "activebackup"},
	 "link_watch": {"name": "ethtool"},
	 "ports": {
	   "eth1": {
	     "prio": -10,
	     "sticky": true
	   },
	   "eth2": {
	     "prio": 100
	   }
	 }
       }

       This configuration uses active-backup runner with ethtool link watcher.
       Port eth2 has higher priority. But sticky flag  ensures	that  if  eth1
       becomes active, it stays active while the link remains up.

       {
	 "device": "team0",
	 "runner": {"name": "activebackup"},
	 "link_watch": {
	   "name": "ethtool",
	   "delay_up": 2500,
	   "delay_down": 1000
	 },
	 "ports": {
	   "eth1": {
	     "prio": -10,
	     "sticky": true
	   },
	   "eth2": {
	     "prio": 100
	   }
	 }
       }

       Similar	to  the previous one. Only difference is that link changes are
       not propagated to the runner immediately, but delays are applied.

       {
	 "device": "team0",
	 "runner": {"name": "activebackup"},
	 "link_watch":	   {
	   "name": "arp_ping",
	   "interval": 100,
	   "missed_max": 30,
	   "source_host": "192.168.23.2",
	   "target_host": "192.168.23.1"
	 },
	 "ports": {
	   "eth1": {
	     "prio": -10,
	     "sticky": true
	   },
	   "eth2": {
	     "prio": 100
	   }
	 }
       }

       This configuration uses ARP ping link watch.

       {
       "device": "team0",
       "runner": {"name": "activebackup"},
       "link_watch": [
	 {
	   "name": "arp_ping",
	   "interval": 100,
	   "missed_max": 30,
	   "source_host": "192.168.23.2",
	   "target_host": "192.168.23.1"
	 },
	 {
	   "name": "arp_ping",
	   "interval": 50,
	   "missed_max": 20,
	   "source_host": "192.168.24.2",
	   "target_host": "192.168.24.1"
	 }
       ],
       "ports": {
	 "eth1": {
	   "prio": -10,
	   "sticky": true
	 },
	 "eth2": {
	   "prio": 100
	   }
	 }
       }

       Similar to the previous one, only this time two link watchers are  used
       at the same time.

       {
	 "device": "team0",
	 "runner": {
	   "name": "loadbalance",
	   "tx_hash": ["eth", "ipv4", "ipv6"]
	 },
	 "ports": {"eth1": {}, "eth2": {}}
       }

       Configuration for hash-based passive Tx load balancing.

       {
	 "device": "team0",
	 "runner": {
	   "name": "loadbalance",
	   "tx_hash": ["eth", "ipv4", "ipv6"],
	   "tx_balancer": {
	     "name": "basic"
	   }
	 },
	 "ports": {"eth1": {}, "eth2": {}}
       }

       Configuration for active Tx load balancing using basic load balancer.

       {
	 "device": "team0",
	 "runner": {
	   "name": "lacp",
	   "active": true,
	   "fast_rate": true,
	   "tx_hash": ["eth", "ipv4", "ipv6"]
	 },
	 "link_watch": {"name": "ethtool"},
	 "ports": {"eth1": {}, "eth2": {}}
       }

       Configuration for connection to LACP capable counterpart.

SEE ALSO
       teamd(8), teamdctl(8), teamnl(8), bond2team(1)

AUTHOR
       Jiri Pirko is the original author and current maintainer of libteam.

libteam				  2013-07-09			 TEAMD.CONF(5)
[top]

List of man pages available for RedHat

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net