While studying MPLS I couldn't understand it's one basic functionality. Mpls creates tunnel interfaces or pseudowires between label edge routers. To achieve traffic engineering I can set different limits on different tunnels. But what decides which packet takes which tunnel. For instance at the ingress LER there are 3 tunnel interfaces with throughout 50,100,250 mbps respectively. If a packet now enters the mpls network what decides which tunnel it will use .
One option I saw was static which has obvious limitations.
Second option was route maps. Does this mean I can match source IP address and determine tunnel interface ?
Third option is auto and I couldn't understand how it works.
In general does any deep packet inspection technique be used ?