blob: 3e7aa40fd84b64c01cf275f6c228c3e47497b7b9 [file] [log] [blame]
service netd /system/bin/netd
class main
capabilities CHOWN DAC_OVERRIDE DAC_READ_SEARCH FOWNER IPC_LOCK KILL NET_ADMIN NET_BIND_SERVICE NET_RAW SETUID SETGID
group root net_admin
socket dnsproxyd stream 0660 root inet
socket mdns stream 0660 root system
socket fwmarkd stream 0660 root inet
onrestart restart zygote
onrestart restart zygote_secondary
# b/121354779: netd itself is not updatable, but on startup it dlopen()s the resolver library
# from the DNS resolver APEX. Mark it as updatable so init won't start it until all APEX
# packages are ready.
updatable
# Moved from external/android-clat/vendor-464xlat.rc. Since
# clatd is modularized and shipped in apex, migrate the
# clat vendor property to netd.
#
# Certain vendors disable 464xlat by setting a vendor property.
# The connectivity code in the Tethering APEX needs to disable
# 464xlat when the property is set, but it is only allowed to
# access non-vendor system properties. So copy the property to
# a property available to system APIs in android.sysprop.
#
# Arguably this script should live close to the code that uses
# it, but scrips in APEXes are not allowed to use "on property".
# So put it here close to clatd, which is at least related to
# 464xlat.
on property:persist.vendor.net.doxlat=true
setprop net.464xlat.cellular.enabled true
on property:persist.vendor.net.doxlat=false
setprop net.464xlat.cellular.enabled false