Patent ID: 7272643

Claim:
A method comprising: causing a subset of processing resources of a plurality of processing elements of a service processing switch to be allocated among a plurality of customers of a service provider by establishing a plurality of virtual routers (VRs) and assigning a subset of the VRs to the plurality of customers; and performing a profile-driven routing configuration of a customer virtual private network (VPN) of a first customer of the plurality of customers by programmatically determining a set of site reachability data corresponding to a plurality of sites of the first customer that are communicatively coupled to the service processing switch, logically dividing the customer VPN into a plurality of edge segments, a plurality of intra-VPN segments and a plurality of inter-VPN segments, the plurality of edge segments connecting the customer VPN to the plurality of sites and including virtual interfaces connected to logical interfaces and tunnel interfaces having remote ends outside the customer VPN, the plurality of intra-VPN segments providing connectivity among customer VRs of the plurality of VRs that are associated with the customer VPN, and the plurality of inter-VPN segments providing connectivity between the customer VPN and a service provider VPN, receiving at a service management system associated with the service provider from a customer network management system associated with the first customer, a custom routing profile associated with the customer VPN, the custom routing profile identifying a first routing protocol to be used for the plurality of intra-VPN segments and a second routing protocol to be used for the plurality of edge segments, and the service management system automatically configuring the customer VPN by programmatically generating appropriate routing configurations for the customer VRs based on the set of site reachability data and the custom routing profile and provisioning the customer VRs.