# US 2018/0026889 A1 · Progressive mac address learning

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

- Number: US 2018/0026889 A1
- Document ID: US20180026889A1
- Status: Published application
- Kind: A1
- Application number: 15/720,873
- Filed: 2017-09-29
- Published: 2018-01-25
- Earliest claimed: 2014-08-11
- Assignees: Brocade Communications Systems, Inc.
- Applicants: Brocade Communications Systems, Inc.
- Inventors: Suresh Vobbilisetty; Mythilikanth Raman; Phanidhar Koganti; Raju Shekarappa; Mahesh K. Pujara; Pankaj K. Jha
- Web page: https://patentgrep.com/patent/US20180026889A1

## CPC

- H04L 45/745: Address table lookup; Address filtering
- H04L 49/3009: {Header conversion, routing tables or routing tags}
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04L 45/66: {Layer 2 routing, e.g. in Ethernet based MAN's}
- H04W 88/14: Backbone network devices
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

One embodiment of the present invention provides a switch in a network of interconnected switches. The switch includes a storage device, a hardware management apparatus, and a layer-2 management apparatus. The storage device stores a forwarding table, which includes an entry comprising a MAC address and an egress port for the MAC address. The hardware management apparatus determines whether a destination MAC address of a frame is present in a hardware table in memory of the switch. The layer-2 management apparatus, in response to a determination that the destination MAC address is not present in the hardware table, looks up a first entry comprising the destination MAC address in the forwarding table, and creates a second entry comprising the destination MAC address in the hardware table based on the first entry.

## Claims

### Claim 1

A switch, comprising:
a storage device configured to store one or more forwarding entries;
a content-addressable memory, which is separate from the storage device, configured to store a forwarding data structure; and
management circuitry configured to:
in response to determining that a destination MAC address of a data frame is not present in the forwarding data structure, identify the destination MAC address and a corresponding egress port in the storage device;
create a forwarding entry comprising the destination MAC address in the forwarding data structure; and
determine an egress port for the data frame based on the forwarding entry in the forwarding data structure.

### Claim 2 (depends on 1)

The switch of claim 1, further comprising learning management circuitry configured to learn a second MAC address from an edge port of the switch; and
wherein the management circuitry is further configured to store the second MAC address in the storage device and the forwarding data structure.

### Claim 3 (depends on 1)

The switch of claim 1, wherein the management circuitry is further configured to remove the destination MAC address from the forwarding data structure in response to identifying an aging out event for the destination MAC address, wherein the destination MAC address remains in the storage device.

### Claim 4 (depends on 3)

The switch of claim 3, wherein the management circuitry is further configured to remove the destination MAC address from the storage device in response to identifying an aging out event of the destination MAC address in a notification message from a remote switch, wherein the destination MAC address has been learned at a port of the remote switch.

### Claim 5 (depends on 3)

The switch of claim 3, wherein the management circuitry is further configured to remove the destination MAC address from the storage device in response to determining that the destination MAC address is locally learned.

### Claim 6 (depends on 1)

The switch of claim 1, wherein the content-addressable memory is in a first chip of the switch; and
wherein the management circuitry is precluded from storing the destination MAC address in a second content-addressable memory of a second chip of the switch.

### Claim 7 (depends on 1)

The switch of claim 1, wherein the storage device is further configured to store an indicator indicating whether the destination MAC address is locally learned.

### Claim 8 (depends on 1)

The switch of claim 1, wherein the switch is a member switch of a network of interconnected switches; and
wherein the management circuitry further configured to, in response to determining that a second destination MAC address of a second data frame is not present in the forwarding data structure and the storage device, identify a multicast tree in the network of interconnected switches for forwarding the second data frame.

### Claim 9 (depends on 1)

The switch of claim 1, wherein the management circuitry is further configured to store a second MAC address learned at a remote switch in the storage device without storing the second MAC address in the forwarding data structure.

### Claim 10 (depends on 9)

The switch of claim 9, wherein the management circuitry is further configured to store the second MAC address in the forwarding data structure in response to identifying the second MAC address in a second data frame.

### Claim 11

A method, comprising:
storing one or more forwarding entries in a storage device of a switch;
storing a forwarding data structure in a content-addressable memory, which is separate from the storage device, of the switch;
in response to determining that a destination MAC address of a data frame is not present in the forwarding data structure, identifying the destination MAC address and a corresponding egress port in the storage device;
creating a forwarding entry comprising the destination MAC address in the forwarding data structure; and
determining an egress port for the data frame based on the forwarding entry in the forwarding data structure.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
learning a second MAC address from an edge port of the switch; and
storing the second MAC address in the storage device and the forwarding data structure.

### Claim 13 (depends on 11)

The method of claim 11, further comprising removing the destination MAC address from the forwarding data structure in response to identifying an aging out event for the destination MAC address, wherein the destination MAC address remains in the storage device.

### Claim 14 (depends on 13)

The method of claim 13, further comprising removing the destination MAC address from the storage device in response to identifying an aging out event of the destination MAC address in a notification message from a remote switch, wherein the destination MAC address has been learned at a port of the remote switch.

### Claim 15 (depends on 13)

The method of claim 13, further comprising removing the destination MAC address from the storage device in response to determining that the destination MAC address is locally learned.

### Claim 16 (depends on 11)

The method of claim 11, wherein the content-addressable memory is in a first chip of the switch; and
wherein the switch is precluded from storing the destination MAC address in a second content-addressable memory of a second chip of the switch.

### Claim 17 (depends on 11)

The method of claim 11, further comprising storing, in the storage device, an indicator indicating whether the destination MAC address is locally learned.

### Claim 18 (depends on 11)

The method of claim 11, wherein the switch is a member switch of a network of interconnected switches; and
wherein the method further comprises, in response to determining that a second destination MAC address of a second data frame is not present in the forwarding data structure and the storage device, identifying a multicast tree in the network of interconnected switches for forwarding the second data frame.

### Claim 19 (depends on 11)

The method of claim 11, further comprising storing a second MAC address learned at a remote switch in the storage device without storing the second MAC address in the forwarding data structure.

### Claim 20 (depends on 11)

The method of claim 11, further comprising storing the second MAC address in the forwarding data structure in response to identifying the second MAC address in a second data frame.
