File: //etc/udev/rules.d/75-persistent-net-generator.rules
# Copyright 2012 Amazon.com, Inc. and its affiliates. All Rights Reserved.
#
# Licensed under the MIT License. See the LICENSE accompanying this file
# for the specific language governing permissions and limitations under
# the License.
# these rules generate rules for persistent network device naming
SUBSYSTEM!="net", GOTO="persistent_net_generator_end"
KERNEL!="eth*", GOTO="persistent_net_generator_end"
ACTION!="add", GOTO="persistent_net_generator_end"
NAME=="?*", GOTO="persistent_net_generator_end"
# do not create rule for eth0
ENV{INTERFACE}=="eth0", GOTO="persistent_net_generator_end"
# read MAC address
ENV{MATCHADDR}="$attr{address}"
# do not use empty address
ENV{MATCHADDR}=="00:00:00:00:00:00", GOTO="persistent_net_generator_end"
# discard any interface name not generated by our rules
ENV{INTERFACE_NAME}=="?*", ENV{INTERFACE_NAME}=""
# default comment
ENV{COMMENT}="elastic network interface"
# write rule
IMPORT{program}="write_net_rules"
# rename interface if needed
ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
LABEL="persistent_net_generator_end"