On 10 March 2015 at 12:34, Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> wrote: > On Tue, Mar 10, 2015 at 11:31:00AM +0100, Arturo Borrero Gonzalez wrote: >> On 9 March 2015 at 20:38, Arturo Borrero Gonzalez >> <arturo.borrero.glez@xxxxxxxxx> wrote: >> > The syntax is: >> > tee gw <addr> [oifname <str>] >> > >> [...] >> > >> > +tee_stmt : tee_stmt_alloc tee_stmt_opt >> > + ; >> > + >> > +tee_stmt_alloc : TEE >> > + { >> > + $$ = tee_stmt_alloc(&@$); >> > + } >> > + ; >> > + >> > +tee_stmt_opt : GW expr >> > + { >> > + $<stmt>0->tee.gw = $2; >> > + } >> > + | OIFNAME STRING >> > + { >> > + $<stmt>0->tee.oifname = strdup($2); >> > + } >> > + ; >> > + >> >> This grammar is not completely right. >> >> However, using something like this: >> >> tee_stmt : TEE tee_stmt_opts >> { >> $$ = tee_stmt_alloc(&@$); >> } >> ; >> >> tee_stmt_opts : tee_stmt_opts tee_stmt_opt >> | tee_stmt_opt >> ; >> >> tee_stmt_opt : GW expr >> { >> $<stmt>0->tee.gw = $2; >> } >> | OIFNAME string >> { >> $<stmt>0->tee.oifname = strdup($2); >> } >> ; >> >> lead to shift/reduce conflicts, because expr can be `OIFNAME string'. >> >> Any idea? > > You use STRING instead for GW and make sure from the evaluation step > that this is a valid address? Nop :-( still conflict. -- Arturo Borrero González -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html