Defined Type: interface::clsact
- Defined in:
- modules/interface/manifests/clsact.pp
Overview
SPDX-License-Identifier: Apache-2.0 Add clsact qdisc to any existent interface
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'modules/interface/manifests/clsact.pp', line 3
define interface::clsact(
String $interface,
Wmflib::Ensure $ensure = 'present',
) {
$tc_add_cmd = "/usr/sbin/tc qdisc add dev ${interface} clsact"
$tc_del_cmd = "/usr/sbin/tc qdisc del dev ${interface} clsact"
interface::post_up_command { "clsact_${interface}":
ensure => $ensure,
interface => $interface,
command => $tc_add_cmd,
}
if $ensure == 'absent' {
exec { $tc_del_cmd:
onlyif => "/usr/sbin/tc qdisc show dev ${interface} | grep -q clsact",
}
} else {
# Add clsact manually as well
exec { $tc_add_cmd:
unless => "/usr/sbin/tc qdisc show dev ${interface} | grep -q clsact",
}
}
}
|