Traffic generation using CAM replication

The idea is for simple and cheap traffic generation, more precisely traffic replication, by means of duplicate CAM entries.

In a standard MAC address table, device stores all learned, statically defined and standardized or proprietary MAC addresses. Every MAC address has an output interface assigned, which could be either a CPU or L2 port. For example when a frame comes in from a port Ethernet 3/1, device reads it’s source MAC address and places that MAC address in a MAC address table with output interface of Ethernet 3/1.

Most devices allow creation of static MAC address table entries. Many such devices allow creation of duplicate entries. That is, multiple entries for the same MAC address that point to many interfaces. This feature could be used to devise limited experiments requiring high throughput in tens of gigabits. The limits of this techniques could be used as an advantage, but all depends on a type of experiment.

Usual consumer PCs are able to steadily generate continuous flow of around gigabit of traffic, without loss on the local bus. We can then replicate this traffic by creating multiple duplicate entries in the MAC address table of an intermediate device, which we will call “CAM replicator”. Depending on the number of ports and architecture throughput, CAM replicator is able to duplicate every frame to all ports assigned to the destination MAC address in the generated packets. For example a flow from a streamer to device under load would have destination MAC address of abcd.ecab.bage. This MAC address will then have statically defined output ports as all other interfaces, except the one on which the frame was received. If switch architecture will permit, this traffic will then be sent using all interfaces defined in the MAC address table. If the number of interfaces would be 40, we would have 40times the generated rate delivered to the device under load.

Additionally for traffic identification, we can mark traffic on different incoming ports on aggregator with different DSCP values, that could be defined per port.

Traffic generation using CAM replication

Traffic generation using CAM replication

Both comments and trackbacks are currently closed