An MPLS tunnel is an explicitly routed LSP. Tunnels are created using the TE MIB and can reserve resources as well as follow strict or loose explicit routes. The NEs in the tunnel path configure the appropriate LER and LSR MIB objects in order to fulfill the required constraints. Tunnels can be created on just a single NE, and all the other components are automatically generated across the network. Configuring the mplsTunnelTableReferring to Figure 8-2, we now construct an entry in the mplsTunnelTable . Since this is a bigger table than those in the previous sections, comments are included along with the column assignments. Most of the settings correspond to default MIB values. { mplsTunnelIndex = 1, -- We assume this is the first table entry mplsTunnelInstance = 1, mplsTunnelIngressLSRId = 5.5.5.1, -- Edge Router 1 mplsTunnelEgressLSRId = 5.5.7.1, -- Edge Router 2 mplsTunnelName = "TE Tunnel", -- as in Figure 82 mplsTunnelDescr = "A traffic-engineered tunnel", mplsTunnelIsIf = true (1), - Tunnel will appear in ifTable mplsTunnelXCPointer = 0, -- Not needed for signaled tunnels mplsTunnelSignallingProto = rsvp (2), mplsTunnelSetupPrio = 0, mplsTunnelHoldingPrio = 0, mplsTunnelSessionAttributes = 0, mplsTunnelOwner = snmp (1), mplsTunnelLocalProtectInUse = false (0), mplsTunnelResourcePointer = mplsTunnelResourceIndex.5, -- Created below mplsTunnelInstancePriority = 1, mplsTunnelHopTableIndex = 1, -- This ERO is created below mplsTunnelPrimaryInstance = 0, mplsTunnelIncludeAnyAffinity = 0, -- No link coloring mplsTunnelIncludeAllAffinity = 0, -- No link coloring mplsTunnelExcludeAllAffinity = 0, -- No link coloring mplsTunnelPathInUse = 1, mplsTunnelRole = head (1), -- The originating end of the tunnel mplsTunnelRowStatus = createAndGo (4) } Since this is a traffic-engineered tunnel, we must specify both the resources and the nodes required in the path. This is done next . Strictly speaking, the mplsTunnelTable entry would be created after the resources have been specified and the hop list created. Configuring the mplsTunnelResourceTableOur tunnel will have associated with it a set of resources that provides it with the ability to carry the traffic pushed into it. The resources are defined by a row in the mplsTunnelResourceTable . We arbitrarily select the index entry for this table as number 5 (e.g., this could be the next free value obtained from sampling the mplsTunnelResourceIndexNext object). This is set as follows : { mplsTunnelResourceIndex = 5, mplsTunnelResourceMaxRate = 640000, -- 10 * 64kbps voice channels mplsTunnelResourceMeanRate = 640000, mplsTunnelResourceMaxBurstSize = 2000, mplsTunnelResourceRowStatus = createAndGo (4) } All five of these objects could be included in an SNMP setRequest message variable binding list. In our examples in Chapter 7, we included just a single object, but it is possible to include many objects in a single message. The last object to be set is the row status. This is an indication to the remote agent that the operation is a row creation. The value 4 is called createAndGo and indicates that the row is to be created with a status of active; that is, the row is to be ready for service. Configuring the mplsTunnelHopTable (ERO)The following steps create the hops associated with an ERO that is used by the tunnel. In mplsTunnelHopTable , the following entries are created: [View full width]
This ERO can then be incorporated into the tunnel by setting mplsTunnelHopTableIndex = 1 . The packet processing for the traffic-engineered tunnel is, in fact, very similar to that shown in Figure 8-10. The main differences are that:
This completes our description of creating LSPs and traffic-engineered tunnels. |