On Sat, 2024-07-06 at 00:00 +0200, Tobias Waldekranz wrote: > I think it might read a bit better if we model it like the hairpin check > above. I.e. (special_mode || regular_condition) > > It's not really that the state is forwarding when mst is enabled, we > simply ignore the port-global state in that case. > > > - p->state == BR_STATE_FORWARDING && br_allowed_egress(vg, skb) && > > + state == BR_STATE_FORWARDING && br_allowed_egress(vg, skb) && > > so something like: > > ... > (br_mst_is_enabled(p->br) || p->state == BR_STATE_FORWARDING) && > br_allowed_egress(vg, skb) && nbp_switchdev_allowed_egress(p, skb) && > ... Yes you're right, that's much clearer. I'll go with that.