> On 24/12/2015, at 10:07, Timo Myyrä <timo.my...@wickedbsd.net> wrote:
>
> Hi,
>
> I'm trying to use ifstated to switch between my laptops wireless and wired
> interface

man trunk

> Currently it works when I don't have cable plugged in but once I plug in
the
> cable the ifstated starts to switch between wired and wireless states and
won't
> stay in wired state.
>
> So it seems the em0.link.down condition gets triggered in wired state but
why?
> The dhclient seems to run so the em0 should have IP and so it should be up.
>
> Timo
>
> daemon:
> Dec 24 10:43:29 phobos ifstated[31262]: changing state to wired
> Dec 24 10:43:29 phobos dhclient[2004]: iwn0 down; exiting
> Dec 24 10:43:33 phobos dhclient[22725]: DHCPREQUEST on em0 to
255.255.255.255
> Dec 24 10:43:33 phobos dhclient[22725]: DHCPACK from 192.168.0.254
(00:1e:ab:0a:a4:a3)
> Dec 24 10:43:33 phobos dhclient[22725]: bound to 192.168.0.105 -- renewal in
43200 seconds.
> Dec 24 10:43:33 phobos ifstated[31262]: changing state to wireless
> Dec 24 10:43:33 phobos dhclient[5042]: em0 down; exiting
> Dec 24 10:43:37 phobos dhclient[9581]: DHCPREQUEST on iwn0 to
255.255.255.255
> Dec 24 10:43:37 phobos dhclient[9581]: DHCPACK from 192.168.0.254
(00:1e:ab:0a:a4:a3)
> Dec 24 10:43:37 phobos dhclient[9581]: bound to 192.168.0.106 -- renewal in
43200 seconds.
> Dec 24 10:44:29 phobos dhclient[9921]: DHCPREQUEST on iwn0 to
255.255.255.255
> Dec 24 10:44:31 phobos findnwid: attached to network TW-EAV510v4A4A3 on
interface iwn0
> ...
>
> ifstated.conf:
> nwid  = '"[[ $(ifconfig iwn0 | sed -n \'/status/s/.*status: //p\') ==
\'active\' ]]" every 2'
>
> init-state wired
>
> state wireless {
>    init {
>        run "ifconfig em0 down"
>        run "ifconfig iwn0 up"
>        run "dhclient iwn0"
>    }
>
>    # check if we have active wireless network
>    # if not, re-check for networks
>    if ! $nwid && em0.link.down
>        run "/usr/local/bin/findnwid iwn0"
>
>    if em0.link.up
>        set-state wired
> }
>
> state wired {
>    init {
>        run "ifconfig iwn0 down"
>        run "ifconfig em0 up"
>        run "dhclient em0"
>    }
>
>    if em0.link.down
>        set-state wireless
> }

Reply via email to