IFUPDOWN-ADDONS-INTERFACES(5)
β¨ NAME β¨
ifupdown-addons-interfaces β ifupdown2 addon modules interface configuration. That's the whole vibe, bestie. π
This is the manual page for ifupdown-addons-interfaces(5), and it's about to spill all the tea on how addon modules customize your network interfaces. π«
π DESCRIPTION π
Okay so ifupdown2 addon modules add incremental functionality to the core ifupdown2 tool. They're like little upgrades that make the main character even more powerful. β¨
All installed addon modules are executed on every interface listed in the interfaces file. Addon modules are installed under /usr/share/ifupdownaddons. To see the list of active addon modules, see ifaddon(8). π
Addon modules add new attributes to the interfaces(5) file. Below is a list of attribute options provided by each module. These can be listed under each iface section in the interfaces(5) file. So if you're writing your interfaces file, these are the extra keys you can drop in. π
πΈ EXAMPLES πΈ
Listed below are addon modules and their supported attributes. The attributes, if applicable, go under the iface section in the interfaces(5) file. Let's go module by module, bestie. π¦
ethtool: ethtool configuration module for interfaces
This module handles ethtool configuration for interfaces. π§
link-duplex
- help: set link duplex
- required: False
- default:
half - validvals:
half,full - example:
link-duplex full
link-autoneg
- help: set autonegotiation
- required: False
- default:
no - validvals:
yes,no - example:
link-autoneg yes
link-speed
- help: set link speed
- required: False
- example:
link-speed 1000
bridge: Bridge configuration module. Supports both vlan aware and non vlan aware bridges. For the vlan aware bridge, the port specific attributes must be specified under the port. And for vlan unaware bridge port specific attributes must be specified under the bridge.
This one is the bridge module. It supports both vlan aware and non vlan aware bridges. For the vlan aware bridge, the port specific attributes must be specified under the port. And for vlan unaware bridge, port specific attributes must be specified under the bridge. π
bridge-vlan-aware
- help: vlan aware bridge. Setting this attribute to
yesenables vlan filtering on the bridge. - required: False
- example:
bridge-vlan-aware yes/no
bridge-pathcosts
- help: bridge set port path costs
- required: False
- default:
100 - example:
bridge-pathcosts swp1=100 swp2=100
bridge-portprios
- help: bridge port prios
- required: False
- default:
32 - example:
bridge-portprios swp1=32 swp2=32
bridge-fd
- help: bridge forward delay
- required: False
- default:
15 - example:
bridge-fd 15
bridge-ageing
- help: bridge ageing
- required: False
- default:
300 - example:
bridge-ageing 300
bridge-hello
- help: bridge set hello time
- required: False
- default:
2 - example:
bridge-hello 2
bridge-gcint
- help: bridge garbage collection interval in secs
- required: False
- default:
4 - example:
bridge-gcint 4
bridge-mcquerier
- help: set multicast querier
- required: False
- default:
no - validvals:
yes,no - example:
bridge-mcquerier no
bridge-mclmc
- help: set multicast last member count
- required: False
- default:
2 - example:
bridge-mclmc 2
bridge-mcsqc
- help: set multicast startup query count
- required: False
- default:
2 - example:
bridge-mcsqc 2
bridge-mcrouter
- help: set multicast router
- required: False
- default:
yes - validvals:
yes,no - example:
bridge-mcrouter yes
bridge-stp
- help: bridge-stp yes/no
- required: False
- default:
no - validvals:
yes,on,off,no - example:
bridge-stp no
bridge-pvid
- help: bridge port pvid. Must be specified under the bridge port.
- required: False
- example:
bridge-pvid 1
bridge-mcsqi
- help: set multicast startup query interval (in secs)
- required: False
- default:
31 - example:
bridge-mcsqi 31
bridge-mcmi
- help: set multicast membership interval (in secs)
- required: False
- default:
260 - example:
bridge-mcmi 260
bridge-mclmi
- help: set multicast last member interval (in secs)
- required: False
- default:
1 - example:
bridge-mclmi 1
bridge-vids
- help: bridge port vids. Can be specified under the bridge or under the port. If specified under the bridge the ports inherit it unless overridden by a
bridge-vidsattribute under the port. - required: False
- example:
bridge-vids 4000
bridge-vids 2000 2200-3000
bridge-ports
- help: bridge ports
- required: True
- example:
bridge-ports swp1.100 swp2.100 swp3.100
bridge-ports glob swp1-3.100
bridge-ports glob swp[1-3]s[0-4].100
bridge-ports regex (swp[1|2|3].100)
bridge-mcqifaddr
- help: set multicast query to use ifaddr
- required: False
- default:
no - validvals:
yes,no - example:
bridge-mcqifaddr no
bridge-waitport
- help: wait for a max of time secs for the specified ports to become available. If no ports are specified then those specified on
bridge-portswill be used here. Specifying no ports here should not be used if we are using regex or"all"onbridge-ports, as it wouldn't work. - required: False
- default:
0 - example:
bridge-waitport 4 swp1 swp2
bridge-mcqri
- help: set multicast query response interval (in secs)
- required: False
- default:
10 - example:
bridge-mcqri 10
bridge-hashel
- help: set hash elasticity
- required: False
- default:
4096 - example:
bridge-hashel 4096
bridge-mcqpi
- help: set multicast querier interval (in secs)
- required: False
- default:
255 - example:
bridge-mcqpi 255
bridge-hashmax
- help: set hash max
- required: False
- default:
4096 - example:
bridge-hashmax 4096
bridge-bridgeprio
- help: bridge priority
- required: False
- default:
32768 - example:
bridge-bridgeprio 32768
bridge-maxage
- help: bridge set maxage
- required: False
- default:
20 - example:
bridge-maxage 20
bridge-mcsnoop
- help: set multicast snooping
- required: False
- default:
yes - validvals:
yes,no - example:
bridge-mcsnoop yes
bridge-access
- help: bridge port access vlan. Must be specified under the bridge port.
- required: False
- example:
bridge-access 300
bridge-maxwait
- help: forces to time seconds the maximum time that the Debian bridge setup scripts will wait for the bridge ports to get to the forwarding status. Doesn't allow a fractional part. If it is equal to
0then no waiting is done. - required: False
- default:
0 - example:
bridge-maxwait 3
bridge-portmcrouter
- help: set port multicast routers
- required: False
- default:
1 - example:
under the bridge: bridge-portmcrouter swp1=1 swp2=1
under the port: bridge-portmcrouter 1
bridge-portmcfl
- help: port multicast fast leave.
- required: False
- default:
0 - example:
under the bridge: bridge-portmcfl swp1=0 swp2=0
under the port: bridge-portmcfl 0
bridge-mcqi
- help: set multicast query interval (in secs)
- required: False
- default:
125 - example:
bridge-mcqi 125
usercmds: user commands for interfaces
This module is for running user commands on interfaces. π¬
down
- help: run command at interface down
- required: False
post-up
- help: run command after interface bring up
- required: False
up
- help: run command at interface bring up
- required: False
pre-down
- help: run command before bringing the interface down
- required: False
pre-up
- help: run command before bringing the interface up
- required: False
post-down
- help: run command after bringing interface down
- required: False
mstpctl: mstp configuration module for bridges
This module handles mstp configuration for bridges. π
mstpctl-portadminedge
- help: enable/disable initial edge state of the port
- required: False
- default:
no - validvals:
yes,no - example:
mstpctl-portadminedge swp1=no swp2=no
mstpctl-portbpdufilter
- help: enable/disable bpdu filter on a port. syntax varies when defined under a bridge vs under a port
- required: False
- default:
no - validvals:
yes,no - example:
under a bridge: mstpctl-portbpdufilter swp1=no swp2=no
under a port: mstpctl-portbpdufilter yes
mstpctl-fdelay
- help: set forwarding delay
- required: False
- default:
15 - example:
mstpctl-fdelay 15
mstpctl-portnetworkβ turn bridge assurance capability on/off for a port π¦- required:
FalseΒ· default:noΒ· validvals:yes,no - example:
- required:
mstpctl-portnetwork swp1=no swp2=no
mstpctl-txholdcountβ the bridge transmit holdcount, like how many BPDUs it's allowed to hold before it has to spill the tea π- required:
FalseΒ· default:6 - example:
- required:
mstpctl-txholdcount 6
mstpctl-forceversβ makes the bridge force a specific STP version, no negotiating fr fr- required:
FalseΒ· default:rstp - example:
- required:
mstpctl-forcevers rstp
mstpctl-portautoedgeβ enable/disable the auto transition to/from the edge state of the port β¨- required:
FalseΒ· default:yesΒ· validvals:yes,no - example:
- required:
mstpctl-portautoedge swp1=yes swp2=yes
mstpctl-maxhopsβ bridge max hops, the limit on how far your topology gossip can travel π«Ά- required:
FalseΒ· default:15 - example:
- required:
mstpctl-maxhops 15
mstpctl-treeprioβ tree priority. lowest key energy wins the root election, so pick wisely π- required:
FalseΒ· default:32768Β· validrange:0-65535 - example:
- required:
mstpctl-treeprio 32768
mstpctl-treeportprioβ port priority for the MSTI instance πΈ- required:
FalseΒ· default:128Β· validrange:0-240 - example:
- required:
mstpctl-treeportprio swp1=128 swp2=128
mstpctl-portpathcostβ bridge port path cost, aka how expensive this link is to walk across π- required:
FalseΒ· default:0 - example:
- required:
mstpctl-portpathcost swp1=0 swp2=1
mstpctl-portrestrtcnβ enable/disable the port's ability to propagate a received topology change notification of the port π₯- required:
FalseΒ· default:noΒ· validvals:yes,no - example:
- required:
mstpctl-portrestrtcn swp1=no swp2=no
mstpctl-maxageβ max message age, the expiry clock on topology info π°οΈ- required:
FalseΒ· default:20 - example:
- required:
mstpctl-maxage 20
mstpctl-helloβ set the hello time, i.e. how often the bridge says hi to its neighbours π- required:
FalseΒ· default:2 - example:
- required:
mstpctl-hello 2
mstpctl-portrestrroleβ enable/disable the port's ability to take the root role of the port π- required:
FalseΒ· default:noΒ· validvals:yes,no - example:
- required:
mstpctl-portrestrrole swp1=no swp2=no
mstpctl-bpduguardβ enable/disable bpduguard, the bouncer that says "not you, bestie" to stray BPDUs π«- required:
FalseΒ· default:noΒ· validvals:yes,no - example:
- required:
mstpctl-bpduguard swp1=no swp2=no
mstpctl-ageingβ ageing time, how long a learned thing hangs around before it's forgotten π- required:
FalseΒ· default:300 - example:
- required:
mstpctl-ageing 300
mstpctl-treeportcostβ port tree cost. no default listed, no example listed, that's just how it is π§- required:
False
- required:
mstpctl-portp2pβ bridge port p2p detection mode, auto by default because auto is the main character β- required:
FalseΒ· default:autoΒ· validvals:yes,no,auto - example:
- required:
mstpctl-portp2p swp1=no swp2=no
π clagd π
This module generates the clagd defaults file. periodt.
clagd-priorityβ The priority of this clagd switch π- required:
False - example:
- required:
clagd-priority 30000
clagd-backup-ipβ Backup IP address of the clagd peer π«Ά- required:
False - example:
- required:
clagd-backup-ip 192.1.1.1
clagd-enableβ enable clagd β¨- required:
FalseΒ· validvals:yes,no - example:
- required:
clagd-enable yes
clag-idβ multi-chassis lag id π- required:
FalseΒ· default:0Β· validrange:0-65535 - example:
- required:
clag-id 1
clagd-peer-ipβ The IP address of the clagd peer. this one is required, so like, don't skip it πΈ- required:
True - example:
- required:
clagd-peer 10.10.10.2
clagd-sys-macβ The system ID of the CLAG pair. also required, no cap π- required:
True - example:
- required:
clagd-sys-mac 44:38:39:ff:00:00
clagd-argsβ Additional command line arguments for clagd, throw whatever extra flags you need at it π₯- required:
False - example:
- required:
clagd-args --log /var/log/clagd.log
clagd-args --verbose --lacpPoll 10
clagd-args --debug 0x4
π¦ vlan π¦
vlan module configures vlan interfaces. This module understands vlan interfaces with dot notations. eg swp1.100. Vlan interfaces with any other names need to have raw device and vlan id attributes β that's the whole vibe check.
vlan-idβ vlan id- required:
False
- required:
vlan-raw-deviceβ vlan raw device- required:
False
- required:
π bridgevlan π
bridgevlan module configures vlan attributes on a vlan aware bridge. This module only understands vlan interface names with dot notations. eg br0.100. where br0 is the vlan aware bridge this config is for. iykyk.
bridge-igmp-querier-srcβ bridge igmp querier src. Must be specified under the vlan interface π- required:
False - example:
- required:
bridge-igmp-querier-src 172.16.101.1
π bond π
bond configuration module. let's get into it.
bond-use-carrierβ bond use carrier- required:
FalseΒ· default:yesΒ· validvals:yes,no - example:
- required:
bond-use-carrier yes
bond-lacp-bypass-periodβ grace period (seconds) for lacp bypass β³- required:
FalseΒ· default:0Β· validrange:0-900 - example:
- required:
bond-lacp-bypass-period 100
bond-miimonβ bond miimon- required:
FalseΒ· default:0Β· validrange:0-255 - example:
- required:
bond-miimon 0
bond-lacp-rateβ bond lacp rate- required:
FalseΒ· default:0Β· validvals:0,1 - example:
- required:
bond-lacp-rate 0
bond-lacp-bypass-priorityβ slave priority for lacp bypass π₯- required:
False - example:
- required:
bond-lacp-bypass-priority swp1=1 swp2=1 swp3=2
bond-min-linksβ bond min links- required:
FalseΒ· default:0 - example:
- required:
bond-min-links 0
bond-slavesβ bond slaves. this one is required, bestie, you can't have a bond with nobody in it π- required:
True - example:
- required:
bond-slaves swp1 swp2
bond-slaves glob swp1-2
bond-slaves regex (swp[1|2)
bond-lacp-bypass-allowβ allow lacp bypass- required:
FalseΒ· default:noΒ· validvals:yes,no - example:
- required:
bond-lacp-bypass-allow no
bond-modeβ bond mode β¨- required:
FalseΒ· default:balance-rrΒ· validvals:balance-rr,active-backup,balance-xor,broadcast,802.3ad,balance-tlb,balance-alb - example:
- required:
bond-mode 802.3ad
bond-num-unsol-naβ bond slave devices- required:
FalseΒ· default:1Β· validrange:0-255 - example:
- required:
bond-num-unsol-na 1
bond-ad-sys-priorityβ 802.3ad system priority- required:
FalseΒ· default:65535 - example:
- required:
bond-ad-sys-priority 65535
bond-xmit-hash-policyβ bond slave devices- required:
FalseΒ· default:layer2Β· validvals:layer2,layer3+4,layer2+3 - example:
- required:
bond-xmit-hash-policy layer2
bond-num-grat-arpβ bond use carrier- required:
FalseΒ· default:1Β· validrange:0-255 - example:
- required:
bond-num-grat-arp 1
bond-ad-sys-mac-addrβ 802.3ad system mac address π- required:
FalseΒ· default:00:00:00:00:00:00 - example:
- required:
bond-ad-sys-mac-addr 00:00:00:00:00:00
π address π
address configuration module for interfaces. so many little knobs, obsessed.
broadcastβ broadcast address π£- required:
False - example:
- required:
broadcast 10.0.1.255
hwaddressβ hw address- required:
False - example:
- required:
hwaddress 44:38:39:00:27:b8
aliasβ description/alias π·οΈ- required:
False - example:
- required:
alias testnetwork
addressβ ipv4 or ipv6 addresses π- required:
False - example:
- required:
address 10.0.12.3/24
address 2000:1000:1000:1000:3::5/128
scopeβ scope- required:
False - example:
- required:
scope host
address-purgeβ purge existing addresses. By default any existing ip addresses on an interface are purged to match persistent addresses in the interfaces file. Set this attribute to'no'if you want to preserve existing addresses π- required:
FalseΒ· default:yes - example:
- required:
address-purge yes/no
preferred-lifetimeβ preferred lifetime β±οΈ- required:
False - example:
- required:
preferred-lifetime forever
preferred-lifetime 10
gatewayβ default gateway πͺ- required:
False - example:
- required:
gateway 255.255.255.0
mtuβ interface mtu- required:
False
- required:
oh and if you literally just don't say anything? it defaults to 1500. that's the whole vibe. π
example:
mtu 1600
β¨ addressvirtual β¨
ok bestie so the address module is the one that configures virtual addresses for interfaces π«Ά. and here's the little magic trick: for every address-virtual line you write, it spins up a macvlan interface. one line = one interface. it's giving "one for each of y'all" and honestly? obsessed. β¨
address-virtualβ help: bridge router virtual mac and ip- required:
False - example:
- required:
address-virtual 00:11:22:33:44:01 11.0.1.254/24 11.0.1.254/24
yes, that's the mac and the ip written twice in the example. that's not me being extra, that's literally the example. copy it exactly, bestie. π
π vxlan π
next up: the vxlan module, which configures vxlan interfaces. tunnels? in my config file? more likely than you think π¦.
vxlan-learningβ help: vxlan learning yes/no- required:
False - default:
yes - validvals:
yes,no - example:
- required:
vxlan-learning no
vxlan-idβ help: vxlan id- required:
Trueβ yep, this one is not optional, you HAVE to set it π₯ - example:
- required:
vxlan-id 100
vxlan-remoteipβ help: vxlan remote ip- required:
False - example:
- required:
vxlan-remoteip 172.16.22.127
vxlan-svcnodeipβ help: vxlan id- required:
False - example:
- required:
vxlan-svcnodeip 172.16.22.125
ngl bestie, the help text on this one just says vxlan id again π that's what the page says, so that's what I'm telling you. no editing, no guessing, periodt.
vxlan-local-tunnelipβ help: vxlan local tunnel ip- required:
False - example:
- required:
vxlan-local-tunnelip 172.16.20.103
π SEE ALSO π
your little reading list, bestie β go check these out too π:
interfaces(5)ifup(8)ip(8)mstpctl(8)brctl(8)ethtool(8)clagctl(8)
πΈ AUTHOR πΈ
roopa@cumulusnetworks.com
π COPYRIGHT π
Copyright 2013 Cumulus Networks, Inc. All rights reserved.
and that's the whole page, bestie π«Ά you ate that. this lil masterpiece is version 0.1, dated 2013-09-25, and it lives at IFUPDOWN-ADDONS-INTERFACES(5). main character manpage energy, no cap π
β¨
π¦ where this page comes from
- debian bookworm: ifupdown2 3.0.0-1.1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms