> 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 > }