Closed
Bug 1174998
Opened 9 years ago
Closed 9 years ago
Configure MTU from apn settings or the one reported from modem.
Categories
(Firefox OS Graveyard :: RIL, defect)
Tracking
(tracking-b2g:backlog, firefox44 fixed)
Tracking | Status | |
---|---|---|
firefox44 | --- | fixed |
People
(Reporter: edgar, Assigned: jessica)
References
Details
Attachments
(4 files, 4 obsolete files)
3.75 KB,
patch
|
edgar
:
review+
|
Details | Diff | Splinter Review |
10.53 KB,
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
8.12 KB,
patch
|
jessica
:
review+
|
Details | Diff | Splinter Review |
9.04 KB,
patch
|
jessica
:
review+
|
Details | Diff | Splinter Review |
+++ This bug was initially created as a follow-up of Bug #1171283 +++
MTU configuration is important for the network, specially in IPv6 [1].
Now we didn't do any special handling for MTU, in some ipv6 network, we may get 'Packet Too Big" error from ICMPv6. To adopt correct MTU for a network, we can use MTU information from,
1. Apn setting: some apn settings includes mtu information [2].
2. Modem: mtu will be provided in RIL_Data_Call_Response, but it is only available since RIL version 11 [3].
3. Or use the IPv6 default minimum MTU (1280).
[1] http://www.tcpipguide.com/free/t_ICMPv6PacketTooBigMessages.htm
[2] https://github.com/mozilla-b2g/gaia/blob/7631a7d17093e5bdf4968edd032e848ee75d48fb/shared/resources/apn.json#L1244
[3] https://github.com/android/platform_hardware_ril/commit/b44dda3ea5bbbadb910479019f967b52cf9d69c7
[3]
Assignee | ||
Comment 2•9 years ago
|
||
If we'd like to read mtu from data call response, we'll need to read pcscf [1] available in ril version 10 first. I'd prefer to do it in another bug though.
[1] https://github.com/android/platform_hardware_ril/blob/master/include/telephony/ril.h#L380
Assignee | ||
Comment 4•9 years ago
|
||
(In reply to Jessica Jong [:jjong] [:jessica] from comment #2)
> If we'd like to read mtu from data call response, we'll need to read pcscf
> [1] available in ril version 10 first. I'd prefer to do it in another bug
> though.
>
> [1]
> https://github.com/android/platform_hardware_ril/blob/master/include/
> telephony/ril.h#L380
Filed bug 1185406 for reading pcscf from data call response.
Assignee | ||
Comment 5•9 years ago
|
||
netd set/get mtu command is supported only since Android version 4.4 (Kitkat) [1], so we'll need to skip this in older versions, like in current emulator (ics).
[1] https://github.com/mozilla-b2g/platform_system_netd/commit/6d6c0e6f1164e3182538cb48c2b95d90a2eb780c
Assignee | ||
Comment 6•9 years ago
|
||
Edgar, may I have your review on this? Thanks.
Attachment #8660611 -
Flags: review?(echen)
Assignee | ||
Comment 7•9 years ago
|
||
Attachment #8660612 -
Flags: review?(echen)
Assignee | ||
Comment 8•9 years ago
|
||
Attachment #8660615 -
Flags: review?(echen)
Assignee | ||
Comment 9•9 years ago
|
||
Attachment #8660617 -
Flags: review?(echen)
Assignee | ||
Updated•9 years ago
|
Attachment #8660615 -
Attachment description: Part 3: read data call's mtu from network/apn settings. → Part 3: read data call's mtu from network/apn settings, v1.
Reporter | ||
Updated•9 years ago
|
Attachment #8660611 -
Flags: review?(echen) → review+
Reporter | ||
Updated•9 years ago
|
Attachment #8660612 -
Flags: review?(echen) → review+
Reporter | ||
Comment 10•9 years ago
|
||
Comment on attachment 8660615 [details] [diff] [review]
Part 3: read data call's mtu from network/apn settings, v1.
Review of attachment 8660615 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/system/gonk/nsIDataCallInterfaceService.idl
@@ +62,5 @@
> */
> readonly attribute DOMString pcscf;
> +
> + /**
> + * MTU received from network. Value <= 0 means network has either not sent a
It will be great if we could have consistent comments/define with the mtu in nsINetworkInterface where -1 means invalid.
Attachment #8660615 -
Flags: review?(echen) → review+
Reporter | ||
Comment 11•9 years ago
|
||
Comment on attachment 8660617 [details] [diff] [review]
Part 4: test cases for network interface's mtu, v1.
Review of attachment 8660617 [details] [diff] [review]:
-----------------------------------------------------------------
Thank you.
::: dom/system/gonk/tests/marionette/head.js
@@ +215,4 @@
> }));
> promises.push(setSettings(SETTINGS_KEY_DATA_ENABLED, aEnabled));
>
> return Promise.all(promises);
Nit: What about retrieve what we need here, e.g. `return Promise.all(promises).then(aValues => aValues[0]);`? And please also update the comments.
@@ +246,2 @@
> }));
> promises.push(radioInterface.setupDataCallByType(aNetworkType));
Ditto.
Attachment #8660617 -
Flags: review?(echen) → review+
Assignee | ||
Comment 12•9 years ago
|
||
Thank you, Edgar.
(In reply to Edgar Chen [:edgar][:echen] from comment #10)
> Comment on attachment 8660615 [details] [diff] [review]
> Part 3: read data call's mtu from network/apn settings, v1.
>
> Review of attachment 8660615 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: dom/system/gonk/nsIDataCallInterfaceService.idl
> @@ +62,5 @@
> > */
> > readonly attribute DOMString pcscf;
> > +
> > + /**
> > + * MTU received from network. Value <= 0 means network has either not sent a
>
> It will be great if we could have consistent comments/define with the mtu in
> nsINetworkInterface where -1 means invalid.
Actually, this comes from [1], but since the negative value is not really meaningful, we can just set it to -1 if value is <= 0. Will update this on the next patch.
[1] https://github.com/mozilla-b2g/platform_hardware_ril/blob/b2g-lollipop-mr1/include/telephony/ril.h#L416
Assignee | ||
Comment 13•9 years ago
|
||
(In reply to Edgar Chen [:edgar][:echen] from comment #11)
> Comment on attachment 8660617 [details] [diff] [review]
> Part 4: test cases for network interface's mtu, v1.
>
> Review of attachment 8660617 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Thank you.
>
> ::: dom/system/gonk/tests/marionette/head.js
> @@ +215,4 @@
> > }));
> > promises.push(setSettings(SETTINGS_KEY_DATA_ENABLED, aEnabled));
> >
> > return Promise.all(promises);
>
> Nit: What about retrieve what we need here, e.g. `return
> Promise.all(promises).then(aValues => aValues[0]);`? And please also update
> the comments.
Sounds good to me, will update this on the upcoming patch. Thanks.
>
> @@ +246,2 @@
> > }));
> > promises.push(radioInterface.setupDataCallByType(aNetworkType));
>
> Ditto.
Assignee | ||
Comment 14•9 years ago
|
||
Hi Olli, we are adding a new attribute 'mtu' in NetworkOptions.webidl for setting Maximum Transmit Unit on a network interface. Would you mind reviewing the webidl part? Thanks.
Attachment #8660611 -
Attachment is obsolete: true
Attachment #8664131 -
Flags: review?(bugs)
Assignee | ||
Updated•9 years ago
|
Attachment #8660612 -
Attachment description: Part 2: set mtu for connected network interfaces, v1. → Part 2: set mtu for connected network interfaces. r=echen
Assignee | ||
Comment 15•9 years ago
|
||
Address review comment 10:
- have consistent comments/define with the mtu in nsINetworkInterface where -1 means not set/invalid
Attachment #8660615 -
Attachment is obsolete: true
Attachment #8664132 -
Flags: review+
Assignee | ||
Comment 16•9 years ago
|
||
Address review comment 11:
- return network info directly in setDataEnabledAndWait() and setupDataCallAndWait() and adjust comments
Attachment #8660617 -
Attachment is obsolete: true
Attachment #8664145 -
Flags: review+
Comment 17•9 years ago
|
||
Comment on attachment 8664131 [details] [diff] [review]
Part 1: add setMtu() support in NetworkService. r=echen,smaug
r+ for the .webidl
Attachment #8664131 -
Flags: review?(bugs) → review+
Assignee | ||
Comment 18•9 years ago
|
||
Use the compact version for return in arrow function.
Attachment #8664145 -
Attachment is obsolete: true
Attachment #8664654 -
Flags: review+
Assignee | ||
Comment 19•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8664131 -
Attachment description: Part 1: add setMtu() support in NetworkService, v2. → Part 1: add setMtu() support in NetworkService. r=echen,smaug
Comment 20•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/88018925cf28
https://hg.mozilla.org/mozilla-central/rev/e3de9e349f1d
https://hg.mozilla.org/mozilla-central/rev/6367ac9f290c
https://hg.mozilla.org/mozilla-central/rev/ba660084227d
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox44:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → FxOS-S8 (02Oct)
You need to log in
before you can comment on or make changes to this bug.
Description
•