mtpd: Use L2TP implementation from mainline kernel

Add upstream kernel implementation of L2TP protocol (OL2TP). This code
uses pppol2tp-android plugin, which was added to pppd project.

mtpd will try to use OL2TP protocol (upstream) by default. In case if
OL2TP is disabled in kernel, mtpd will fall back to old OLAC protocol.

After this patch, old implementation (PX_PROTO_OLAC) can be dropped from
Android kernel. After some transition time we can keep only OL2TP support
in mtpd and drop OLAC support for good.

In order to use this L2TP implementation, next kernel options should be
enabled:

    CONFIG_NET_IPGRE_DEMUX=y
    CONFIG_PPPOE=y
    CONFIG_L2TP=y
    CONFIG_PPPOL2TP=y

For more details see: [1].

[1] https://wiki.linaro.org/LMG/Kernel/PPP

Change-Id: Ifb0e023817039af7a11353c0568b8c3dd234cc53
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
diff --git a/mtpd.h b/mtpd.h
index 8e7799b..dad3ea6 100644
--- a/mtpd.h
+++ b/mtpd.h
@@ -70,6 +70,8 @@
 void log_print(int level, char *format, ...);
 void create_socket(int family, int type, char *server, char *port);
 void start_pppd(int pppox);
+void start_pppd_ol2tp(int tunnel_fd, int session_fd, int tunnel_id,
+                      int session_id);
 
 /* Each protocol must implement everything defined in this structure. Note that
  * timeout intervals are in milliseconds, where zero means forever. To indicate