Queues and traffic shaping and interfaces?

I’m trying to set up bandwidth shaping and prioritization at home. I’ve setup mangle rules to mark the traffic correctly, but have problems with the queue trees.

I have MT, dsl router and computer all plugged into a switch.
My queue tree looks like this:

 0 X name="queue-p2p-DL" parent=DL packet-mark=p2p limit-at=512000 queue=default priority=8 max-limit=4000000 
     burst-limit=0 burst-threshold=0 burst-time=0s 

 1 X name="queue-p2p-UL" parent=UL packet-mark=p2p limit-at=64000 queue=default priority=8 max-limit=500000 
     burst-limit=0 burst-threshold=0 burst-time=0s 

 2 X name="queue-http-UL" parent=UL packet-mark=http limit-at=384000 queue=default priority=3 max-limit=500000 
     burst-limit=0 burst-threshold=0 burst-time=0s 

 3 X name="queue-http-DL" parent=DL packet-mark=http limit-at=3000000 queue=default priority=1 max-limit=4000000 
     burst-limit=0 burst-threshold=0 burst-time=0s 

 4 X name="DL" parent=global-in packet-mark="" limit-at=0 queue=default priority=2 max-limit=4000000 
     burst-limit=0 burst-threshold=0 burst-time=0s 

 5 X name="UL" parent=global-out packet-mark="" limit-at=0 queue=default priority=1 max-limit=512000 
     burst-limit=0 burst-threshold=0 burst-time=0s

What happens when I enable the rules, is that my DL gets confused for UL, and gets throttled…

The same rules work as intended when UL parent is set to a wifi interface (another net connection).
Also I can’t use MT to connect to the net, my ISP doesn’t give out PPPOE info so I’m stuck with the DSL router.

I’m thinking it would work better if I plugged another ethernet card and used it as a parent for the rules.
Can anyone more knowledgeable help out?