On Thu, 6 Jun 2019 17:32:09 -0400 Roman Mashak <m...@mojatatu.com> wrote:
> The following operation fails: > % sudo tc actions add action pipe index 1 > % sudo tc filter add dev lo parent ffff: \ > protocol ip pref 10 u32 match ip src 127.0.0.2 \ > flowid 1:10 action gact index 1 > > Bad action type index > Usage: ... gact <ACTION> [RAND] [INDEX] > Where: ACTION := reclassify | drop | continue | pass | pipe | > goto chain <CHAIN_INDEX> | jump <JUMP_COUNT> > RAND := random <RANDTYPE> <ACTION> <VAL> > RANDTYPE := netrand | determ > VAL : = value not exceeding 10000 > JUMP_COUNT := Absolute jump from start of action list > INDEX := index value used > > However, passing a control action of gact rule during filter binding works: > > % sudo tc filter add dev lo parent ffff: \ > protocol ip pref 10 u32 match ip src 127.0.0.2 \ > flowid 1:10 action gact pipe index 1 > > Binding by reference, i.e. by index, has to consistently work with > any tc action. > > Since tc is sensitive to the order of keywords passed on the command line, > we can teach gact to skip parsing arguments as soon as it sees 'gact' > followed by 'index' keyword. > > Signed-off-by: Roman Mashak <m...@mojatatu.com> > --- Applied