SecondaryTableController: force the MSS to match pmtu on TCP SYN

Without this change, the VPN sets up a tun/ppp that needs a small
MTU, and during TCP SYN the MSS will end up matching the outgoing iface
MTU which is potentially too big.
This leads to connection flakiness. The wrong MSS is visible by
tcpdump-ing on the tun/ppp device.

With this change, the MSS now is correct.
It requires the kernel to be configured with
 CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
If kernel is not configured, it silently fails.

Bug: 11579326
Change-Id: I254d8c39435b92dff91931e461e1efb8b35f6b1e
Merge tag 'android-4.4.1_r1' into HEAD

Android 4.4.1 Release 1
netd: IPv6 Tethering Support

This patch modifies netd to receive addUpstreamInterface and
removeUpstreamInterface commands from the tethering java
framework. Adds v6start/v6stop which calls the ICMPv6 forwarder
with the appropriate interfaces. Enables IPv6 forwarding.
CRs-Fixed: 428321

Change-Id: I17805c9e10ec07832cadb9d1f12e8d1302a9aaa0
netd: enable IPv6 forwarding and handle upstreaminterface

This patch modifies netd to receive addUpstreamInterface and
removeUpstreamInterface commands from the tethering java
framework. Adds v6start/v6stop which calls the ICMPv6 forwarder
with the appropriate interfaces. Enables IPv6 forwarding.

Change-Id: Ic857f15ea9c5ec4be0dbde2656b55e65060f4497
auto-merger: merge in from slim/kk4.4