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

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/zonecfg/zonecfg_lex.l
          +++ new/usr/src/cmd/zonecfg/zonecfg_lex.l
↓ open down ↓ 49 lines elided ↑ open up ↑
  50   50  
  51   51  int lex_lineno = 1;     /* line number for error reporting */
  52   52  static int state = INITIAL;
  53   53  extern boolean_t cmd_file_mode;
  54   54  extern boolean_t saw_error;
  55   55  extern void yyerror(char *s);
  56   56  
  57   57  static char *create_token(char *s);
  58   58  %}
  59   59  
  60      -%a 7000
       60 +%a 8000
  61   61  %p 5000
  62   62  %e 2000
  63   63  %n 1000
       64 +%o 13000
  64   65  
  65   66  %{
  66   67  /*
  67   68   * The three states below are for tokens, lists and complex property values.
  68   69   * Note that simple property values are a subset of tokens.
  69   70   */
  70   71  %}
  71   72  %s TSTATE
  72   73  %s LSTATE
  73   74  %s CSTATE
↓ open down ↓ 155 lines elided ↑ open up ↑
 229  230  
 230  231  <TSTATE>address { return ADDRESS; }
 231  232  <CSTATE>address { return ADDRESS; }
 232  233  
 233  234  <TSTATE>physical        { return PHYSICAL; }
 234  235  <CSTATE>physical        { return PHYSICAL; }
 235  236  
 236  237  <TSTATE>defrouter       { return DEFROUTER; }
 237  238  <CSTATE>defrouter       { return DEFROUTER; }
 238  239  
      240 +<TSTATE>mac-addr        { return MAC; }
      241 +<CSTATE>mac-addr        { return MAC; }
      242 +
      243 +<TSTATE>vlan-id         { return VLANID; }
      244 +<CSTATE>vlan-id         { return VLANID; }
      245 +
      246 +<TSTATE>global-nic      { return GNIC; }
      247 +<CSTATE>global-nic      { return GNIC; }
      248 +
      249 +<TSTATE>property        { return NPROP; }
      250 +<CSTATE>property        { return NPROP; }
      251 +
 239  252  <TSTATE>dir     { return DIR; }
 240  253  <CSTATE>dir     { return DIR; }
 241  254  
 242  255  <TSTATE>special { return SPECIAL; }
 243  256  <CSTATE>special { return SPECIAL; }
 244  257  
 245  258  <TSTATE>raw     { return RAW; }
 246  259  <CSTATE>raw     { return RAW; }
 247  260  
 248  261  <TSTATE>name    { return NAME; }
↓ open down ↓ 100 lines elided ↑ open up ↑
 349  362  
 350  363  <LSTATE>[^ \t\n\",;=\[\]\(\)]+  {
 351  364                          yylval.strval = create_token(yytext);
 352  365                          return TOKEN;
 353  366                  }
 354  367  
 355  368  <CSTATE>[^ \t\n\",;=\(\)]+      {
 356  369                          yylval.strval = create_token(yytext);
 357  370                          return TOKEN;
 358  371                  }
      372 +
      373 +<CSTATE>\"[^\"\n]*[\"\n] {
      374 +                        yylval.strval = create_token(yytext + 1);
      375 +                        if (yylval.strval[yyleng - 2] == '"')
      376 +                                yylval.strval[yyleng - 2] = 0;
      377 +                        return TOKEN;
      378 +                }
 359  379  
 360  380  <TSTATE>\"[^\"\n]*[\"\n] {
 361  381                          yylval.strval = create_token(yytext + 1);
 362  382                          if (yylval.strval[yyleng - 2] == '"')
 363  383                                  yylval.strval[yyleng - 2] = 0;
 364  384                          return TOKEN;
 365  385                  }
 366  386  
 367  387  <LSTATE>\"[^\"\n]*[\"\n] {
 368  388                          yylval.strval = create_token(yytext + 1);
↓ open down ↓ 165 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX