How many times has someone had to enable a protocol (such as ospf, eigrp, ldp, etc) on many interfaces and for did not noticed one was missed after hours of troubleshooting? I know I have done this numerous times. In fact, to many in which I would like to admit.
By default, mpls ip needs to be entered on every IGP interface to start LDP. MPLS LDP autoconfiguration is a feature which will globally configure LDP on every interface associated with a specified IGP. One thing to note, this feature if only supported with OSPF and IS-IS IGPs.
Configuration of this feature is real straight forward. I set up one router to have 10 ospf interfaces brought into ospf process 1.
R1#show ip ospf int bri
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Fa2/0        1     0               10.2.10.1/24       1     WAIT  0/0
Fa1/0        1     0               10.11.10.1/24      1     WAIT  0/0
Fa0/1        1     0               10.1.10.1/24       10    WAIT  0/0
Fa0/0        1     0               10.0.10.1/24       10    DR    0/0
Se0/1        1     1               172.16.1.1/24      64    DOWN  0/0
Se0/0        1     1               172.16.0.1/24      64    DOWN  0/0
Se0/3        1     3               172.16.3.1/24      64    DOWN  0/0
Se0/2        1     3               172.16.2.1/24      64    DOWN  0/0
Se0/4        1     4               172.16.4.1/24      64    DOWN  0/0
Se0/5        1     5               172.16.5.1/24      64    DOWN  0/0
Checking, nothing shows up in the mpls interface list.
R1#show mpls int
Interface              IP            Tunnel   Operational
R1#
Let’s enable this for all the interfaces under ospf 1.
R1(config)# router ospf 1
R1(config-router)#mpls ldp autoconfig
Now check the mpls interface list and all the interfaces with ospf enabled have mpls enabled now as well.
R1(config-router)#do show mpls int
Interface              IP            Tunnel   Operational
FastEthernet0/0        Yes (ldp)     No       Yes
FastEthernet0/1        Yes (ldp)     No       Yes
Serial0/0              Yes           No       No
Serial0/1              Yes           No       No
Serial0/2              Yes           No       No
Serial0/3              Yes           No       No
Serial0/4              Yes           No       No
Serial0/5              Yes           No       No
FastEthernet1/0        Yes (ldp)     No       Yes
FastEthernet2/0        Yes (ldp)     No       Yes
If you only want it for one area. This can be done as well.
R1(config-router)#no mpls ldp autoconfig
R1(config-router)#mpls ldp autoconfig area 0
Now only the interfaces in area 0 have mpls enabled.
R1(config-router)#do show mpls int
Interface              IP            Tunnel   Operational
FastEthernet0/0        Yes (ldp)     No       Yes
FastEthernet0/1        Yes (ldp)     No       Yes
FastEthernet1/0        Yes (ldp)     No       Yes
FastEthernet2/0        Yes (ldp)     No       Yes
If I remove an interface from ospf area 0, it automatically stops LDP on that interface.
R1(config)# int fa0/0
R1(config-if)# no ip ospf 1 area 0
R1(config-if)#do show mpls int
Interface              IP            Tunnel   Operational
FastEthernet0/1        Yes (ldp)     No       Yes
FastEthernet1/0        Yes (ldp)     No       Yes
FastEthernet2/0        Yes (ldp)     No       Yes
You can add multiple areas. If only Area 0 and 1 are to run mpls, there would be two autoconfig lines, one with each area.


Reference
1.
http://www.packetpundit.com/blog/wordpress/2011/06/21/mpls-ldp-autoconfig/

2.
http://zahid-stanikzai.com/mpls-auto-config/