jamal wrote:
You mean not passing it back via skbs but through something else?
What do you have in mind?
It does sound distasteful for either changing the ->act()
parametrization just so we can have a classid passed back or provide a
spot for it in struct tc_action since only some actions will need to
change it.
I meant changing ->act() to have the same prototype as tcf_act_exec()
itself:
- int (*act)(struct sk_buff **, struct tc_action *);
+ int (*act)(struct sk_buff **, struct tc_action *, struct
tcf_result *);
I see the issue with classid leaking - perhaps specific actions could
reset it when they steal packets? We should also reset it if the packet
is stolen.
Since its already reset after actions are executed, we only need to
additionally reset it for packets that take a different path.
At the moment I think this only happens with mirred.
Regards
Patrick
|