# US 12,113,704 B2 · Using a routing protocol for network port failover

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,113,704 B2
- Document ID: US12113704B2
- Status: Granted
- Kind: B2
- Application number: 17/712,913
- Filed: 2022-04-04
- Published: 2023-10-05
- Granted: 2024-10-08
- Earliest claimed: 2022-04-04
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Kenyon James Hensler
- Web page: https://patentgrep.com/patent/US12113704B2

## CPC

- H04L 45/28: using route fault recovery
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 45/04: {Interdomain routing, e.g. hierarchical routing}
- H04L 45/12: Shortest path evaluation
- H04L 45/645: Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
- H04L 69/325: in the network layer [OSI layer 3], e.g. X.25 (H04L69/16 takes precedence)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Using a routing protocol for network port failover. A network stack, which does not perform reverse path forwarding, includes a first interface as a loopback interface that is assigned a first internet protocol (IP) address, a second interface to a first network port, and a third interface to a second network port. The routing protocol is configured to communicate over the second interface with a first port at remote network device(s), and to communicate over the third interface with a second port at the remote network device(s). A route comprising the first IP address is announced to the remote network device(s), and default route of the network stack is configured to egress IP packets via the second interface. Later, the routing protocol indicates that there is a forwarding failure associated with the second interface, and the default route is configured to egress IP packets via the third interface.

## Claims

### Claim 1

A method, implemented at a computer system that includes a processor and a plurality of network ports, for using BGP (border gateway protocol) for network port failover in a single network stack environment having a single default route, the method comprising:
identifying a plurality of interfaces configured at a network stack that does not perform reverse path forwarding, including identifying at least:
a first interface provided by the network stack as a loopback interface, and that is assigned a first IP (internet protocol) address corresponding to a first IP subnet,
a second interface provided by the network stack as an interface to a first network port of the plurality of network ports, and that is assigned a second IP address corresponding to a second IP subnet that is different than the first IP subnet, and
a third interface provided by the network stack as an interface to a second network port of the plurality of network ports, and that is assigned a third IP address corresponding to a third IP subnet that is different than each of the first IP subnet and the second IP subnet;
configuring BGP to communicate over the second interface with a first port at one or more remote network devices, and to communicate over the third interface with a second port at one or more remote network devices;
announcing, to the one or more remote network devices, a route comprising the first IP address;
configuring a default route of the network stack to egress IP packets via the second interface;
after configuring the network stack to route IP packets via the second interface, determining, based on BGP, that there is a forwarding failure associated with the second interface; and
based on determining that there is a forwarding failure associated with the second interface, configuring the default route of the network stack to egress IP packets via the third interface.

### Claim 2 (depends on 1)

The method of claim 1, wherein, based on the network stack not performing reverse path forwarding, the network stack assigns the first IP address as a source address for one or more IP packets being egressed via the second interface or the third interface.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
configuring the routing protocol to communicate over the second interface with the first port at one or more remote network devices comprises configuring a fourth IP address of the first port as a neighbor of the second IP address; and
configuring the routing protocol to communicate over the third interface with a second port at one or more remote network devices comprises configuring a fifth IP address of the second port as a neighbor of the third IP address.

### Claim 4 (depends on 1)

The method of claim 1, wherein the computer system is a VMware ESX host or a VMware ESXi host.

### Claim 5 (depends on 1)

The method of claim 1, wherein a service running at the computer system is externally accessible at the first IP address.

### Claim 6 (depends on 1)

The method of claim 1, further comprising configuring the network stack to disable reverse path forwarding.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
configuring the default route of the network stack to egress IP packets via the second interface comprises assigning a fourth IP address of the first port as a default gateway for the network stack, the fourth IP address corresponding to the second IP subnet; and
configuring the default route of the network stack to egress IP packets via the third interface comprises assigning a fifth IP address of the second port as the default gateway for the network stack, the fifth IP address corresponding to the third IP subnet.

### Claim 8 (depends on 1)

The method of claim 1, further comprising configuring one or more of the first interface, the second interface, or the third interface.

### Claim 9

A computer system for using an OSI (open systems interconnection) model layer-three protocol for network port failover in a single network stack environment having a single default route, comprising:
a processor;
a plurality of network ports; and
a computer storage medium that stores computer-executable instructions that are executable by the processor to cause the computer system to at least:
identify a plurality of interfaces configured at a network stack that does not perform reverse path forwarding, including identifying at least:
a first interface provided by the network stack as a loopback interface, and that is assigned a first IP (internet protocol) address corresponding to a first IP subnet,
a second interface provided by the network stack as an interface to a first network port of the plurality of network ports, and that is assigned a second IP address corresponding to a second IP subnet that is different than the first IP subnet, and
a third interface provided by the network stack as an interface to a second network port of the plurality of network ports, and that is assigned a third IP address corresponding to a third IP subnet that is different than each of the first IP subnet and the second IP subnet;
configure an OSI model layer-three routing protocol to communicate over the second interface with a first port at one or more remote network devices, and to communicate over the third interface with a second port at one or more remote network devices;
announce, to the one or more remote network devices, a route comprising the first IP address;
configure a default route of the network stack to egress IP packets via the second interface;
after configuring the network stack to route IP packets via the second interface, determine, based on the OSI model layer-three routing protocol, that there is a forwarding failure associated with the second interface; and
based on determining that there is a forwarding failure associated with the second interface, configure the default route of the network stack to egress IP packets via the third interface.

### Claim 10 (depends on 9)

The computer system of claim 9, wherein, based on the network stack not performing reverse path forwarding, the network stack assigns the first IP address as a source address for one or more IP packets being egressed via the second interface or the third interface.

### Claim 11 (depends on 9)

The computer system of claim 9, wherein the OSI model layer-three routing protocol is one of BGP (border gateway protocol), OSPF (open shortest path first), or RIP (routing information protocol).

### Claim 12 (depends on 9)

The computer system of claim 9, wherein the computer system is a VMware ESX host or a VMware ESXi host.

### Claim 13 (depends on 9)

The computer system of claim 9, wherein a service running at the computer system is externally accessible at the first IP address.

### Claim 14 (depends on 9)

The computer system of claim 9, the computer-executable instructions also including instructions that are executable by the processor to cause the computer system to configure the network stack to disable reverse path forwarding.

### Claim 15 (depends on 9)

The computer system of claim 9, wherein:
configuring the default route of the network stack to egress IP packets via the second interface comprises assigning a fourth IP address of the first port as a default gateway for the network stack, the fourth IP address corresponding to the second IP subnet; and
configuring the default route of the network stack to egress IP packets via the third interface comprises assigning a fifth IP address of the second port as the default gateway for the network stack, the fifth IP address corresponding to the third IP subnet.

### Claim 16 (depends on 9)

The computer system of claim 9, the computer-executable instructions also including instructions that are executable by the processor to cause the computer system to configure one or more of the first interface, the second interface, or the third interface.

### Claim 17

A computer program product comprising a hardware storage medium that stores computer-executable instructions that are executable by a processor to cause a computer system to use a routing protocol for network port failover in a single network stack environment having a single default route, the computer-executable instructions including instructions that are executable by the processor to cause the computer system to at least:
identify a plurality of interfaces configured at a network stack that does not perform reverse path forwarding, including identifying at least:
a first interface provided by the network stack as a loopback interface, and that is assigned a first IP (internet protocol) address corresponding to a first IP subnet,
a second interface provided by the network stack as an interface to a first network port of a plurality of network ports of the computer system, and that is assigned a second IP address corresponding to a second IP subnet that is different than the first IP subnet, and
a third interface provided by the network stack as an interface to a second network port of the plurality of network ports, and that is assigned a third IP address corresponding to a third IP subnet that is different than each of the first IP subnet and the second IP subnet;
configure a routing protocol to communicate over the second interface with a first port at one or more remote network devices, and to communicate over the third interface with a second port at one or more remote network devices;
announce, to the one or more remote network devices, a route comprising the first IP address;
configure a default route of the network stack to egress IP packets via the second interface;
after configuring the network stack to route IP packets via the second interface, determine, based on the routing protocol, that there is a forwarding failure associated with the second interface; and
based on determining that there is a forwarding failure associated with the second interface, configure the default route of the network stack to egress IP packets via the third interface.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the routing protocol is one of BGP (border gateway protocol), OSPF (open shortest path first), or RIP (routing information protocol).

### Claim 19 (depends on 17)

The computer program product of claim 17, wherein the routing protocol is an OSI (open systems interconnection) model layer-three protocol.

### Claim 20 (depends on 17)

The computer program product of claim 17, wherein in the computer system is a VMware ESX host or a VMware ESXi host.
