How to differentiate ping and tracetoute packet?

I tried to mangle:
chain=prerouting action=mark-routing new-routing-mark=400 passthrough=no protocol=icmp ttl=greater-than:30 in-interface=ether2 icmp-options=8:0
and route:
A S dst-address=0.0.0.0/0 gateway=x.x.x.x gateway-status=x.x.x.x reachable via ether1 distance=1 scope=30 target-scope=10 routing-mark=400
A S dst-address=0.0.0.0/0 gateway=y.y.y.y gateway-status=y.y.y.y reachable via ether1 distance=1 scope=30 target-scope=10
The packets of ping and traceroute go to x.x.x.x all.