From 5d1c1e2e1931fec3656dafdd648d53fdf5dca535 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 13 Jul 2024 14:05:14 -0400 Subject: [PATCH] Switch to manual dummynet rc.d implementation. The existing one does not seem to work. --- ansible/roles/dummynet/files/dnctl.conf | 4 +-- ansible/roles/dummynet/files/dnctl_rc.conf | 2 -- ansible/roles/dummynet/files/dummynet | 28 +++++++++++++++++++ ansible/roles/dummynet/files/dummynet_rc.conf | 2 ++ ansible/roles/dummynet/tasks/freebsd.yaml | 12 +++++++- 5 files changed, 43 insertions(+), 5 deletions(-) delete mode 100644 ansible/roles/dummynet/files/dnctl_rc.conf create mode 100644 ansible/roles/dummynet/files/dummynet create mode 100644 ansible/roles/dummynet/files/dummynet_rc.conf diff --git a/ansible/roles/dummynet/files/dnctl.conf b/ansible/roles/dummynet/files/dnctl.conf index 27a20c8..ddf46db 100644 --- a/ansible/roles/dummynet/files/dnctl.conf +++ b/ansible/roles/dummynet/files/dnctl.conf @@ -1,2 +1,2 @@ -dnctl pipe 1 config bw 100KByte/s -dnctl pipe 2 config +pipe 1 config bw 100KByte/s +pipe 2 config diff --git a/ansible/roles/dummynet/files/dnctl_rc.conf b/ansible/roles/dummynet/files/dnctl_rc.conf deleted file mode 100644 index 627bde2..0000000 --- a/ansible/roles/dummynet/files/dnctl_rc.conf +++ /dev/null @@ -1,2 +0,0 @@ -dnctl_enable="YES" -dnctl_rules="/etc/dnctl.conf" diff --git a/ansible/roles/dummynet/files/dummynet b/ansible/roles/dummynet/files/dummynet new file mode 100644 index 0000000..4be9f0c --- /dev/null +++ b/ansible/roles/dummynet/files/dummynet @@ -0,0 +1,28 @@ +#!/bin/sh +# +# + +# PROVIDE: dummynet +# BEFORE: pf ipfw +# KEYWORD: nojailvnet + +. /etc/rc.subr + +name="dummynet" +desc="Dummynet packet queuing and scheduling" +rcvar="${name}_enable" +load_rc_config $name +start_cmd="${name}_start" +required_files="$dummynet_rules" +required_modules="dummynet" + +dummynet_start() +{ + startmsg -n "Enabling ${name}" + cat "$dnctl_rules" | while read l; do + dnctl $l + done + startmsg '.' +} + +run_rc_command $* diff --git a/ansible/roles/dummynet/files/dummynet_rc.conf b/ansible/roles/dummynet/files/dummynet_rc.conf new file mode 100644 index 0000000..4ecb447 --- /dev/null +++ b/ansible/roles/dummynet/files/dummynet_rc.conf @@ -0,0 +1,2 @@ +dummynet_enable="YES" +dummynet_rules="/etc/dnctl.conf" diff --git a/ansible/roles/dummynet/tasks/freebsd.yaml b/ansible/roles/dummynet/tasks/freebsd.yaml index d55cfa0..b485d88 100644 --- a/ansible/roles/dummynet/tasks/freebsd.yaml +++ b/ansible/roles/dummynet/tasks/freebsd.yaml @@ -9,6 +9,16 @@ - src: "{{ dummynet_config }}" dest: /etc/dnctl.conf +- name: Install rc script + copy: + src: "files/{{ item.src }}" + dest: "/usr/local/etc/rc.d/{{ item.dest|default(item.src) }}" + owner: root + group: wheel + mode: 0755 + loop: + - src: dummynet + - name: Install service configuration copy: src: "files/{{ item }}_rc.conf" @@ -17,4 +27,4 @@ owner: root group: wheel loop: - - dnctl + - dummynet