[arch-projects] [netctl] Still some weird behaviour with bridges

Dave Reisner d at falconindy.com
Mon May 6 13:36:06 EDT 2013


On Mon, May 06, 2013 at 07:23:58PM +0200, Jouke Witteveen wrote:
> On Mon, May 6, 2013 at 10:22 AM, Thomas Bächler <thomas at archlinux.org> wrote:
> > I have this profile:
> >
> > Interface=vmnet
> > Connection=bridge
> > BindsToInterfaces=()
> > IP=static
> > SkipNoCarrier=yes
> > Address=('1.2.3.4/5')
> >
> > While it seems to work fine, systemd prints these messages:
> >
> > Starting network profile 'vmnet'...
> > Cannot find device "on"
> > Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
> > [ CONFFLAG-LIST ]
> > ip addr del IFADDR dev STRING
> > ip addr {show|save|flush} [ dev STRING ] [ scope SCOPE-ID ]
> > [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [up]
> > ip addr {showdump|restore}
> > IFADDR := PREFIX | ADDR peer PREFIX
> > [ broadcast ADDR ] [ anycast ADDR ]
> > [ label STRING ] [ scope SCOPE-ID ]
> > SCOPE-ID := [ host | link | global | NUMBER ]
> > FLAG-LIST := [ FLAG-LIST ] FLAG
> > FLAG  := [ permanent | dynamic | secondary | primary |
> > tentative | deprecated | dadfailed | temporary |
> > CONFFLAG-LIST ]
> > CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
> > CONFFLAG  := [ home | nodad ]
> > LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
> > LFT := forever | SECONDS
> > interface  does not exist!
> > Started network profile 'vmnet'
> >
> > This is most likely related to netctl not handling the empty
> > BindsToInterfaces properly.
> >
> 
> You are right. This (arrays in Bash) is pretty tricky. I believe it is
> fixed now. If so, the fix will land in netctl 1.1.
> 
> Thanks,
> - Jouke

The problem is that you're declaring it initially as a string, and then
expecting it to be an array. You simply cannot interchange the types
without encountering unwanted behavior like this.

Note that you're still doing this in src/netctl.in:112. I'll also point
out that your -v check allows people to create profiles that do not bind
to any interfaces since it checks for the definition and not the
existence of a value -- are you sure you want this?

d


More information about the arch-projects mailing list