I use FreeBSD 9.2 and ipfw
IPFW rules are defined as follows.
02900 skipto 3003 ip from any to any via gbeth1 out
03003 skipto 3005 ip from any to any dscp af11
03004 skipto 3007 ip from any to any
03005 setdscp af12 altq af11-gbeth1-out ip from any to any via gbeth1 out
03006 skipto 3010 ip from any to any
03007 skipto 3009 ip from any to any dscp af12
03008 skipto 3010 ip from any to any
03009 setdscp cs7 altq af12-gbeth1-out ip from any to any via gbeth1 out
65535 allow ip from any to any
And packets with dscp af11 and af12 be sent to the gbeth1 interface.
Af11 packets match with Rule 3003 then change dscp value of then to af12 in rule 3005 .
But this packets re-match with rule 3007 and changes dscp value again in 3009 to cs7.
Thus, at the bottom of all outgoing packets from this interface are dscp cs7.