$darkmode
Elektra 0.11.0
Plugin: macaddr

This plugin validates MAC-addresses. The following MAC-address-formats are supported:

XX-XX-XX-XX-XX-XX
XX:XX:XX:XX:XX:XX
XXXXXX-XXXXXX
Integer values (0 - 281474976710655)

kdbGet returns an integer-representation of these values.

Installation

See installation. The package is called libelektra5-extra.

Usage

1 # Backup-and-Restore: user:/tests/mac
2 
3 # Mount `macaddr` plugin
4 sudo kdb mount macconf.ecf user:/tests/mac macaddr
5 
6 # Setting a MAC address using colons
7 kdb set user:/tests/mac/mac1 00:A0:C9:14:C8:29
8 # RET: 0
9 
10 # Setting a MAC address using hyphens
11 kdb set user:/tests/mac/mac2 00-A0-C9-14-C8-29
12 # RET: 0
13 
14 # Setting a MAC address using one hyphen
15 kdb set user:/tests/mac/mac3 00A0C9-14C829
16 # RET: 0
17 
18 # Setting a MAC address using an integer value
19 kdb set user:/tests/mac/mac4 17661175009296
20 # RET: 0
21 
22 # Marking written keys as MAC addresses
23 kdb meta-set user:/tests/mac/mac1 check/macaddr ""
24 kdb meta-set user:/tests/mac/mac2 check/macaddr ""
25 kdb meta-set user:/tests/mac/mac3 check/macaddr ""
26 kdb meta-set user:/tests/mac/mac4 check/macaddr ""
27 
28 # Setting a MAC address using an invalid address
29 kdb set user:/tests/mac/mac1 00:G1:C9:14:C8:29
30 # RET: 5
31 
32 # Setting a MAC address using an invalid address
33 kdb set user:/tests/mac/mac1 00:E1:C914:C8:29
34 # RET: 5
35 
36 # Setting a MAC address using an invalid address
37 kdb set user:/tests/mac/mac4 281474976710656
38 # RET: 5
39 
40 # Retrieving a MAC address with colons as integer
41 kdb get user:/tests/mac/mac1
42 #> 690568349737
43 
44 # Retrieving a MAC address with hyphens as integer
45 kdb get user:/tests/mac/mac2
46 #> 690568349737
47 
48 # Retrieving a MAC address with one hyphen as integer
49 kdb get user:/tests/mac/mac3
50 #> 690568349737
51 
52 # Retrieving an integer MAC address
53 kdb get user:/tests/mac/mac4
54 #> 17661175009296
55 
56 kdb rm -r user:/tests/mac
57 sudo kdb umount user:/tests/mac

Dependencies

None.

Limitations

None.