Skip to main content
Version: Next

RandomMac

The RandomMac transformer is designed to populate specified database columns with random MAC addresses.

Parameters

NameDescriptionDefaultRequiredSupported DB types
columnThe name of the column to be affectedYestext, varchar, char, bpchar, citext, macaddr
keep_original_vendorShould the Individual/Group (I/G) and Universal/Local (U/L) bits be preserved from the original MAC address.falseNo-
cast_typeParam which allow to set Individual/Group (I/G) bit in MAC Address. Allowed values [any, individual, group]. If this value is individual, the address is meant for a single device (unicast). If it is group, the address is for a group of devices, which can include multicast and broadcast addresses.anyNo
management_typeParam which allow to set Universal/Local (U/L) bit in MAC Address. Allowed values [any, universal, local]. If this bit is universal, the address is universally administered (globally unique). If it is local, the address is locally administered (such as when set manually or programmatically on a network device).anyNo
engineThe engine used for generating the values [random, hash]. Use hash for deterministic generationrandomNo-

Description

The RandomMac transformer generates a random MAC address and injects it into the specified database column. The transformer can be configured to preserve the Individual/Group (I/G) and Universal/Local (U/L) bits from the original MAC address. You can also keep the original vendor bits in the generated MAC address by setting the keep_original_vendor parameter to true.

The engine parameter allows you to choose between random and hash engines for generating values. Read more about the engines in the Transformation engines section.

Example: Generate a Random MAC Address

This example demonstrates how to configure the RandomMac transformer to inject a random MAC address into the mac_address column:

Create table mac_addresses and insert data
CREATE TABLE mac_addresses
(
id SERIAL PRIMARY KEY,
device_name VARCHAR(50),
mac_address MACADDR,
description TEXT
);

INSERT INTO mac_addresses (device_name, mac_address, description)
VALUES ('Device A', '00:1A:2B:3C:4D:5E', 'Description for Device A'),
('Device B', '01:2B:3C:4D:5E:6F', 'Description for Device B'),
('Device C', '02:3C:4D:5E:6F:70', 'Description for Device C'),
('Device D', '03:4D:5E:6F:70:71', 'Description for Device D'),
('Device E', '04:5E:6F:70:71:72', 'Description for Device E');

RandomPerson transformer example
- schema: public
name: mac_addresses
transformers:
- name: "RandomMac"
params:
column: "mac_address"
engine: "random"
cast_type: "any"
management_type: "any"

Result:

ColumnOriginalValueTransformedValue
mac_address00:1a:2b:3c:4d:5eac:7f:a8:11:4e:0d
Copyright © GreenMask 2026