IP Library Granted Patent US 10,218,610
Granted Patent B2
US 10,218,610 · App. 15/637,744 · Granted Feb 26, 2019

MPLS segment routing

Inventors: Daniel C. Frost (Feltham, GB); Stewart F. Bryant (Merstham, GB); Clarence Filsfils (Brussels, BE)
Assignee: Cisco Technology, Inc.
H04L45/50H04L41/00H04L45/02H04L45/26H04L45/38H04L45/42H04L45/44H04L45/58H04L45/66H04L69/166H04L45/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,218,610
App. No.
15/637,744
Granted
Feb 26, 2019
Kind
B2
Abstract

A method, communications processing device, and computer readable medium for MPLS segment routing are disclosed. One embodiment of the method comprises generating a first link-state packet comprising a first data structure. The first data structure maps a first portcode to a link connecting the first router within the network or to an additional router reachable from the first router. The method embodiment further includes receiving an incoming data packet encapsulated with a header comprising an incoming portcode stack having the first portcode as its uppermost portcode. The method embodiment further includes removing the first portcode from the incoming portcode stack to create an outgoing portcode stack for an outgoing data packet, and forwarding the outgoing data packet via a port, of the first router, identified by the first portcode.

Claims (68)

1. A method comprising:

generating, at a first router within a network, a first link-state packet comprising a first data structure, wherein

the first data structure maps a first portcode to

a link connecting the first router within the network, or

a first neighbor router reachable from the first router;

receiving an incoming data packet, wherein

the incoming data packet is encapsulated with a header comprising an incoming portcode stack, and

the incoming portcode stack comprises the first portcode as its uppermost portcode;

removing the first portcode from the incoming portcode stack to create an outgoing portcode stack for an outgoing data packet; and

forwarding the outgoing data packet via a port, of the first router, identified by the first portcode, wherein

an uppermost portcode in the outgoing portcode stack identifies a port of the first neighbor router.

2. The method of claim 1 , further comprising sending the first link-state packet to routers throughout the network.

3. The method of claim 1 , wherein the first link-state packet further comprises identity information for the first router.

4. The method of claim 1 , wherein the first link-state packet further comprises identity information for neighbor routers of the first router.

5. The method of claim 1 , wherein generating the first link-state packet comprises identifying neighbor routers to the first router.

6. The method of claim 5 , wherein generating the first link-state packet further comprises mapping identity information for a neighbor router to a portcode assigned to a port via which the neighbor router can be reached.

7. The method of claim 1 , further comprising:

receiving, at the first router, a second link-state packet comprising a second data structure, wherein

the second link-state packet is generated by a second router within the network, and

the second data structure maps a second portcode to

a link connecting the second router within the network, or

an additional router reachable from the second router.

8. A communications processing device, comprising:

one or more ports adapted to

connect the communications processing device within a network,

receive an incoming data packet, wherein

the incoming data packet is encapsulated with a header comprising an incoming portcode stack, and

the incoming portcode stack comprises the first portcode as its uppermost portcode, and

forward an outgoing data packet; and

a processor adapted to

generate a first link-state packet comprising a first data structure, wherein the first data structure maps the first portcode to

a link connecting the device within the network, or

a first neighbor communications processing device reachable via the one or more ports,

remove the first portcode from the incoming portcode stack to create an outgoing portcode stack for the outgoing data packet, wherein

an uppermost portcode in the outgoing portcode stack identifies a port of the first neighbor communications processing device, and

select from among the one or more ports a port identified by the first portcode for forwarding of the outgoing data packet.

9. The communications processing device of claim 8 , wherein the processor is further adapted to

send, via the one or more ports, the first link-state packet to additional communications processing devices throughout the network.

10. The communications processing device of claim 8 , wherein the first link-state packet further comprises identity information for the communications processing device.

11. The communications processing device of claim 8 , wherein the first link-state packet further comprises identity information for neighbor communications processing devices of the communications processing device.

12. The communications processing device of claim 8 , wherein the processor is further adapted to identify neighbor communications processing devices of the communications processing device.

13. The communications processing device of claim 12 , wherein the processor is further adapted to map identity information for a neighbor communications processing device to a portcode assigned to a port, among the one or more ports, via which the neighbor communications processing device can be reached.

14. The communications processing device of claim 8 , wherein the one or more ports are further adapted to receive a second link-state packet comprising a second data structure, wherein

the second link-state packet is generated by a second communications processing device within the network, and

the second link-state packet maps a second portcode to

a link connecting the second communications processing device within the network, or

an additional communications processing device reachable from the second communications processing device.

15. A non-transitory computer readable medium comprising executable instructions, wherein a method is implemented via execution of the instructions, the method comprising:

generating, at a first router within a network, a first link-state packet comprising a first data structure, wherein

the first data structure maps a first portcode to

a link connecting the first router within the network, or

a first neighbor router reachable from the first router;

receiving an incoming data packet, wherein

the incoming data packet is encapsulated with a header comprising an incoming portcode stack, and

the incoming portcode stack comprises the first portcode as its uppermost portcode;

removing the first portcode from the incoming portcode stack to create an outgoing portcode stack for an outgoing data packet; and

forwarding the outgoing data packet via a port, of the first router, identified by the first portcode, wherein

an uppermost portcode in the outgoing portcode stack identifies a port of the first neighbor router.

16. The non-transitory computer readable medium of claim 15 , wherein the method further comprises sending the first link-state packet to routers throughout the network.

17. The non-transitory computer readable medium of claim 15 , wherein the first link-state packet further comprises identity information for the first router.

18. The non-transitory computer readable medium of claim 15 , wherein the first link-state packet further comprises identity information for neighbor routers of the first router.

19. The non-transitory computer readable medium of claim 15 , wherein generating the first link-state packet further comprises mapping identity information for a neighbor router to a portcode assigned to a port via which the neighbor router can be reached.

20. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:

receiving, at the first router, a second link-state packet comprising a second data structure, wherein

the second link-state packet is generated by a second router within the network, and

the second data structure maps a second portcode to

a link connecting the second router within the network, or

an additional router reachable from the second router.

Continuity (4)
Continuation 14717665 · May 20, 2015
Continuation 13760155 · Feb 6, 2013
Provisional Application 61710121 · Oct 5, 2012
Related Publication 20170302571A1 · Oct 19, 2017
Cited By (2)
US 12,199,808 US 12,641,015