Subject: Re: iproute, batch-cmds, and mac-vlans.

From: Stephen Hemminger <[email-masked]>
Date: Tue, 13 Jul 2010 08:41:23 -0700

On Mon, 12 Jul 2010 22:32:53 -0700
Ben Greear <[email-masked]> wrote:

> On 07/12/2010 10:19 PM, Stephen Hemminger wrote:
> > On Mon, 12 Jul 2010 21:49:20 -0700
> > Ben Greear<[email-masked]>  wrote:
> >
> >> After too much time debugging, I finally realized that the ip
> >> tool was truncating my command because the mac-vlan device name
> >> had a '#' in it.
> >>
> >> ]# cat /tmp/foo.txt
> >> ru add to 10.99.21.1 iif eth0#0 lookup local pref 11
> >>
> >>
> >> # IP tool has some hacked up debugging code
> >> ]# ip -batch /tmp/foo.txt
> >>    argc: 4
> >>    arg -:to:-
> >>    arg -:iif:-
> >> WARNING:  Using TABLE_MAIN in iprule_modify, table_ok: 0  cmd: 32
> >>
> >>
> >> So, it acts on eth0 instead of eth0#0, and silently ignores the 'lookup local pref 11'.
> >>
> >> I understand that it is trying to parse # as comments, but would you
> >> all be interested in a patch that allowed ignoring '#' except
> >> when it is the first non-whitespace character on a line, and maybe
> >> when preceded by whitespace?  This would of course have the possibility
> >> of breaking someone's script somewhere, so it could be enabled with
> >> a new command line arg, perhaps.
> >
> > Putting # in device name just sounds like a bad idea.
> 
> It's been the standard naming for mac-vlans since we started supporting them.
> 
> In case you change your mind, this patch seems to work..though I can't figure out
> how to trigger the second bit of code in the while loop, so it may not be right.
> 
> I'll move my iproute2 tree to github in case someone else wants to give
> it a try.

I am going to put a more restrictive version of getcmdline().  Comments
will only be allowed at start of line.