Dynamically learning media access control and internet protocol addresses
Abstract
Techniques are described for learning an unknown virtual network information, such as an virtual Internet Protocol (IP) address, of a pod in a virtual network. In some examples, a virtual router executing at a computing device may receive an Address Resolution Protocol (ARP) packet from a virtual execution element in the virtual network, the virtual execution element executing at the computing device. The virtual router may determine, based at least in part on the ARP packet, whether virtual network information for the virtual execution element in a virtual network is known to the virtual router. The virtual router may, in response to determining that the virtual network information of the virtual execution element in the virtual network is not known to the virtual router, perform learning of the virtual network information for the virtual execution element.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
receiving, by a virtual router on a computing device in a virtualized computing infrastructure, one of:
1) an Address Resolution Protocol (ARP) packet from a first virtual execution element in a virtual network, wherein the ARP packet specifies, for the first virtual execution element, a first virtual Internet Protocol (IP) address and a first Medium Access Control (MAC) address, or
2) a request to add a route associated with the first virtual IP address and the first MAC address; and
based on determining (1) that the first virtual IP address matches a second virtual IP address for a second virtual execution element executing at the computing device and (2) that the first MAC address does not match a second MAC address for the second virtual execution element: triggering, by the virtual router, route deletion for one or more routes to the second virtual execution element.
2. The method of claim 1 , further comprising:
storing, by the computing device, an association of the first virtual IP address for the first virtual execution element and the first MAC address for the first virtual execution element in one or more tables for the virtual network.
3. The method of claim 1 , further comprising:
sending, by a virtual router agent at the computing device, ARP requests to the first virtual IP address for the first virtual execution element;
in response to not receiving ARP replies to a specified number of consecutive ARP requests sent to the first virtual IP address for the first virtual execution element, determining, by the computing device, that the first virtual execution element is unreachable; and
in response to determining that the first virtual execution element is unreachable, triggering, by the virtual router, route deletion for one or more routes to the first virtual execution element.
4. The method of claim 1 , further comprising:
establishing, by a virtual router agent at the computing device, a bidirectional forwarding and detection (BFD) session with the first virtual execution element; and
determining, by the computing device and based on the BFD session, that the first virtual execution element is unreachable; and
in response to determining that the first virtual execution element is unreachable, triggering, by the virtual router, route deletion for one or more routes to the first virtual execution element.
5. The method of claim 1 , wherein the first virtual execution element comprises a Kubernetes pod executed by a virtual machine.
6. The method of claim 5 , wherein the Kubernetes pod is configured to generate the ARP packet from the first virtual execution element in the virtual network.
7. The method of claim 1 , wherein receiving the ARP packet from the first virtual execution element in the virtual network comprises snooping, by the virtual router, the ARP packet.
8. A computing device comprising:
processing circuitry coupled to a memory device; and
a virtual router configured for execution by the processing circuitry to:
receive one of:
1) an Address Resolution Protocol (ARP) packet from a first virtual execution element in a virtual network, wherein the ARP packet from the first virtual execution element specifies, for the first virtual execution element, a first virtual Internet Protocol (IP) address and a first Media Access Control (MAC) address, or
2) a request to add routes associated with the first IP address and the first MAC address; and
based on determining (1) that the first virtual IP address matches a second virtual IP address for a second virtual execution element executing at the computing device and (2) that the first MAC address does not match a second MAC address for the second virtual execution element: trigger route deletion for one or more routes to the second virtual execution element.
9. The computing device of claim 8 , further comprising a virtual router agent configured for execution by the processing circuitry to:
store an association of the first virtual IP address for the first virtual execution element and the first MAC address for the first virtual execution element in one or more tables of the virtual network.
10. The computing device of claim 8 , further comprising a virtual router agent configured for execution by the processing circuitry to:
send ARP requests to the first virtual IP address for the first virtual execution element;
in response to not receiving ARP replies to a specified number of consecutive ARP requests sent to the first virtual IP address for the first virtual execution element, determine that the first virtual execution element is unreachable; and
in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element.
11. The computing device of claim 8 , further comprising a virtual router agent configured for execution by the processing circuitry to:
establish a bidirectional forwarding and detection (BFD) session with the first virtual execution element;
determine, based on the BFD session, that the first virtual execution element is unreachable; and
in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element.
12. The computing device of claim 8 , wherein the first virtual execution element comprises a Kubernetes pod executed by a virtual machine.
13. The computing device of claim 12 , wherein the Kubernetes pod is configured to generate the ARP packet from the first virtual execution element in the virtual network.
14. The computing device of claim 8 , wherein to receive the ARP packet from the first virtual execution element in the virtual network, the virtual router is further configured for execution by the processing circuitry to snoop the ARP packet.
15. A non-transitory computer-readable medium comprising instructions for causing processing circuitry of a computing device to:
receive, by a virtual router executing at the computing device, one of:
1) an Address Resolution Protocol (ARP) packet from a first virtual execution element in a virtual network, wherein the ARP packet from the first virtual execution element specifies, for the first virtual execution element, a first virtual Internet Protocol (IP) address and a first Media Access Control (MAC) address, or
2) a request to add routes associated with the first virtual IP address and the first MAC address; and
based on determining (1) that the first virtual IP address matches a second virtual IP address for a second virtual execution element executing at the computing device and (2) that the first MAC address does not match a second MAC address for the second virtual execution element: trigger route deletion for one or more routes to the second virtual execution element.
16. The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the processing circuitry to:
store an association of the first virtual IP address for the first virtual execution element and the first MAC address for the first virtual execution element in the virtual router.
17. The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the processing circuitry to:
send ARP requests to the first virtual IP address for the first virtual execution element;
in response to not receiving ARP replies to a specified number of consecutive ARP requests sent to the first virtual IP address for the first virtual execution element, determine that the first virtual execution element is unreachable; and
in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element.
18. The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the processing circuitry to:
establish a bidirectional forwarding and detection (BFD) session with the first virtual execution element;
determine, based on the BFD session, that the first virtual execution element is unreachable; and
in response to determining that the first virtual execution element is unreachable, trigger route deletion for one or more routes to the first virtual execution element.
19. The non-transitory computer-readable medium of claim 15 , wherein the first virtual execution element comprises a Kubernetes pod executed by a virtual machine.
20. The non-transitory computer-readable medium of claim 19 , wherein the Kubernetes pod is configured to generate the ARP packet from the first virtual execution element in the virtual network.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.