This file is indexed.

/lib/udev/rules.d/75-persistent-net-generator.rules is in udev 204-5ubuntu20.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# These rules generate rules to keep network interface names unchanged
# across reboots and write them to /etc/udev/rules.d/70-persistent-net.rules.

# variables used to communicate:
#   MATCHADDR		MAC address used for the match
#   MATCHID		bus_id used for the match
#   MATCHDRV		driver name used for the match
#   MATCHIFTYPE		interface type match
#   COMMENT		comment to add to the generated rule
#   INTERFACE_NAME	requested name supplied by external tool
#   INTERFACE_NEW	new interface name returned by rule writer

ACTION!="add",				GOTO="persistent_net_generator_end"
SUBSYSTEM!="net",			GOTO="persistent_net_generator_end"

# ignore the interface if a name has already been set
NAME=="?*",				GOTO="persistent_net_generator_end"

# new predictable network interface naming scheme
# http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
IMPORT{cmdline}="net.ifnames"
ENV{net.ifnames}=="1",			GOTO="persistent_net_generator_end"

# device name whitelist
KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", \
					GOTO="persistent_net_generator_end"

# ignore Xen virtual interfaces
SUBSYSTEMS=="xen",			GOTO="persistent_net_generator_end"

# ignore UML virtual interfaces
DRIVERS=="uml-netdev",			GOTO="persistent_net_generator_end"

# ignore "secondary" raw interfaces of the madwifi driver
KERNEL=="ath*", ATTRS{type}=="802",	GOTO="persistent_net_generator_end"

# ignore "secondary" monitor interfaces of mac80211 drivers
KERNEL=="wlan*", ATTRS{type}=="803",	GOTO="persistent_net_generator_end"

# by default match on the MAC address and interface type
ENV{MATCHADDR}="$attr{address}"
ENV{MATCHIFTYPE}="$attr{type}"

# match interface dev_id
ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"

# These vendors are known to violate the local MAC address assignment scheme
# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom
ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist"
# 3Com
ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist"
# 3Com IBM PC; Imagen; Valid; Cisco; Apple
ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist"
# Intel
ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist"
# Olivetti
ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist"
# CMC Masscomp; Silicon Graphics; Prime EXL
ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist"
# Prominet Corporation Gigabit Ethernet Switch
ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist"
# BTI (Bus-Tech, Inc.) IBM Mainframes
ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist"
# Novell 2000
ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist"
# Realtec
ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist"
# Kingston Technologies
ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist"
# Ravello Systems
ENV{MATCHADDR}=="2c:c2:60:*", GOTO="globally_administered_whitelist"


# ignore interfaces with locally administered or null MAC addresses
# and VMWare, Hyper-V, KVM, Virtualbox and Xen virtual interfaces
ENV{MATCHADDR}=="?[2367abef]:*",	ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:00:00:00:00:00",	ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*|00:05:69:*|00:1C:14:*", \
					ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:15:5d:*",		ENV{MATCHADDR}=""
ENV{MATCHADDR}=="52:54:00:*|54:52:00:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="08:00:27:*",		ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:16:3e:*",		ENV{MATCHADDR}=""

# ignore Windows Azure Hyper-V virtual interfaces
ENV{MATCHADDR}=="00:03:ff:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:0d:3a:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:1d:d8:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:12:5A:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:17:FA:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:22:48:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="00:50:F2:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="28:18:78:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="50:1a:c5:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="60:45:bd:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="7c:1e:52:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="7c:Ed:8d:*", ENV{MATCHADDR}=""
ENV{MATCHADDR}=="Dc:B4:c4:*", ENV{MATCHADDR}=""

LABEL="globally_administered_whitelist"

# ibmveth interfaces have stable locally administered MAC addresses
SUBSYSTEMS=="ibmveth",			ENV{MATCHADDR}="$attr{address}"

# S/390 interfaces are matched only by id
SUBSYSTEMS=="ccwgroup", \
	ENV{MATCHDRV}="$driver", ENV{MATCHID}="$id", \
	ENV{MATCHADDR}="", ENV{MATCHDEVID}=""

# terminate processing if there are not enough conditions to create a rule
ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", \
					GOTO="persistent_net_generator_end"


# provide nice comments for the generated rules
SUBSYSTEMS=="pci", \
 ENV{COMMENT}="PCI device $attr{vendor}:$attr{device}"
SUBSYSTEMS=="pcmcia", \
 ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id}"
SUBSYSTEMS=="usb", \
 ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct}"
SUBSYSTEMS=="ccwgroup", \
 ENV{COMMENT}="S/390 device at $id"
SUBSYSTEMS=="ibmveth", \
 ENV{COMMENT}="LPAR virtual device at $id"
SUBSYSTEMS=="ieee1394", \
 ENV{COMMENT}="Firewire device $attr{host_id}"
ENV{COMMENT}=="", \
 ENV{COMMENT}="Unknown $env{SUBSYSTEM} device ($env{DEVPATH})"
ATTRS{driver}=="?*", \
 ENV{COMMENT}="$env{COMMENT} ($attr{driver})"


# ignore interfaces without a driver link like bridges and VLANs, otherwise
# generate and write the rule
DRIVERS=="?*", IMPORT{program}="write_net_rules"

# rename the interface if requested
ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"

LABEL="persistent_net_generator_end"