On 29/07/2020 12:54, Matthieu Herrb wrote:
> Hi,
>
> When I'm configuring an interface with a spécific rdomain, I'd assume
> that '!' commands (especially /sbin/route commands) are executed in
> the rdomain for this interface.
>
> I know that parsing this file is complex and somehow fragile but still
> I tried to write a patch.
>
> What do you think ?
>
> Of course I'm ok with any enhancements / fixes to my shell foo.
>
> --- netstart.orig     Wed Jul 29 11:19:53 2020
> +++ netstart  Wed Jul 29 11:52:39 2020
> @@ -67,8 +67,16 @@
>               _cmds[${#_cmds[*]}]="ifconfig $_if ${_c[@]} up;dhclient $_if"
>               V4_DHCPCONF=true
>               ;;
> +     rdomain) ((${#_c[*]} == 2)) || return
> +             _cmds[${#_cmds[*]}]="ifconfig $_if rdomain ${_c[_name]}"
> +             _rdomain=${_c[_name]}
> +             ;;
>       '!'*)   _cmd=$(print -- "${_c[@]}" | sed 's/\$if/'$_if'/g')
> -             _cmds[${#_cmds[*]}]="${_cmd#!}"
> +             if [[ $_rdomain -ne 0 ]]; then
> +                    _cmds[${#_cmds[*]}]="/sbin/route -T$_rdomain exec 
> ${_cmd#!}"
> +             else
> +                    _cmds[${#_cmds[*]}]="${_cmd#!}"
> +             fi
>               ;;
>       *)      _cmds[${#_cmds[*]}]="ifconfig $_if ${_c[@]}"
>               ;;
>
Wouldn't this break those who already have
!route -T2 

in their hostname.if files?

G

Reply via email to