Hi Mark,
first-of-all,
Question: Have you ensured that you have "Reverse routes" (either static / dynamically-learnt) on your other end-points?
If not, either add static reverse routes, or learn dynamically (via OSPF etc...).
I tried - it works.
Since, I don't have MPLS etc.. So to keep it simple, I used three MAS devices to simulate your requirement.
Below is the setup details, I tried on, where PBR works.
Switch on far left denotes the box where PBR is configued. Switch on top-right denotes your data-centre (10.0.0.0 / 8 network)
And Switch on right-bottom indicates your DSL modem, which connects to internet/other networks.
(MAS) #show acl acl-table | include 102
31 stateless 438 2 3 102routing 1
When sending traffic to 10.0.0.0/8 network
(MAS) #show datapath dpe acl hits 31
Datapath Element ACL Hits
-------------------------
Index Source Destination Proto Pkts Bytes
----- ------------------- -------------------- ------------------ -------- --------
438: 10.102.43.0 255.255.255.0 10.0.0.0 255.0.0.0 any 31129 26176
439: 10.102.43.0 255.255.255.0 0.0.0.0 0.0.0.0 any 0 0
440: ::/0 ::/0 any 0 0
When sending traffic to non-10 network (internet)
(MAS) #show datapath dpe acl hits 31
Datapath Element ACL Hits
-------------------------
Index Source Destination Proto Pkts Bytes
----- ------------------- -------------------- ------------------ -------- --------
438: 10.102.43.0 255.255.255.0 10.0.0.0 255.0.0.0 any 0 0
439: 10.102.43.0 255.255.255.0 0.0.0.0 0.0.0.0 any 41553 37952
440: ::/0 ::/0 any 0 0
Thanks,
-Vinay