From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: network@lists.ipfire.org Subject: Re: [PATCH 2/3] header-zone: refactor hook_config_edit Date: Fri, 14 Jul 2017 19:56:02 -0400 Message-ID: <1500076562.2325.1.camel@ipfire.org> In-Reply-To: <1500059452-3421-2-git-send-email-jonatan.schlag@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9070243251934407244==" List-Id: --===============9070243251934407244== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Hi, and no no no no. We cannot restart the zone just because some configuration is being changed. That would disrupt connections and that might not always be required. The hook_up() and hook_down() functions are usually designed to take care of this and check if a zone is already up and potentially only change the settings that need to be changed. That will allow to edit things on a live system without disrupting any users which I think is very important. -Michael On Fri, 2017-07-14 at 21:10 +0200, Jonatan Schlag wrote: > Before a config is edit we should bring the config down and after up > again. > Also we need to have 2 arguments or more. > > Signed-off-by: Jonatan Schlag > --- >  src/header-zone | 9 ++++++++- >  1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/src/header-zone b/src/header-zone > index 2e3fa09..3b074ee 100644 > --- a/src/header-zone > +++ b/src/header-zone > @@ -225,7 +225,7 @@ hook_config_destroy() { >  } >   >  hook_config_edit() { > - assert [ $# -eq 2 ] > + assert [ $# -ge 2 ] >   local zone=${1} >   # The id must be the id and not the hid. >   local id=${2} > @@ -240,7 +240,14 @@ hook_config_edit() { >   local hook=$(zone_config_get_hook_from_id ${zone} ${id}) >   assert isset hook >   > + # Bring the config down > + hook_config_cmd "down" "${zone}" "${hook}" "${hook}.${id}" > + > + # Edit the hook >   hook_config_cmd "edit" "${zone}" "${hook}" "${hook}.${id}" > "$@" > + > + # Bring the config up again > + hook_config_cmd "up" "${zone}" "${hook}" "${hook}.${id}" >  } >   >  hook_config_show() { --===============9070243251934407244== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KVmVyc2lvbjogR251UEcgdjIKCmlRSWNCQUFC Q2dBR0JRSlphVm9TQUFvSkVJQjU4UDl2a0FrSGxRa1AvMzhaWXVDS3k3dnVuVFp0TTJMWG5BeFgK SE4wWGlPbjIweXlQNFN0TUppRkhmV2lsUjFxdG5SeGI3ZjNFeVlYT0xaWERoMHJ6V3k5K05sb3pG MlM3emxvMApSWFJRWE95MG9zc0MyZXBMbWlobXUySUtYbUNONEJMZ3d5bzh1V29mTkpVYnl3Rmo2 S1NIMmQ3bU1vQ2xsMnh0CmR0clU4MjBvUUhkZXRwS05nek93MjIwZlBnN2xQLzNNa1ROOWM5SHZP amtxMVRVZXBMRG44dkVJaUVObnVJR1UKSXZUN2ZsbGdYSlhwNWo1WUFlN2VrWUwzamw0aHhIVUNt cS9NcjBNQ3NnMDRGK1lWdWlTZXN2S3VHckV0aDJONwowbXVRbEpVeVA2Q1FVaFlqZDRObytDZE1o RzVnWTBVMURNV01BZGU4MTc1UGozTnowNkw4eG0vUXZ5S01XZC9UCkp1SlBxYkd1cTNxcjFhNlZE djZ0b2ZxQXMrY0RZd2dLQSs1c2I2ZldFUm5pdlpUK0ZUOVIvZEs3OXR5bUMvTisKWkg4d1lFU0lq aHc2bjE3OElrZUhrZDNrRk9zS1VKWEJ1Nm5xNFdwemc3K2pieGhScyswemJ0Qy9KK1hxZVNvSApU L2w4NnpQNWJiZWIrK29OcmkvS016L1dseCtOVGV5VW85b3dzZG43YWp4OG9QSVZ1aUN6NFBhQm9x eGtrLzkvCnJqWmxWKzRKa2JncHMrZ3ZwT2YvWmhVdXgxWVJ3ZDlsMlJmNGZVTGl1QS9aTXhJUWVo MjdpamZsdXpvNHUxNzQKSjA5SmtXdVY5NFhOT3ZqclZhbmNGemZhcFQzeFNoMEplYzRtWUpKOE9h c2REekF4MEVSL25YbWJOTFo4aUxyRQpWQjN3OWtsbEZKcS9FOHFsRVNFRQo9OGhHRgotLS0tLUVO RCBQR1AgU0lHTkFUVVJFLS0tLS0K --===============9070243251934407244==--