Configuring Scalable Hub-and-Spoke MPLS VPNs

This module explains how to ensure that virtual private network (VPN) clients that connect to the same provider edge (PE) router at the edge of the Mutliprotocol (MPLS) Virtual Private Network (VPN) use the hub site. This feature prevents the VPN clients from communicating directly with each other, bypassing the hub site. This feature also provides scalable hub-and-spoke connectivity for subscribers of an MPLS VPN service by removing the requirement of one VRF per spoke.
Module History

This module was first published on May 2, 2005, and last updated on May 2, 2005.
Finding Feature Information in This Module

Your Cisco IOS software release may not support all features. To find information about feature support and configuration, use the “Feature Information for Configuring Scalable Hub-and-Spoke MPLS VPNs” section on page 15.

Contents
• • • • • • •

Prerequisites for Configuring Scalable Hub-and-Spoke MPLS VPNs, page 2 Restrictions for Configuring Scalable Hub-and-Spoke MPLS VPNs, page 2 Information about Configuring Scalable Hub-and-Spoke MPLS VPNs, page 2 How to Ensure that MPLS VPN Clients Use the Hub PE Router, page 4 Configuration Examples for Configuring Scalable Hub-and-Spoke MPLS VPNs, page 9 Additional References, page 14 Feature Information for Configuring Scalable Hub-and-Spoke MPLS VPNs, page 15

Corporate Headquarters: Cisco Systems, Inc., 170 West Tasman Drive, San Jose, CA 95134-1706 USA

Copyright © 2005 Cisco Systems, Inc. All rights reserved.

this solution was not scalable. When many spokes connected to the same PE router. you need to understand the following concepts: • • • Overview. Interfaces that are not configured with this feature. Multicast is not supported on interfaces configured for hub-and-spoke MPLS VPNs. Figure 1 shows a sample hub-and-spoke topology. but never from the access-side interface to the access-side interface. This prevents subscribers from directly connecting to each other. You can configure this feature only on virtual access interfaces (VAIs) and virtual template interfaces (VTIs). configuration of VRFs for each spoke became quite complex and greatly increased memory usage. page 3 Overview This feature prevents local connectivity between subscribers at the spoke provider edge (PE) router and ensures that a hub site provides subscriber connectivity. when spokes connected to the same PE router. page 3 Reverse Path Forwarding Check. Any sites that connect to the same PE router must forward intersite traffic using the hub site. However. Only unnumbered interfaces are supported. In prior releases. Cisco IOS MPLS Configuration Guide 2 . • • • Information about Configuring Scalable Hub-and-Spoke MPLS VPNs To configure this feature. This feature eases configuration by removing the requirement of one VRF per spoke. Restrictions for Configuring Scalable Hub-and-Spoke MPLS VPNs • In both the upstream and downstream VRFs. page 2 Upstream and Downstream VRFs. This ensures that the routing done at the spoke site moves from the access-side interface to the network-side interface or from the network-side interface to the access-side interface.Configuring Scalable Hub-and-Spoke MPLS VPNs Prerequisites for Configuring Scalable Hub-and-Spoke MPLS VPNs Prerequisites for Configuring Scalable Hub-and-Spoke MPLS VPNs You must have a working MPLS core network. each spoke was configured in a separate VRF to ensure that the traffic between the spokes traversed the central link between the wholesale service provider and the ISP. This was especially true in large-scale environments that supported high-density remote access to Layer 3 VPNs. This feature prevents situations where the PE router locally switches the spokes without passing the traffic through the hub site. however. do not have this restriction for the upstream or downstream VRFs. routing protocols are not supported on interfaces configured with this feature.

It also contains the routes imported from the hub PE router. The VRF configured on the hub PE router imports the advertised summary route. Cisco IOS MPLS Configuration Guide 3 . The downstream VRF forwards traffic from the hub PE router back to the spokes. This feature supports unicast RPF check on the spoke-side interfaces. Authorization. This VRF typically contains only a default route but might also contain summary routes and multiple default routes. The default route points to the interface on the hub PE router that connects to the upstream ISP. This VRF contains Point-to-Point Protocol (PPP) peer routes for the spokes and per-user static routes received from the Authentication.Configuring Scalable Hub-and-Spoke MPLS VPNs Information about Configuring Scalable Hub-and-Spoke MPLS VPNs Figure 1 Hub-and-Spoke Topology Spokes Spoke PE Router CE1 ISP MPLS Core CE2 104543 P Router Hub PE Router Hub CE Router Upstream and Downstream VRFs This feature uses two unidirectional VRFs to forward IP traffic between the spokes and the hub PE router: • The upstream VRF forwards the IP traffic from the spokes toward the hub PE router. but it contains no other local interfaces. and Accounting (AAA) server. Because different VRFs are used for downstream and upstream forwarding. • Reverse Path Forwarding Check The unicast Reverse Path Forwarding (RPF) check ensures that an IP packet that enters a router uses the correct inbound interface. The upstream VRF also contains the VAIs that connect the spokes. The router dynamically learns about the default route from the routing updates that the hub PE router or home gateway sends. The spoke PE router typically advertises a summary route across the MPLS core for the connected spokes. the RPF mechanism ensures that source address checks occur in the downstream VRF. The router redistributes routes from the downstream VRF into Multiprotocol Border Gateway Protocol (MP-BGP).

Example: Router(config)# ip vrf U Cisco IOS MPLS Configuration Guide 4 . 5. page 7 (optional) Configuring the Upstream and Downstream VRFs on the PE Router or the Spoke PE Router To configure the upstream and downstream VRFs on the PE router or on the spoke PE router. page 4 (required) Associating VRFs. Example: Router# configure terminal Step 3 ip vrf vrf-name Enters VRF configuration mode and defines the VRF instance by assigning a VRF name. page 5 (required) Configuring the Downstream VRF for an AAA Server. 3. Example: Router> enable Step 2 configure terminal Enters global configuration mode. • Enter your password if prompted. 2. enable configure terminal ip vrf vrf-name rd route-distinguisher route-target {import | export | both} route-target-ext-community exit DETAILED STEPS Command or Action Step 1 enable Purpose Enables privileged EXEC mode. 6. page 6 (optional) Verifying the Configuration. 4. use the following procedure.Configuring Scalable Hub-and-Spoke MPLS VPNs How to Ensure that MPLS VPN Clients Use the Hub PE Router How to Ensure that MPLS VPN Clients Use the Hub PE Router This section contains the following procedures: • • • • Configuring the Upstream and Downstream VRFs on the PE Router or the Spoke PE Router. SUMMARY STEPS 1.

associate each VRF with the following: • • Interface or subinterface Virtual template interface To associate a VRF. The export keyword is required to create a downstream VRF. 3. Example: Router(config-vrf)# rd 1:0 Step 5 route-target {import | export | both} route-target-ext-community Creates a list of import and export route target communities for the specified VRF.Configuring Scalable Hub-and-Spoke MPLS VPNs How to Ensure that MPLS VPN Clients Use the Hub PE Router Command or Action Step 4 rd route-distinguisher Purpose Creates routing and forwarding tables. The upstream VRF is used to import the default route from the hub PE router. 2. enable configure terminal interface virtual-template number ip vrf forwarding vrf-name1 [downstream vrf-name2] ip unnumbered type number exit Cisco IOS MPLS Configuration Guide 5 . 5. enter the following commands on the PE router. • Step 6 exit Returns to global configuration mode. 6. After you define and configure the VRFs on the PE routers. Example: Router(config-vrf)# exit Associating VRFs The virtual template interface is used to create and configure a virtual access interface (VAI). • Example: Router(config-vrf)# route-target import 1:0 The import keyword is required to create an upstream VRF. The downstream VRF is used to export the routes of all subscribers of a given service that the VRF serves. SUMMARY STEPS 1. 4.

The vrf-name2 argument is the name of the downstream VRF into which the PPP peer route and all of the per-user routes from the AAA server are installed. Cisco IOS MPLS Configuration Guide 6 . • Enter your password if prompted. • Step 4 ip vrf forwarding vrf-name1 [downstream vrf-name2] Example: Router(config-if)# ip vrf forwarding vpn1 downstream D The vrf-name1 argument is the name of the VRF associated with the virtual template interface. see Configuring Virtual Template Interfaces. Example: Router> enable Step 2 configure terminal Enters global configuration mode. If an AAA server is used. Example: Router# configure terminal Step 3 interface virtual-template number Example: Router(config)# interface virtual-template 1 Creates a virtual template interface that can be configured and applied dynamically in creating virtual access interfaces. The type and number arguments are the type and number of another interface on which the router has an assigned IP address. It cannot be another unnumbered interface. Enters interface configuration mode. it provides the VRF membership. you do not need to configure the VRF members on the virtual templates. • Step 5 ip unnumbered type number Enables IP processing on an interface without assigning an explicit IP address to the interface.Configuring Scalable Hub-and-Spoke MPLS VPNs How to Ensure that MPLS VPN Clients Use the Hub PE Router DETAILED STEPS Command or Action Step 1 enable Purpose Enables privileged EXEC mode. Associates a virtual template interface with the VRF you specify. Example: Router(config-if)# ip unnumbered Loopback1 Step 6 exit Example: Router(config-if)# exit Configuring the Downstream VRF for an AAA Server To configure the downstream VRF for an AAA server. Returns to global configuration mode. enter the following Cisco attribute value: lcp:interface-config=ip vrf forwarding U downstream D For more information about configuring a RADIUS server.

default VPNID <not set> Interfaces: Loopback2 Virtual-Access3 [D] Virtual-Access4 [D] Connected addresses are not in global routing table Export VPN route-target communities RT:2:0 Import VPN route-target communities RT:2:1 No import route-map No export route-map VRF U. The following example shows how to display detailed information for the VRF called vrf1. show ip vrf [brief | detail | interfaces | id] [vrf-name] [output-modifiers] show ip route vrf vrf-name show running-config [interface type number] DETAILED STEPS Step 1 show ip vrf [brief | detail | interfaces | id] [vrf-name] [output-modifiers] Use this command to display information about all of the VRFs configured on the router.Configuring Scalable Hub-and-Spoke MPLS VPNs How to Ensure that MPLS VPN Clients Use the Hub PE Router Verifying the Configuration To verify the configuration. 2. perform the following steps. including all of the VAIs associated with the VRF. default VPNID <not set> Interfaces: Virtual-Access3 Virtual-Access4 Connected addresses are not in global routing table No Export VPN route-target communities Import VPN route-target communities RT:2:1 No import route-map No export route-map Step 2 show ip route vrf vrf-name Cisco IOS MPLS Configuration Guide 7 . SUMMARY STEPS 1. including the downstream VRF for each associated VAI. including all of the VAIs associated with each VRF. default RD 2:1. If you do not specify a value for vrf-name. Router# show ip vrf detail vrf1 VRF D. 3. default RD 2:0. Router# show ip vrf Name D Default RD 2:0 Interface Loopback2 Virtual-Access3 [D] Virtual-Access4 [D] Virtual-Access3 Virtual-Access4 U 2:1 show ip vrf detail vrf-name Use this command to display detailed information about the VRF you specify. detailed information about all of the VRFs configured on the router appears.

IS-IS. U .IS-IS level-1.RIP.candidate default. U .OSPF external type 2 i .BGP D .0.mobile.connected. 1 subnets 2. Loopback2 0.0.0. E2 . IA .1.IS-IS level-1. Null0 2.connected. S .0.0.OSPF external type 1. R .0.0.0. N2 .RIP. Router# show ip route vrf U Routing Table: U Codes: C .IS-IS.8 is directly connected.EIGRP external.0.OSPF NSSA external type 2 E1 .OSPF inter area N1 .IS-IS level-2. L2 .8.IS-IS interarea * .0/8 is variably subnetted.per-user static route.0. E2 . L1 .mobile.1/32 is directly connected.EIGRP.0.8. 5 subnets. O . M . o .ODR P .EIGRP. R . S .OSPF NSSA external type 1.0.OSPF.OSPF.OSPF NSSA external type 2 E1 . The following example shows how to display the routing table for the downstream VRF named D.static.0/8 is directly connected.0 2.8. ia . N2 .0/0 [200/0] via 100. and information about the per-user static routes installed in the downstream VRF. Virtual-Access3 U S U C C The following example shows how to display the routing table for the upstream VRF named U.0/32 is subnetted. EX .1 2.EIGRP external. B .IS-IS level-2. 2 masks 2. L1 .0.20.0. IA .OSPF external type 1. O .periodic downloaded static route Gateway of last resort is not set 2.0. 1w5d C B* Cisco IOS MPLS Configuration Guide 8 .Configuring Scalable Hub-and-Spoke MPLS VPNs How to Ensure that MPLS VPN Clients Use the Hub PE Router Use this command to display the IP routing table for the VRF you specify.0.static.OSPF NSSA external type 1.5/32 [1/0] via 2. Router# show ip route vrf D Routing Table: D Codes: C . Virtual-Access4 2.IS-IS inter area * .BGP D . ia .1.per-user static route. M .0.0. EX .2 2.ODR P . B .2/32 is directly connected.1. L2 .1.20 to network 0.periodic downloaded static route Gateway of last resort is 100.8.OSPF inter area N1 .OSPF external type 2 i . o .candidate default.2/32 [1/0] via 2.0.0.

The following example shows how to display information about the interface named virtual-access 3. page 12 Cisco IOS MPLS Configuration Guide 9 . Current configuration : 92 bytes ! interface Virtual-Access4 ip vrf forwarding U downstream D ip unnumbered Loopback2 end Configuration Examples for Configuring Scalable Hub-and-Spoke MPLS VPNs This section provides the following configuration examples: • • • • Configuring the Upstream and Downstream VRFs on the PE Router and the Spoke PE Router: Example. Router# show running-config interface virtual-access 3 Building configuration. Router# show running-config interface virtual-access 4 Building configuration. Current configuration : 92 bytes ! interface Virtual-Access3 ip vrf forwarding U downstream D ip unnumbered Loopback2 end The following example shows how to display information about the interface named virtual-access 4. page 10 Associating VRFs: Example. page 10 Configuring Scalable Hub-and-Spoke MPLS VPNs—Basic Configuration: Example. page 11 Configuring Scalable Hub-and-Spoke MPLS VPNs: Example.. including information about the upstream and downstream VRFs.Configuring Scalable Hub-and-Spoke MPLS VPNs Configuration Examples for Configuring Scalable Hub-and-Spoke MPLS VPNs Step 3 show running-config [interface type number] Use this command to display information about the virtual access interface you specify....

Configuring Scalable Hub-and-Spoke MPLS VPNs Configuration Examples for Configuring Scalable Hub-and-Spoke MPLS VPNs Configuring the Upstream and Downstream VRFs on the PE Router and the Spoke PE Router: Example The following example configures an upstream VRF named U: Router> enable Router# configure terminal Router(config)# ip vrf U Router(config-vrf)# rd 1:0 Router(config-vrf)# route-target import 1:0 The following example configures a downstream VRF named D: Router> enable Router# configure terminal Router(config)# ip vrf D Router(config-vrf)# rd 1:8 Router(config-vrf)# route-target export 1:100 Associating VRFs: Example The following example associates the VRF named U with the virtual-template 1 interface and specifies the downstream VRF named D: Router> enable Router# configure terminal Router(config)# interface virtual-template 1 Router(config-if)# ip vrf forwarding U downstream D Router(config-if)# ip unnumbered Loopback1 Cisco IOS MPLS Configuration Guide 10 .

Figure 2 Sample Topology Spokes Spoke PE Router Labe ATM Lipno Vitava Odra MPLS Core Svitava Nezarka P Router Hub PE Router Hub Router ISP 97768 ip vrf D rd 1:8 route-target export 1:100 ! ip vrf U rd 1:0 route-target import 1:0 ! ip cef vpdn enable ! vpdn-group U accept-dialin protocol pppoe virtual-template 1 ! interface Loopback2 ip vrf forwarding U ip address 2. the RADIUS server is not used.8 255.0.255 ! interface ATM2/0 description Mze ATM3/1/2 no ip address no atm ilmi-keepalive pvc 0/16 ilmi ! pvc 3/100 protocol pppoe ! pvc 3/101 protocol pppoe ! interface Virtual-Template1 ip vrf forwarding U downstream D ip unnumbered Loopback2 peer default ip address pool U-pool ppp authentication chap Cisco IOS MPLS Configuration Guide 11 .0.255. local authentication is used. This example uses the hub-and-spoke topology shown in Figure 2. that is.Configuring Scalable Hub-and-Spoke MPLS VPNs Configuration Examples for Configuring Scalable Hub-and-Spoke MPLS VPNs Configuring Scalable Hub-and-Spoke MPLS VPNs—Basic Configuration: Example In this example.255.

Note The wholesale provider can forward the user authentication request to the corresponding ISP. all communication occurs using the hub PE router.0.Configuring Scalable Hub-and-Spoke MPLS VPNs Configuration Examples for Configuring Scalable Hub-and-Spoke MPLS VPNs Configuring Scalable Hub-and-Spoke MPLS VPNs: Example The following example shows how to connect two Point-to-Point Protocol over Ethernet (PPPoE) clients to a single VRF pair on the spoke PE router named Lipno.8 255.34 remote-as 1 neighbor 100.to hub rd 1:0 route-target import 1:0 ! ip cef vpdn enable ! vpdn-group U accept-dialin protocol pppoe virtual-template 1 ! interface Loopback2 ip vrf forwarding U ip address 2.to spokes rd 1:8 route-target export 1:100 ! ip vrf U description Upstream VRF . Although both PPPoE clients are configured in the same VRF.255.0.0.26 auth-port 1812 acct-port 1813 ! aaa authentication ppp default group radius aaa authorization network default group radius ! ip vrf D description Downstream VRF .0.20. If the ISP authenticates the user. This example uses the hub-and-spoke topology shown in Figure 2. the wholesale provider appends the VRF information to the request that goes back to the PE router.0.255 ! interface ATM2/0 pvc 3/100 protocol pppoe ! pvc 3/101 protocol pppoe ! interface virtual-template 1 no ip address ppp authentication chap ! router bgp 1 no synchronization neighbor 100.0.34 update-source Loopback0 no auto-summary ! Cisco IOS MPLS Configuration Guide 12 . Half-duplex VRFs are configured on the spoke PE. aaa new-model ! aaa group server radius R server 22.0. The client configuration is downloaded to the spoke PE from the RADIUS server.255.

0.26 auth-port 1812 acct-port 1813 radius-server key cisco Cisco IOS MPLS Configuration Guide 13 .0.0 255.Configuring Scalable Hub-and-Spoke MPLS VPNs Configuration Examples for Configuring Scalable Hub-and-Spoke MPLS VPNs address-family vpnv4 neighbor 100.1.8.0.34 send-community extended auto-summary exit-address-family ! address-family ipv4 vrf U no auto-summary no synchronization exit-address-family ! address-family ipv4 vrf D redistribute static no auto-summary no synchronization exit-address-family ! ip local pool U-pool 2.34 activate neighbor 100.20.100 ip route vrf D 2.8.0.0.1 2.0.0 Null0 ! radius-server host 22.0.1.0.0.

Configuring Scalable Hub-and-Spoke MPLS VPNs Additional References Additional References The following sections provide references related to MPLS VPNs. Related Documents Related Topic Basic MPLS VPNs MPLS VPN Carrier Supporting Carrier Document Title Configuring MPLS Layer 3 VPNs Configuring Scalable Hub-and-Spoke MPLS VPNs • Enabling One Carrier to Supply MPLS Services to Another Carrier Through MPLS VPN Carrier Supporting Carrier Using LDP and an IGP Enabling One Carrier to Supply MPLS Services to Another Carrier Through MPLS VPN Carrier Supporting Carrier with BGP Preserving QoS Settings in an MPLS VPN Carrier Supporting Carrier Network Using MPLS Static Labels at the Edge of the MPLS VPN Carrier Supporting Carrier Network Providing VPN Connectivity Across Multiple Autonomous Systems with MPLS VPN Inter-AS with ASBRs Exchanging VPN-IPv4 Addresses Providing VPN Connectivity Across Multiple Autonomous Systems with MPLS VPN Inter-AS with ASBRs Exchanging IPv4 Routes and MPLS Labels • • • MPLS VPN InterAutonomous Systems • • MPLS VPN route maps MPLS VPN load sharing MPLS VPN MIBs Directing MPLS VPN traffic VPN ID Dialer applications with MPLS VPNs MPLS VPNs and OSPF Configuring Route Maps to Control the Distribution of MPLS Labels Between Routers in an MPLS VPN Load Sharing MPLS VPN Traffic Monitoring MPLS VPNs with MIBs • • Directing MPLS VPN Traffic Using Policy-Based Routing Directing MPLS VPN Traffic Using a Source IP Address Dialing to Destinations with the Same IP Address for MPLS VPNs Assigning an ID Number to a VPN • Ensuring That MPLS VPN Clients Using OSPF Communicate over the MPLS VPN Backbone Instead of Through Backdoor Links Cisco IOS MPLS Configuration Guide 14 .

For information on a feature in this technology that is not documented here. Not all commands may be available in your Cisco IOS software release. Registered Cisco. and a platform. technical tips. see the command reference documents. MIBs Link To locate and download MIBs for selected platforms. use Cisco MIB Locator found at the following URL: http://www. Feature Information for Configuring Scalable Hub-and-Spoke MPLS VPNs Table 1 lists the features in this module and provides links to specific configuration information. and support for existing MIBs has not been modified by this feature. You must have an account on Cisco. solutions. Cisco IOS releases. and tools.com/go/mibs RFCs RFC RFC 2547 Title BGP/MPLS VPNs Technical Assistance Description Link http://www.cisco.com/go/fn. a feature set. Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support.cisco. Cisco IOS MPLS Configuration Guide 15 . For details on when support for specific commands was introduced. technologies.Configuring Scalable Hub-and-Spoke MPLS VPNs Feature Information for Configuring Scalable Hub-and-Spoke MPLS VPNs Standards Standard Title No new or modified standards are supported by this — feature. If you do not have an account or have forgotten your username or password. and support for existing standards has not been modified by this feature. Access Cisco Feature Navigator at http://www.com users can log in from this page to access even more content. see the “MPLS Layer 3 VPN Features Roadmap. click Cancel at the login dialog box and follow the instructions that appear. and feature sets. including links to products. MIBs MIB No new or modified MIBs are supported by this feature.com.” Cisco IOS software images are specific to a Cisco IOS software release.com/techsupport The Cisco Technical Support website contains thousands of pages of searchable technical content.cisco.

ScriptShare. the Cisco Certified Internetwork Expert logo. Changing the Way We Work. EtherFast. Table 1 Feature Information for Configuring Scalable Hub-and-Spoke MPLS VPNs Feature Name MPLS VPN: Half Duplex VRF Support Releases 12. page 3 Reverse Path Forwarding Check. iQ Net Readiness Scorecard. Networkers. Networking Academy. Inc. Network Registrar. Cisco Press. and Learn is a service mark of Cisco Systems. and/or its affiliates in the United States and certain other countries. iQ Expertise.Configuring Scalable Hub-and-Spoke MPLS VPNs Feature Information for Configuring Scalable Hub-and-Spoke MPLS VPNs Note Table 1 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. CCIP. Cisco IOS MPLS Configuration Guide 16 . StackWise. Catalyst. and TransPath are registered trademarks of Cisco Systems. Aironet. GigaDrive. Unless noted otherwise. Inc. page 4 CCVP. CCNA.3(6) 12. Internet Quotient. Inc. the Cisco Systems logo. Cisco IOS. Enterprise/Solver. MGX. All rights reserved. Live.. Cisco Systems. Play. PIX. All other trademarks mentioned in this document or Website are the property of their respective owners.. Cisco Systems Capital. Cisco. page 2 Upstream and Downstream VRFs. The Fastest Way to Increase Your Internet Quotient.3(11)T Feature Configuration Information This feature ensures that VPN clients that connect to the same PE router at the edge of the MPLS VPN use the hub site to communicate. CCDA. Follow Me Browsing. iPhone. IOS. ProConnect. Cisco Unity. Last updated May 2. EtherSwitch. The use of the word partner does not imply a partnership relationship between Cisco and any other company. CCDP. FormShare. page 3 How to Ensure that MPLS VPN Clients Use the Hub PE Router. (0711R) Copyright © 2005 Cisco Systems. EtherChannel. Fast Step. This module first published May 2. Inc. and Access Registrar. subsequent releases of that Cisco IOS software release train also support that feature. CCSP. the Cisco logo. Linksys. the iQ logo. LightStream. The following sections provide information about this feature: • • • • Overview. IP/TV. CCIE. CCNP. HomeLink. 2005. 2005. and Welcome to the Human Network are trademarks of Cisco Systems. iQuick Study. MeetingPlace. SMARTnet.

Sign up to vote on this title
UsefulNot useful