its exactly the way you just said. after mangle all known traffic create a mangle without any options and just with a packet mark (packetmark=other)
add chain=prerouting (or forwarding chain) action=mark-packet new-packet-mark=other_in passthrough=no comment="unmarked traffic" disabled=no
Well, I've tried. Not working.
If I have one rule for http and at the bottom one rule as you recommend without any option marking everything as p2p then most part of http traffic goes to queue for p2p, but if I disable rule marking p2p traffic - all http traffic goes to http queue:
ip firewall mangle pr
chain=forward action=mark-packet new-packet-mark=http
passthrough=yes connection-mark=http
chain=forward action=mark-packet new-packet-mark=p2p
passthrough=yes
queue simple prin
name="p2p" dst-address=0.0.0.0/0 interface=all parent=none
packet-marks=p2p direction=both priority=8
queue=hotspot-default/hotspot-default limit-at=0/0
max-limit=9000000/9000000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small
name="http" dst-address=0.0.0.0/0 interface=all parent=none
packet-marks=http direction=both priority=8
queue=default-small/default-small limit-at=0/0
max-limit=3000000/3000000 burst-limit=0/0 burst-threshold=0/0
burst-time=0s/0s total-queue=default-small