Print this page
OS-224 add more zonecfg net properties
OS-216 store all net config info on zone

@@ -55,14 +55,15 @@
 extern void yyerror(char *s);
 
 static char *create_token(char *s);
 %}
 
-%a 7000
+%a 8000
 %p 5000
 %e 2000
 %n 1000
+%o 13000
 
 %{
 /*
  * The three states below are for tokens, lists and complex property values.
  * Note that simple property values are a subset of tokens.

@@ -234,10 +235,22 @@
 <CSTATE>physical        { return PHYSICAL; }
 
 <TSTATE>defrouter       { return DEFROUTER; }
 <CSTATE>defrouter       { return DEFROUTER; }
 
+<TSTATE>mac-addr        { return MAC; }
+<CSTATE>mac-addr        { return MAC; }
+
+<TSTATE>vlan-id         { return VLANID; }
+<CSTATE>vlan-id         { return VLANID; }
+
+<TSTATE>global-nic      { return GNIC; }
+<CSTATE>global-nic      { return GNIC; }
+
+<TSTATE>property        { return NPROP; }
+<CSTATE>property        { return NPROP; }
+
 <TSTATE>dir     { return DIR; }
 <CSTATE>dir     { return DIR; }
 
 <TSTATE>special { return SPECIAL; }
 <CSTATE>special { return SPECIAL; }

@@ -354,10 +367,17 @@
 
 <CSTATE>[^ \t\n\",;=\(\)]+      {
                         yylval.strval = create_token(yytext);
                         return TOKEN;
                 }
+
+<CSTATE>\"[^\"\n]*[\"\n] {
+                        yylval.strval = create_token(yytext + 1);
+                        if (yylval.strval[yyleng - 2] == '"')
+                                yylval.strval[yyleng - 2] = 0;
+                        return TOKEN;
+                }
 
 <TSTATE>\"[^\"\n]*[\"\n] {
                         yylval.strval = create_token(yytext + 1);
                         if (yylval.strval[yyleng - 2] == '"')
                                 yylval.strval[yyleng - 2] = 0;