From: Adam Irr <adam.irr@outlook.com>
To: Harsh Shandilya <me@msfjarvis.dev>, Jason <Jason@zx2c4.com>
Cc: wireguard@lists.zx2c4.com
Subject: Re: [PATCH] wg-quick: Android: Use ip link to set MTU
Date: Mon, 4 Jan 2021 21:50:02 -0800 [thread overview]
Message-ID: <DM5PR0701MB3670F47423368F887D0D13A392D10@DM5PR0701MB3670.namprd07.prod.outlook.com> (raw)
In-Reply-To: <375e4f5117985cc3d71fbd786e5ab3f1@msfjarvis.dev>
Hello Harsh,
On 1/4/21 9:53 AM, Harsh Shandilya wrote:
> Hey Adam,
>
> On 2021-01-03 05:59, Adam Irr wrote:
>> The ndc command used didn't work on my Nvidia Shield (rooted with a
>> custom-built kernel). The ip link command does work. I have only
>> tested this on an Nvidia Shield (Android TV - Version 9.0 Pie).
>>
>> I couldn't find a lot of documentation on ndc so it's possible my
>> device/kernel is misconfigured. If you suspect this is the case, let
>> me know.
>
> You couldn't find documentation because there isn't any, it's
> effectively "private API" and Google has broken it time and again. It
> is rather curious that you're running into this issue though, since
> we've had the NDC code in place since before Android 9 came out and
> went through breaking changes in every cycle without these specific
> invocations failing. The last ndc related problem we had was with the
> Android 11 release, where a similar fix[1] was implemented.
>
> I've Cc'ed Jason for reviewing this change, but I'm decidedly curious
> as to why just the Nvidia SHIELD seems to need it.
>
I get a permission denied error when running the ndc command, even with
root. Given the lack of ndc documentation I didn't get any further than
that. If you have any other ideas I can try them.
darcy:/ # ndc interface setmtu wg0 1418
400 0 Failed to set MTU (Permission denied)
darcy:/ # ifconfig wg0 | grep MTU
UP POINTOPOINT RUNNING NOARP MTU:1420 Metric:1
darcy:/ # ip link set dev wg0 mtu 1419
darcy:/ # ifconfig wg0 | grep MTU
UP POINTOPOINT RUNNING NOARP MTU:1419 Metric:1
darcy:/ # whoami
root
I'll await Jason's review
>>
>> Signed-off-by: Adam Irr <adam.irr@outlook.com>
>> ---
>> src/wg-quick/android.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/wg-quick/android.c b/src/wg-quick/android.c
>> index 326efa9..941c7b8 100644
>> --- a/src/wg-quick/android.c
>> +++ b/src/wg-quick/android.c
>> @@ -995,7 +995,7 @@ static void set_mtu(const char *iface, unsigned
>> int mtu)
>> int endpoint_mtu, next_mtu;
>>
>> if (mtu) {
>> - cndc("interface setmtu %s %u", iface, mtu);
>> + cmd("ip link set dev %s mtu %d", iface, mtu);
>> return;
>> }
>>
>> @@ -1016,7 +1016,7 @@ static void set_mtu(const char *iface, unsigned
>> int mtu)
>> endpoint_mtu = next_mtu;
>> }
>>
>> - cndc("interface setmtu %s %d", iface, endpoint_mtu - 80);
>> + cmd("ip link set dev %s mtu %d", iface, endpoint_mtu - 80);
>> }
>>
>> static void add_route(const char *iface, unsigned int netid, const
>> char *route)
>> --
>> 2.25.1
>
> Cheers,
> Harsh
>
> 1:
> https://git.zx2c4.com/wireguard-tools/commit/?id=9a0d65e2afbd6e418c883e0de8555b4fac29f1d5
Thank you,
Adam
prev parent reply other threads:[~2021-01-05 5:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-03 5:59 Adam Irr
2021-01-04 17:53 ` Harsh Shandilya
2021-01-05 5:50 ` Adam Irr [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM5PR0701MB3670F47423368F887D0D13A392D10@DM5PR0701MB3670.namprd07.prod.outlook.com \
--to=adam.irr@outlook.com \
--cc=Jason@zx2c4.com \
--cc=me@msfjarvis.dev \
--cc=wireguard@lists.zx2c4.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).