diff --git a/public/ppp.te b/public/ppp.te
index 9c1b7078b3053ae70264c6eac95e2fa5b847d113..7a5eada59b382c2caab6a361fd78709cdc04c598 100644
--- a/public/ppp.te
+++ b/public/ppp.te
@@ -7,7 +7,12 @@ net_domain(ppp)
 
 r_dir_file(ppp, proc_net)
 
-allow ppp mtp:socket rw_socket_perms_no_ioctl;
+allow ppp mtp:socket rw_socket_perms;
+
+# ioctls needed for VPN.
+allowxperm ppp self:udp_socket ioctl priv_sock_ioctls;
+allowxperm ppp mtp:socket ioctl ppp_ioctls;
+
 allow ppp mtp:unix_dgram_socket rw_socket_perms;
 allow ppp ppp_device:chr_file rw_file_perms;
 allow ppp self:capability net_admin;