Method and apparatus for pseudowire (PW) setup and maintenance using OSPF protocol

A provider edge (PE) router and methods for establishing a pseudowire using open shortest path first (OSPF) link state advertisement (LSA) messages. The pseudowire links the PE router with a remote PE router through a packet switched network (PSN), and emulates other communications protocols to provide customer edge (CE) equipment connected to the PE routers the appearance of a dedicated private circuit.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not applicable.

Not applicable.

REFERENCE TO A MICROFICHE APPENDIX

Not applicable.

BACKGROUND

A “pseudowire” (“PW”) is a mechanism for emulating various networking and telecommunications services across a packet-switched network (PSN). Pseudowire can be used, for example, to emulate synchronous optical networking (SONET), synchronous digital hierarchy (SDH), time-division multiplexing (TDM), structure-agnostic TDM over packet (SAToP), frame relay, asynchronous transfer mode (ATM), Ethernet over multi-protocol label switching (MPLS), and other protocols and services.

In conventional pseudowire systems, the pseudowire is configured using the targeted label distribution protocol (tLDP) or the border gateway protocol (BGP). However, using these protocols is problematic and in some cases unnecessary (especially when using certain technologies, for example, Segment Routing, where LDP is not used at all). For example, conventional pseudowire systems require one protocol for the control plane and another protocol for the data plane. Further, route processor switchover convergence time (RP SWO) in high available (HA) systems is significantly higher when using LDP rather than the embodiments of the present disclosure. Further, for in-service software upgrades (ISSUs), the pseudowire will disconnect because the line card black-out time is longer than the LDP session outage detection time. Further, BGP is not always available for use with pseudowire because of operational complexity and cost.

What is needed, therefore, is a pseudowire setup and maintenance mechanism that avoids these problems and others associated with conventional pseudowire configurations.

SUMMARY

The embodiments of this disclosure are directed at mechanisms to signal and maintain pseudowires in an open shortest path first (OSPF) domain, thus simplifying the network design for layer two virtual private network (L2VPN) services in segment routing deployments.

In a first embodiment, an originating local provider edge (PE) router communicates over a pseudowire by creating a first open shortest path first (OSPF) link state advertisement (LSA), the first OSPF LSA comprises a pseudowire capability type-length-value (TLV) element, sending the first OSPF LSA to a remote PE router via a packet switched network (PSN), receiving a second OSPF LSA from the remote PE router via the PSN, the second OSPF LSA comprises a pseudowire capability TLV element, creating a third OSPF LSA, the third OSPF LSA comprises a pseudowire association TLV element, sending the third OSPF LSA to the remote PE router via the PSN, receiving a fourth OSPF LSA from the remote PE router via the PSN, the fourth OSPF LSA comprising a pseudowire association TLV element, and establishing a pseudowire connection with the remote PE router via the PSN according to the pseudowire association TLV element of the third OSPF LSA.

In a variation of the first embodiment, sending the first OSPF LSA comprises flooding the first OSPF LSA to a plurality of routers in the PSN, sending the third OSPF LSA comprises flooding the third OSPF LSA to the plurality of routers in the PSN, and the remote PE router is one of the plurality of routers in the PSN.

In another variation of the first embodiment, the pseudowire capability TLV element of the first OSPF LSA comprises an indication that the local PE router supports pseudowires and the pseudowire capability TLV element of the second OSPF LSA comprises an indication that the remote PE router supports pseudowires. Further, the first OSPF LSA and the second OSPF LSA may be router information opaque LSAs or they may be are router information LSAs.

In another variation of the first embodiment, the third OSPF LSA and the fourth OSPF LSA are extended prefix LSAs, or they may be one of E-Intra-Area-Prefix-LSAs, E-Inter-Area-Prefix-LSAs, E-AS-External-LSAs, and E-Type-7-LSAs.

In another variation of the first embodiment, the pseudowire association TLV element of the third OSPF LSA comprises an internet protocol (IP) address associated with the local PE router, an IP address associated with the remote PE router, and a pseudowire sub-TLV comprising a pseudowire type, a pseudowire identifier, a pseudowire label, and a seen (S) bit, wherein the value of the S bit is 0. Further, the pseudowire association TLV element of the fourth OSPF LSA may comprise the IP address associated with the local PE router, the IP address associated with the remote PE router, and a pseudowire sub-TLV comprising the pseudowire type, the pseudowire identifier, the pseudowire label, and an S bit, wherein the value of the S bit is 1. This variation may further comprise creating a fifth OSPF LSA, the fifth OSPF LSA comprises a pseudowire association TLV element and the pseudowire association TLV element of the fifth OSPF LSA comprises the IP address associated with the local PE router, the IP address associated with the remote PE router, and a pseudowire sub-TLV comprising the pseudowire type, the pseudowire identifier, the pseudowire label, and an S bit, wherein the value of the S bit is 1, and sending the fifth OSPF LSA to the remote PE router via the packet switched network. This variation may further comprise, after receipt of the fourth OSPF LSA, adding the pseudowire label to a label forwarding information base (LFIB) to associate the pseudowire label with a customer edge (CE) router. This variation may further comprise, after establishing the pseudowire connection with the remote PE router, receiving a first data packet from the remote PE router via the packet switched network, the first data packet comprises the pseudowire label and a first payload, searching the LFIB to locate the CE router associated with the pseudowire label, and forwarding the first payload to the CE router associated with the pseudowire label. This variation may further comprise, after establishing the pseudowire connection with the remote PE router, receiving a second payload from the CE router, searching the LFIB to locate the pseudowire label associated with the CE router, prepending the pseudowire label to the second payload to form a second data packet, and sending the second data packet to the remote PE router via the packet switched network.

In a second embodiment, a non-originating local PE router communicates over a pseudowire by receiving a first open shortest path first (OSPF) link state advertisement (LSA) from a remote PE router via a packet switched network (PSN), the first OSPF LSA comprising a pseudowire association type-length-value (TLV) element, creating a second OSPF LSA, the second OSPF LSA comprises a pseudowire association TLV element, flooding the second OSPF LSA to a plurality of routers in the PSN, the remote PE router is one of the plurality of routers in the PSN, and establishing a pseudowire connection with the remote PE router via the PSN according to the pseudowire association TLV element of the first OSPF LSA

In another variation of the second embodiment, the pseudowire association TLV element of the first OSPF LSA comprises an internet protocol (IP) address associated with the local PE router, an IP address associated with the remote PE router, and a pseudowire sub-TLV comprising a pseudowire type, a pseudowire identifier, and a pseudowire label, and the pseudowire association TLV element of the second OSPF LSA comprises the internet protocol (IP) address associated with the local PE router, the IP address associated with the remote PE router, and the pseudowire sub-TLV comprising the pseudowire type, the pseudowire identifier, the pseudowire label, and a seen (S) bit, wherein the value of the S bit is 1. This variation may further comprise, after flooding the second OSPF LSA to the plurality of routers, adding the pseudowire label to a label forwarding information base (LFIB) to associate the pseudowire label with a customer edge (CE) router.

In a third embodiment, a PE router comprises a first network interface configured to communicate with a customer edge (CE) router, a second network interface configured to communicate with a packet switched network (PSN), a memory configured to store a label forwarding information base (LFIB), a processor coupled with the first network interface, the second network interface, and the memory, and the processor is configured to create a first open shortest path first (OSPF) link state advertisement (LSA), the first OSPF LSA comprises a pseudowire capability type-length-value (TLV) element, send the first OSPF LSA to a remote PE router via the second network interface, receive a second OSPF LSA from the remote PE router via the second network interface, the second OSPF LSA comprises a pseudowire capability TLV element, create a third OSPF LSA, the third OSPF LSA comprises a pseudowire association TLV element, send the third OSPF LSA to the remote PE router via the second network interface, receive a fourth OSPF LSA from the remote PE router via the second network interface, the fourth OSPF LSA comprising a pseudowire association TLV element, and establish a pseudowire connection with the remote PE router via the second network interface according to the pseudowire association TLV element of the third OSPF LSA.

In a variation of the third embodiment, the pseudowire association TLV element of the third OSPF LSA comprises an internet protocol (IP) address associated with the local PE router, an IP address associated with the remote PE router, and a pseudowire sub-TLV comprising a pseudowire type, a pseudowire identifier, a pseudowire label, and a seen (S) bit, wherein the value of the S bit is 0, and the pseudowire association TLV element of the fourth OSPF LSA comprises, the internet protocol (IP) address associated with the local PE router, the IP address associated with the remote PE router, and the pseudowire sub-TLV comprising the pseudowire type, the pseudowire identifier, the pseudowire label, and a S bit, wherein the value of the S bit is 1. In this variation, the processor may be further configured to add the pseudowire label to the LFIB to associate the pseudowire label with the CE router, receive a data packet from the remote PE router via the second network interface, the packet comprises the pseudowire label and a payload, search the LFIB to locate the CE router associated with the pseudowire label, and forward the payload to the CE router associated with the pseudowire label via the first network interface.

In another variation of the third embodiment, sending the first OSPF LSA comprises flooding the first OSPF LSA to a plurality of routers in the PSN via the second network interface, sending the third OSPF LSA comprises flooding the third OSPF LSA to the plurality of routers in the PSN via the second network interface, and the remote PE router is one of the plurality of routers in the PSN.

DETAILED DESCRIPTION

In the embodiments of this disclosure, use of label distribution protocol (LDP) and resource reservation protocol (RSVP) is replaced with interior gateway protocols (IGPs) open shortest path first (OSPF) and intermediate system to intermediate system (IS-IS) for distributing labels for transport of virtual private network (VPN) services. This is achieved by using segment identifiers (SIDs), which are unique indices in an OSPF area/domain and can be seen as equivalent to multi-protocol label switching (MPLS) labels.

FIG. 1shows a network configuration100which is suitable for implementing a pseudowire between CE routers110and120using an embodiment of the present disclosure. From the customer's perspective, CE routers110and120are directly connected over a dedicated private circuit140. However, in this example, a message sent from CE router110to CE router120follows pathway150, which runs through attachment circuit101to service provider edge (PE) router102, through switching routers (SRs)1324,1323, and1322in PSN130, through PE router122and attachment circuit121, before reaching CE router120. Note that the physical pathway for another message sent from CE router110to CE router120may include the same SRs132nor different SRs132n.

Each packet traveling through the PSN has a header and payload. The header contains address information used to route the packet through the PSN, while the payload is the actual information to be transmitted, for example user data and control data. When an SR132nreceives a packet, it forwards the packet to another SR132naccording to the header. In an MPLS PSN, labels identify virtual links (paths) between switching routers SR132n, and the header of a packet traveling through a MPLS PSN includes at least one label. When a packet arrives at an SR132n, SR132nexamines the label and forwards the packet to the next SR132naccording to the label.

In embodiments of the present disclosure, setting up and using a pseudowire over pathway150requires agreement on the format and contents of messages sent between PE routers102and122. However, the switch routers SR132nalong pathway150need not be aware of the pseudowire-specific contents of the messages; from the perspective of switch routers SR132n, the messages may be formatted using known OSPF constructs. Thus, embodiments of the present disclosure require a set of parameters for use with OSPF type-length-value (TLV) elements and sub-TLV elements in link state advertisements (LSAs).

The following paragraphs define TLVs and sub-TLVs for use with one embodiment of the present disclosure. As one of ordinary skill will understand, the exact format and content of any given TLV or sub-TLV is subject to industry review and agreement, and as such, the TLVs and sub-TLVs described here are examples only. The embodiments of the disclosure could be implemented with variation on the TLVs and sub-TLVs described here without departing from the spirit of the disclosure. Further, as one of ordinary skill will understand, type and sub-type fields are assigned by the Internet Assigned Numbers Authority (IANA), and as such, for the purposes of this disclosure, the type and sub-type fields in the following TLVs and sub-TLVs are listed simply as “to-be-determined” (“TBD”). Finally, as one of ordinary skill will understand, there are currently two versions of OSPF, version 2 (OSPFv2), which is defined by Request for Comments (RFC) 2328 and version 3 (OSPFv3), which is defined by RFC 5340. The descriptions here reflect both versions. Should a new version of OSPF be developed, the versions of the TLVs and sub-TLVs described here could be modified without departing from the spirit of the disclosure.

Pseudowire Capability TLV. For OSPFv2, the Pseudowire Capability TLV advertises pseudowire capabilities supported by the node in the Router Information Opaque LSA (defined in RFC 7770). For OSPFv3, the Pseudowire Capability TLV advertises pseudowire capabilities supported by the node in the Router Information LSA (defined in RFC 4970).FIG. 2shows the format of Pseudowire Capability TLV200, where Type is to-be-determined, Length is the number of bytes of the Capability Parameters Sub-TLVs, the Capability Parameters Sub-TLVs each consists of a sequence of 1 byte of capability type (new registry for the capabilities), 1 byte of length of the value field of the capability, and 0-243 bytes of value of capability (if any). There should be at least one Capability Parameters Sub-TLV. Additional capability TLVs can be sent after the initial set and the absence of a particular capability is an indication that the capability is not supported or has been withdrawn.FIG. 3shows the format for corresponding sub-TLV300, where Type is to-be-determined and Length is the number of bytes in the remainder of the sub-TLV and will always be 0.

Pseudowire Association TLV. For OSPFv2, the Pseudowire Association TLV advertises pseudowire association with the applicable sub-TLVs to represent the pseudowire, and is advertised as a new top level TLV of the Extended Prefix LSA (defined in RFC 7684). Multiple Pseudowire Association TLVs may be advertised in each OSPF Extended Prefix Opaque LSA, but all prefix ranges included in a single OSPF Extended Prefix Opaque LSA should have the same flooding scope. The Pseudowire Association TLV should have at least one sub-TLV otherwise it will be ignored on receipt. The Pseudowire Association TLV may appear any number of times (including none) within an LSA.FIG. 4shows the format for OSPFv2 Pseudowire Association TLV400, where Type is to-be-determined, Length is the number of bytes in the remainder of the TLV, AF is the Address Family and is 0 (IPv4 Unicast), MT-ID is the Multi-topology Identifier (as defined in RFC 4915), R is the re-advertisement flag (the remainder should be set to 0 and are ignored) and is set when this TLV has been leaked from one level to another (upwards or downwards), and if bit0is set then it should not be leaked further, Flags (bits1-7) should be sent as 0 and are ignored upon receipt, Reserved should be reset on transmission and ignored on reception (reserved for future use), Source IP Address is the 32-bit IPv4 pseudowire association originator internet protocol (IP) address in network byte order (generally one of the loopback interface IP address of the originating router), Destination IP Address is the 32-bit IPv4 pseudowire association originator address in NBO (generally one of the loopback interface IP address of the destination router), and Sub-TLVs consisting of a two-byte sub-TLV type (requiring a new registry for this TLV) and a two-byte length of the remainder of the sub-TLV.

For OSPFv3, the Pseudowire Association TLV advertises pseudowire association with the applicable sub-TLVs to represent the pseudowire, and is advertised as a new top level TLV of the E-Intra-Area-Prefix-LSA, the E-Inter-Area-Prefix-LSA, the E-AS-External-LSA, and the E-Type-7-LSA (defined in I-D.ietf-ospf-ospfv3-lsa-extend). Multiple OSPFv3 Extended Prefix Range TLVs may be advertised in these extended LSAs. The Pseudowire Association TLV should have at least one sub-TLV otherwise it will be ignored on receipt. The Pseudowire Association TLV may appear any number of times including none) within an LSA.FIG. 5shows the format for OSPFv3 Pseudowire Association TLV500, where Type is to-be-determined, Length is the number of bytes in the remainder of the TLV, AF is Address Family and is always 0 (IPv6 Unicast), R is the re-advertisement flag (the remainder should be set to 0 and are ignored) and is set when this TLV has been leaked from one level to another (upwards or downwards), and if bit0is set then it should not be leaked further, Flags (bits1-7) of should be sent as 0 and are ignored upon receipt, Reserved should be reset on transmission and ignored on reception (reserved for future use), Source IP Address is the pseudowire association originator internet protocol (IP) address in network byte order (generally one of the loopback interface IP address of the originating router), Destination IP Address is the pseudowire association originator address in NBO (generally one of the loopback interface IP address of the destination router), and Sub-TLVs consisting of a two-byte sub-TLV type (requiring a new registry for this TLV) and a two-byte length of the remainder of the sub-TLV.

Pseudowire Sub-TLV. The Pseudowire Sub TLV can be used whenever both pseudowire endpoints have been provisioned.FIG. 6shows the format for Pseudowire Sub TLV600, where Type is to-be-determined, Length is the number of bytes in the remainder of the TLV, C is a control bit and is 0, PW Type is the type of pseudowire (as defined by the IANA), S is the 2-way pseudowire “seen” bit (described further in a later paragraph), E is the extended status bit (set when an Extended Status Sub-TLV is present with at least one bit set in the 128-bit extended status code, otherwise not set), PW Status indicates the status to remote peers for the indicated pseudowire and can have one or more bits set according to the masks shown in Table 1, PW ID is a non-zero 32-bit connection identifier that, together with the PW Type, identifies a particular pseudowire, Label TLV is an encoded label (as specified in RFC 5036 § 3.4.2), and the Interface Parameter Sub-TLVs is a variable-length TLV that is used to provide interface-specific parameters such as attachment circuit MTUs.

Group ID Sub-TLV. The Group ID Sub TLV identifies a group of pseudowires.FIG. 7shows the format for Group ID Sub TLV700, where Type is to-be-determined, Length is the number of bytes in the remainder of the TLV (4), and Group ID is arbitrary 32-bit value that represents a group of pseudowires and is, which is used to create groups in the pseudowire space.

Pseudowire Extended Status Sub-TLV. PE routers use the Pseudowire Extended Status Sub-TLV to indicate their extended status to their remote peers for a particular pseuedowire.FIG. 8shows the format of Pseudowire Extended Status Sub-TLV800, where Type is to-be-determined, Length is the number of bytes in the remainder of the TLV (always 12), and Status Code is a 128-bit field where each bit can be set or reset to indicate a particular failure. Pseudowire Extended Status Sub-TLV800should be advertised only if a Pseudowire Sub-TLV600has its E bit set and one of the Status Code bits is set. When the last status bit of this 128 bit field has been cleared, then this sub-TLV should not be present, and the E bit should be cleared. The Pseudowire Extended Status Sub-TLV is defined for future use, and none of the Status Codes are defined.

In an embodiment of this disclosure, an OSPFv2 pseudowire for emulating a frame relay link between is created according to the operations of flowchart1000shown inFIG. 10. For simplicity, the flowchart refers to the same network components identified inFIG. 1. Also, for simplicity, the descriptions of the operations refer to OSPFv2 LSAs and TLVs. As would be understood by one of ordinary skill in the context of this disclosure, the same sequence of steps would apply to an OSPFv3 configuration using OPSFv3 LSAs and TLVs.

In operation1001, as with conventional pseudowire systems, the service provider operator provisions PE routers102and122to support pseudowires. The exact procedures for performing operation1001will be manufacturer-specific.

In operation1002, PE router102creates a Router Information Opaque LSA with the Pseudowire Capability TLV. PE router102then floods PSN130with the Router Information Opaque LSA to inform the other routers, including PE router122, that PE router102supports pseudowires. Upon receipt of the Router Information Opaque LSA, PE router122updates its AS topology database to show that PE router102supports pseudowires. In a similar fashion, PE router122creates and floods the AS with its own Router Information Opaque LSA to inform the other routers, including PE router102, that PE Router122supports pseudowires.

In operation1003, the service provider configures a pseudowire150between PE routers102and122. By way of example and not limitation, this may begin with the service provider operator receiving a request from a customer needing an ATM connection between CE routers110and120. In response, the service provider may enter configuration information on PE routers102and122, such as IP addresses of the remote PE router, a pseudowire identifier (unique to the PE router), identification of the emulated service, a pseudowire label, and creation of routing instructions associating the pseudowire with CE routers110and120. Provisioning of the pseudowire label is dependent on the emulated service. As defined by RFC 5036 § 3.4.2, ATM and Frame Relay links have specific label formats, while for some emulated services, the service provider operator may manually define a static pseudowire label, and for other emulated services, software on the PE router will allocate a pseudowire label dynamically.

In operation1004, PE router102creates an Extended Prefix LSA with a Pseudowire Association TLV. The Pseudowire Association TLV has the source IP address of PE router102and the destination IP address of PE router122. The Pseudowire Association TLV also has a Pseudowire Sub-TLV which includes a Pseudowire Type (in this case, indicating ATM emulation service), the assigned PW ID, a PW Status of 0, an S bit set to 0, and a label associated with the emulated service (in this case, an ATM label). PE router102then floods the AS with the Extended Prefix LSA to inform the other routers (including PE Router122) that PE router102wants to establish pseudowire150.

In operation1005, PE router122receives the Extended Prefix LSA sent by PE router102in operation1004. PE router122recognizes from the PW ID, PW Type, source IP, and destination IP that this pseudowire has been provisioned. In response, PE router122creates an Extended Prefix LSA with a comparable Pseudowire Association TLV except that it has the S bit set to 1 and its PW status of 0, and floods the AS with the Extended Prefix LSA.

In operation1006, PE router102receives the Extended Prefix LSA sent by PE router122in operation1005. PE router102recognizes that this Extended Prefix LSA is a response to its own earlier Extended Prefix LSA, and adds the pseudowire label to its label forwarding information base (LFIB) to associate the label with CE router110. PE router102resends the Extended Prefix LSA except that it has set the S bit to 1.

In operation1007, PE router122receives the Extended Prefix LSA sent by PE router102in operation1006, and recognizes that the S bit is now 1. PE Router122adds the label to its label forwarding information base (LFIB) to associate the label with CE router120. At this point, both PE routers102and122are ready to transmit and receive data over pseudowire150.

In operation1008, PE router102and PE router122begin exchanging messages in the conventional manner. That is, when PE router102gets a PDU in native format from CE router110, it prepends a pseudowire label along with an MPLS label and sends into PSN130. On the other end, PE router122strips off the pseudowire label and MPLS label and sends the PDU in native format on to CE120according to the pseudowire label—CE relationship stored in the LFIB.

In another embodiment, described in flowchart1100shown inFIG. 11, local PE router102establishes communications with remote PE router122via pseudowire150on a PSN130. In this embodiment, local PE router102initiates pseudowire150.

In operation1101, local PE router102creates a first OSPF LSA comprising a Pseudowire Capability TLV. By way of example and not limitation, for OSPFv2, the first OSPF LSA may be a Router Information Opaque LSA, and for OSPFv3, the first OSPF LSA may be a Router Information LSA.

In operation1102, local PE router102sends the first OSPF LSA to remote PE router122via a PSN130to inform remote PE router122that local PE router102supports pseudowires. Local PE router102may use a flooding mechanism to send the first OSPF LSA.

In operation1103, local PE router102receives a second OSPF LSA from remote PE router122via PSN130; the second OSPF LSA comprises a Pseudowire Capability TLV element. By way of example and not limitation, for OSPFv2, the second OSPF LSA may be a Router Information Opaque LSA, and for OSPFv3, the second OSPF LSA may be a Router Information LSA. Local PE router102learns, upon receipt of the second OSPF LSA, that remote PE router122supports pseudowires.

In operation1104, local PE router102creates a third OSPF LSA; the third OSPF LSA comprises a Pseudowire Association TLV element. By way of example and not limitation, for OSPFv2, the third OSPF LSA may be an Extended Prefix LSA, and for OSPFv3, the third OSPF LSA may be an E-Intra-Area-Prefix-LSA, an E-Inter-Area-Prefix-LSA, an E-AS-External-LSA, or an E-Type-7-LSA. The Pseudowire Association TLV may have the source IP address of PE router102and the destination IP address of PE router122. The Pseudowire Association TLV may also have a Pseudowire Sub-TLV which includes a Pseudowire Type (for example, an ATM emulation service), the assigned PW ID, a PW Status of 0, an S bit set to 0, and a label associated with the emulated service (for example, an ATM label).

In operation1105, local PE router102sends the third OSPF LSA to remote PE router122via PSN130to indicate that local PE router102wants to establish a pseudowire connection with remote router122. Local PE router102may use a flooding mechanism to send the third OSPF LSA.

In operation1106, local PE router102receives a fourth OSPF LSA from remote PE router122via PSN130; the fourth OSPF LSA comprises a Pseudowire Association TLV element. By way of example and not limitation, for OSPFv2, the fourth OSPF LSA may be an Extended Prefix LSA, and for OSPFv3, the fourth OSPF LSA may be an E-Intra-Area-Prefix-LSA, an E-Inter-Area-Prefix-LSA, an E-AS-External-LSA, or an E-Type-7-LSA. PE router102may recognize that this fourth OSPF LSA is a response to its third OSPF LSA, and may add the pseudowire label to its label forwarding information base (LFIB) to associate the label with CE router110. PE router102may also resend the third OSPF LSA after changing the S bit to 1.

In operation1107, local PE router102establishes a connection with remote PE router122via PSN130using pseudowire150, according to the pseudowire association TLV element of the third OSPF LSA. Thereafter, PE router102and PE router122may exchange messages in the conventional manner.

In another embodiment, described in flowchart1200shown inFIG. 12, local PE router102establishes communication with remote PE router122via pseudowire150on PSN130. In this embodiment, remote PE122initiates pseudowire150.

In operation1201, local PE router102receives a first OSPF LSA from remote PE router122via PSN130; the first OSPF LSA comprises a Pseudowire Association TLV element. By way of example and not limitation, for OSPFv2, the first OSPF LSA may be an Extended Prefix LSA, and for OSPFv3, the first OSPF LSA may be an E-Intra-Area-Prefix-LSA, an E-Inter-Area-Prefix-LSA, an E-AS-External-LSA, or an E-Type-7-LSA. Local PE router102may recognize, from the PW ID, PW Type, source IP, and destination IP in the Pseudowire Association TLV, that this pseudowire has been provisioned.

In operation1202, local PE router102creates a second OSPF LSA; the second OSPF LSA comprises a Pseudowire Association TLV element. The Pseudowire Association TLV may have the source IP address of PE router102and the destination IP address of PE router122. The Pseudowire Association TLV may also have a Pseudowire Sub-TLV which includes a Pseudowire Type (for example, an ATM emulation service), the assigned PW ID, a PW Status of 0, an S bit set to 1, and a label associated with the emulated service (for example, an ATM label).

In operation1203, local PE router102floods the second OSPF LSA to a plurality of routers in PSN130, including remote PE router122. This may indicate to remote PE router122that local PE router102is ready to establish pseudowire150.

In operation1204, local PE router102has established pseudowire150with remote PE router122via PSN130according to the pseudowire association TLV element of the first OSPF LSA. Thereafter, PE router102and PE router122may exchange messages in the conventional manner.

FIG. 13discloses a block diagram for a PE router1300that is suitable for implementing embodiments of the present disclosure. PE router1300includes a network interface1302configured to communicate with a CE router (not shown) and network interface1304configured to communicate with a PSN (not shown). By way of example and not limitation, network interface1302may be an Ethernet interface or any other interface suitable for connecting to other network components, and network interface1304may be a packet over SONET interface or any other interface suitable for connecting to a PSN; network interfaces1302and1304may be single port interfaces or multiport interfaces. PE router1300also includes processor1308for executing programs stored in local memory1306. By way of example and not limitation, processor1308may be a central processing unit, a microcontroller, a digital signal processor, an application specific integrated circuit, combinations of any of the foregoing, or any other device suitable for execution of computer programs. By way of example, local memory1306may include LFIB1310for storing message forwarding information and logic1312for storing computer programs for implementing all or parts of flowcharts1000,1100, and/or1200; local memory1306may also store other computer programs, configuration information, and other short-term and long-term data necessary for implementation of the embodiments of the present disclosure. By way of example and not limitation, local memory1306may be dynamic memory, static memory, disk drive(s), flash drive(s), combinations of any of the foregoing, or any other form of computer memory.

One of ordinary skill in the art will recognize a number of variations in the foregoing embodiment. For example, in some of the foregoing embodiments, the operations are described for OSPFv2 LSAs, however one of ordinary skill would understand that in an OSPFv3 network, the PE routers would use the OSPFv3 LSAs described earlier in this disclosure. Further, in the embodiment ofFIG. 10, PE router102was characterized as originating the exchange of LSAs, however, one of ordinary skill would understand that either PE router could be characterized as the originator. Further, both PE routers could be sending out originating LSAs; this may alter the ordering of messages, but ultimately both PE routers will receive a Pseudowire Sub-TLV with the S bit set and pseudowire150will be ready for data transfer. Further, the format of the TLVs and Sub-TLVs can be varied to include additional information and/or omit other information, and the TLVs and Sub-TLVs could be associated with other OSPF LSAs than those listed in this disclosure. These variations are included here as examples and not limitations of the scope of the present disclosure.

In other embodiments of the present disclosure, an active pseudowire becomes inactive by withdrawing the pseudowire label. There are several variations on how this could occur. In one variation, a PE router sends a Router Information Opaque LSA (OSPFv2) or Router Information LSA (OSPFv3) without the Pseudowire Capability TLV advertising pseudowire capabilities. In another variation, a PE router sends a Pseudowire Association TLV with a non-zero value for the status (as shown in Table 1). In another variation, a PE router sends a Pseudowire Association TLV without a Pseudowire Sub-TLV. Note that after a label has been withdrawn by the output PE router and/or released by the input PE router, care should be taken not to advertise (re-use) the same released label until the output router can be reasonably certain that old packets containing the released label no longer persist in the MPLS-enabled network.

In other embodiments of the present disclosure, an operating pseudowire may become temporarily unavailable because of disruption in PSN130or disconnect of PE router102or122(because of equipment failure, device restart, in-service software upgrade, or other disruption). In such a case, a PE router may not be aware of the disruption to the pseudowire until it receives, for example, an LSA associated with pseudowire initialization. However, unlike conventional pseudowires configurations, no special resynchronization protocols are needed to restore the pseudowire.

In some embodiments of the present disclosure, both ends of a pseudowire (for example, both PE routers102and122) may be simultaneously attempting to establish the pseudowire. In such a case, LSAs may cross paths with the value of the S bit of the Pseudowire Sub TLV of each LSA indicating the progress of the establishment of the pseudowire. By way of example, if the S bit of a Pseudowire Sub TLV from a local PE router and the S bit of a Pseudowire Sub TLV from a remote PE router are both 0, then neither PE router can send or receive data packets on the pseudowire. If the S bit of a Pseudowire Sub TLV from the local PE router is 1 and the S bit of a Pseudowire Sub TLV from a remote PE router is 0, this may indicate that the local PE router is ready to receive and has installed a pseudowire label in its LFIB, but it is still waiting for the remote PE router to indicate it is ready to receive. If the S bit of a Pseudowire Sub TLV from the local PE router is 0 and the S bit of a Pseudowire Sub TLV from a remote PE router is 1, this may indicate the reverse, namely that the remote PE router is ready to receive and has installed a pseudowire label in its LFIB, but it is still waiting for the local PE router to indicate it is ready to receive. Finally, if the S bit of a Pseudowire Sub TLV from the local PE router and the S bit of a Pseudowire Sub TLV from a remote PE router are both1, then both ends are ready to receive and transmit.

Thus disclosed herein is a method for a local provider edge (PE) router to communicate over a pseudowire comprising a means for creating a first open shortest path first (OSPF) link state advertisement (LSA), wherein the first OSPF LSA comprises a pseudowire capability type-length-value (TLV) element, a means for sending the first OSPF LSA to a remote PE router via a packet switched network (PSN), a means for receiving a second OSPF LSA from the remote PE router via the PSN, wherein the second OSPF LSA comprises a pseudowire capability TLV element, a means for creating a third OSPF LSA, wherein the third OSPF LSA comprises a pseudowire association TLV element, a means for sending the third OSPF LSA to the remote PE router via the PSN, a means for receiving a fourth OSPF LSA from the remote PE router via the PSN, the fourth OSPF LSA comprising a pseudowire association TLV element, and a means for establishing a pseudowire connection with the remote PE router via the PSN according to the pseudowire association TLV element of the third OSPF LSA.

Further disclosed herein is a method for a local provider edge (PE) router to communicate over a pseudowire, comprising a means for receiving a first open shortest path first (OSPF) link state advertisement (LSA) from a remote PE router via a packet switched network (PSN), the first OSPF LSA comprising a pseudowire association type-length-value (TLV) element, a means creating a second OSPF LSA, wherein the second OSPF LSA comprises a pseudowire association TLV element, a means for flooding the second OSPF LSA to a plurality of routers in the PSN, wherein the remote PE router is one of the plurality of routers in the PSN, and a means for establishing a pseudowire connection with the remote PE router via the PSN according to the pseudowire association TLV element of the first OSPF LSA.

Further disclosed herein is a provider edge (PE) router comprising a means for communicating with a customer edge (CE) router, a means for communicating with a packet switched network (PSN), a means for storing a label forwarding information base (LFIB), a means for creating a first open shortest path first (OSPF) link state advertisement (LSA), wherein the first OSPF LSA comprises a pseudowire capability type-length-value (TLV) element, a means for sending the first OSPF LSA to a remote PE router via the second network interface, a means for receiving a second OSPF LSA from the remote PE router via the second network interface, wherein the second OSPF LSA comprises a pseudowire capability TLV element, a means for creating a third OSPF LSA, wherein the third OSPF LSA comprises a pseudowire association TLV element, a means for sending the third OSPF LSA to the remote PE router via the second network interface, a means for receiving a fourth OSPF LSA from the remote PE router via the second network interface, the fourth OSPF LSA comprising a pseudowire association TLV element, and a means for establishing a pseudowire connection with the remote PE router via the second network interface according to the pseudowire association TLV element of the third OSPF LSA.