]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/command_lex.l
lib: add CLI token for 48-bit mac addresses
[mirror_frr.git] / lib / command_lex.l
index c020d193a12515b45671ae12c9cb6ff44ee01c84..59d0d840a88a8325cd1b66aa6bb794d99b291544 100644 (file)
@@ -40,6 +40,8 @@ IPV4            A\.B\.C\.D
 IPV4_PREFIX     A\.B\.C\.D\/M
 IPV6            X:X::X:X
 IPV6_PREFIX     X:X::X:X\/M
+MAC             M:A:C
+MAC_PREFIX      M:A:C\/M
 VARIABLE        [A-Z][-_a-zA-Z:0-9]+
 NUMBER          (\-|\+)?[0-9]{1,20}
 RANGE           \({NUMBER}[ ]?\-[ ]?{NUMBER}\)
@@ -49,8 +51,8 @@ RANGE           \({NUMBER}[ ]?\-[ ]?{NUMBER}\)
 %option noyywrap
 %option nounput
 %option noinput
-%option outfile="command_lex.c"
-%option header-file="command_lex.h"
+%option outfile="lib/command_lex.c"
+%option header-file="lib/command_lex.h"
 %option prefix="cmd_yy"
 %option reentrant
 %option bison-bridge
@@ -67,6 +69,8 @@ RANGE           \({NUMBER}[ ]?\-[ ]?{NUMBER}\)
 {IPV4_PREFIX}   {yylval->string = XSTRDUP(MTYPE_LEX, yytext); return IPV4_PREFIX;}
 {IPV6}          {yylval->string = XSTRDUP(MTYPE_LEX, yytext); return IPV6;}
 {IPV6_PREFIX}   {yylval->string = XSTRDUP(MTYPE_LEX, yytext); return IPV6_PREFIX;}
+{MAC}           {yylval->string = XSTRDUP(MTYPE_LEX, yytext); return MAC;}
+{MAC_PREFIX}    {yylval->string = XSTRDUP(MTYPE_LEX, yytext); return MAC_PREFIX;}
 {VARIABLE}      {yylval->string = XSTRDUP(MTYPE_LEX, yytext); return VARIABLE;}
 {RANGE}         {yylval->string = XSTRDUP(MTYPE_LEX, yytext); return RANGE;}
 .               {return yytext[0];}