* [PATCH] User mode linux bump maximum MTU tuntap interface
@ 2019-07-01 16:29 Алексей
2019-07-02 12:55 ` [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND] Алексей
0 siblings, 1 reply; 6+ messages in thread
From: Алексей @ 2019-07-01 16:29 UTC (permalink / raw)
To: netdev
Hello, the parameter ETH_MAX_PACKET limited to 1500 bytes is the not
support jumbo frames.
This patch change ETH_MAX_PACKET the 65535 bytes to jumbo frame support
with user mode linux tuntap driver.
PATCH:
-------------------
diff -ruNp ./src/1/linux-5.1/arch/um/include/shared/net_user.h
./src/linux-5.1/$
--- ./arch/um/include/shared/net_user.h 2019-05-06 00:42:58.000000000 +0000
+++ ./arch/um/include/shared/net_user.h 2019-07-01 16:09:20.316666597 +0000
@@ -9,7 +9,7 @@
#define ETH_ADDR_LEN (6)
#define ETH_HEADER_ETHERTAP (16)
#define ETH_HEADER_OTHER (26) /* 14 for ethernet + VLAN + MPLS for
crazy peopl$
-#define ETH_MAX_PACKET (1500)
+#define ETH_MAX_PACKET (65535)
#define UML_NET_VERSION (4)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND]
2019-07-01 16:29 [PATCH] User mode linux bump maximum MTU tuntap interface Алексей
@ 2019-07-02 12:55 ` Алексей
2019-07-02 14:40 ` Richard Weinberger
0 siblings, 1 reply; 6+ messages in thread
From: Алексей @ 2019-07-02 12:55 UTC (permalink / raw)
To: netdev
Hello, the parameter ETH_MAX_PACKET limited to 1500 bytes is the not
support jumbo frames.
This patch change ETH_MAX_PACKET the 65535 bytes to jumbo frame support
with user mode linux tuntap driver.
PATCH:
-------------------
diff -ruNP ../linux_orig/linux-5.1/arch/um/include/shared/net_user.h
./arch/um/include/shared/net_user.h
--- a/arch/um/include/shared/net_user.h 2019-05-06 00:42:58.000000000
+0000
+++ b/arch/um/include/shared/net_user.h 2019-07-02 07:14:13.593333356
+0000
@@ -9,7 +9,7 @@
#define ETH_ADDR_LEN (6)
#define ETH_HEADER_ETHERTAP (16)
#define ETH_HEADER_OTHER (26) /* 14 for ethernet + VLAN + MPLS for
crazy people */
-#define ETH_MAX_PACKET (1500)
+#define ETH_MAX_PACKET (65535)
#define UML_NET_VERSION (4)
-------------------
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND]
2019-07-02 12:55 ` [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND] Алексей
@ 2019-07-02 14:40 ` Richard Weinberger
2019-07-02 14:47 ` Anton Ivanov
2019-07-12 9:22 ` Anton Ivanov
0 siblings, 2 replies; 6+ messages in thread
From: Richard Weinberger @ 2019-07-02 14:40 UTC (permalink / raw)
To: Алексей
Cc: netdev, linux-um, Anton Ivanov
CC'ing um folks.
On Tue, Jul 2, 2019 at 3:01 PM Алексей <ne-vlezay80@yandex.ru> wrote:
>
> Hello, the parameter ETH_MAX_PACKET limited to 1500 bytes is the not
> support jumbo frames.
>
> This patch change ETH_MAX_PACKET the 65535 bytes to jumbo frame support
> with user mode linux tuntap driver.
>
>
> PATCH:
>
> -------------------
>
>
> diff -ruNP ../linux_orig/linux-5.1/arch/um/include/shared/net_user.h
> ./arch/um/include/shared/net_user.h
> --- a/arch/um/include/shared/net_user.h 2019-05-06 00:42:58.000000000
> +0000
> +++ b/arch/um/include/shared/net_user.h 2019-07-02 07:14:13.593333356
> +0000
> @@ -9,7 +9,7 @@
> #define ETH_ADDR_LEN (6)
> #define ETH_HEADER_ETHERTAP (16)
> #define ETH_HEADER_OTHER (26) /* 14 for ethernet + VLAN + MPLS for
> crazy people */
> -#define ETH_MAX_PACKET (1500)
> +#define ETH_MAX_PACKET (65535)
>
> #define UML_NET_VERSION (4)
>
> -------------------
>
>
--
Thanks,
//richard
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND]
2019-07-02 14:40 ` Richard Weinberger
@ 2019-07-02 14:47 ` Anton Ivanov
2019-07-12 9:22 ` Anton Ivanov
1 sibling, 0 replies; 6+ messages in thread
From: Anton Ivanov @ 2019-07-02 14:47 UTC (permalink / raw)
To: Richard Weinberger, Алексей
Cc: netdev, linux-um
On 02/07/2019 15:40, Richard Weinberger wrote:
> CC'ing um folks.
>
> On Tue, Jul 2, 2019 at 3:01 PM Алексей <ne-vlezay80@yandex.ru> wrote:
>>
>> Hello, the parameter ETH_MAX_PACKET limited to 1500 bytes is the not
>> support jumbo frames.
>>
>> This patch change ETH_MAX_PACKET the 65535 bytes to jumbo frame support
>> with user mode linux tuntap driver.
>>
>>
>> PATCH:
>>
>> -------------------
>>
>>
>> diff -ruNP ../linux_orig/linux-5.1/arch/um/include/shared/net_user.h
>> ./arch/um/include/shared/net_user.h
>> --- a/arch/um/include/shared/net_user.h 2019-05-06 00:42:58.000000000
>> +0000
>> +++ b/arch/um/include/shared/net_user.h 2019-07-02 07:14:13.593333356
>> +0000
>> @@ -9,7 +9,7 @@
>> #define ETH_ADDR_LEN (6)
>> #define ETH_HEADER_ETHERTAP (16)
>> #define ETH_HEADER_OTHER (26) /* 14 for ethernet + VLAN + MPLS for
>> crazy people */
>> -#define ETH_MAX_PACKET (1500)
>> +#define ETH_MAX_PACKET (65535)
>>
>> #define UML_NET_VERSION (4)
>>
>> -------------------
>>
>>
>
>
The vector version for tap already allows mtu > 1500. It does not have a
check to limit it to 65535 max though and it should.
I will add this one to the queue of stuff for the network drivers. IMHO
we should start migrating some of the older ones to vector IO.
--
Anton R. Ivanov
https://www.kot-begemot.co.uk/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND]
2019-07-02 14:40 ` Richard Weinberger
2019-07-02 14:47 ` Anton Ivanov
@ 2019-07-12 9:22 ` Anton Ivanov
2019-07-12 9:40 ` Anton Ivanov
1 sibling, 1 reply; 6+ messages in thread
From: Anton Ivanov @ 2019-07-12 9:22 UTC (permalink / raw)
To: Richard Weinberger, Алексей
Cc: netdev, linux-um
On 02/07/2019 15:40, Richard Weinberger wrote:
> CC'ing um folks.
>
> On Tue, Jul 2, 2019 at 3:01 PM Алексей <ne-vlezay80@yandex.ru> wrote:
>>
>> Hello, the parameter ETH_MAX_PACKET limited to 1500 bytes is the not
>> support jumbo frames.
>>
>> This patch change ETH_MAX_PACKET the 65535 bytes to jumbo frame support
>> with user mode linux tuntap driver.
>>
>>
>> PATCH:
>>
>> -------------------
>>
>>
>> diff -ruNP ../linux_orig/linux-5.1/arch/um/include/shared/net_user.h
>> ./arch/um/include/shared/net_user.h
>> --- a/arch/um/include/shared/net_user.h 2019-05-06 00:42:58.000000000
>> +0000
>> +++ b/arch/um/include/shared/net_user.h 2019-07-02 07:14:13.593333356
>> +0000
>> @@ -9,7 +9,7 @@
>> #define ETH_ADDR_LEN (6)
>> #define ETH_HEADER_ETHERTAP (16)
>> #define ETH_HEADER_OTHER (26) /* 14 for ethernet + VLAN + MPLS for
>> crazy people */
>> -#define ETH_MAX_PACKET (1500)
>> +#define ETH_MAX_PACKET (65535)
>>
>> #define UML_NET_VERSION (4)
>>
>> -------------------
>>
>>
>
>
This does not quite work because in some of the drivers you get extra
added on top of this constant.
I am going to see what can be done to fix the old net* drivers, imho we
should start phasing them out in favor of the vector ones.
--
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND]
2019-07-12 9:22 ` Anton Ivanov
@ 2019-07-12 9:40 ` Anton Ivanov
0 siblings, 0 replies; 6+ messages in thread
From: Anton Ivanov @ 2019-07-12 9:40 UTC (permalink / raw)
To: Richard Weinberger, Алексей
Cc: netdev, linux-um
On 12/07/2019 10:22, Anton Ivanov wrote:
> On 02/07/2019 15:40, Richard Weinberger wrote:
>> CC'ing um folks.
>>
>> On Tue, Jul 2, 2019 at 3:01 PM Алексей <ne-vlezay80@yandex.ru> wrote:
>>>
>>> Hello, the parameter ETH_MAX_PACKET limited to 1500 bytes is the not
>>> support jumbo frames.
>>>
>>> This patch change ETH_MAX_PACKET the 65535 bytes to jumbo frame support
>>> with user mode linux tuntap driver.
>>>
>>>
>>> PATCH:
>>>
>>> -------------------
>>>
>>>
>>> diff -ruNP ../linux_orig/linux-5.1/arch/um/include/shared/net_user.h
>>> ./arch/um/include/shared/net_user.h
>>> --- a/arch/um/include/shared/net_user.h 2019-05-06 00:42:58.000000000
>>> +0000
>>> +++ b/arch/um/include/shared/net_user.h 2019-07-02 07:14:13.593333356
>>> +0000
>>> @@ -9,7 +9,7 @@
>>> #define ETH_ADDR_LEN (6)
>>> #define ETH_HEADER_ETHERTAP (16)
>>> #define ETH_HEADER_OTHER (26) /* 14 for ethernet + VLAN + MPLS for
>>> crazy people */
>>> -#define ETH_MAX_PACKET (1500)
>>> +#define ETH_MAX_PACKET (65535)
>>>
>>> #define UML_NET_VERSION (4)
>>>
>>> -------------------
>>>
>>>
>>
>>
>
> This does not quite work because in some of the drivers you get extra
> added on top of this constant.
>
> I am going to see what can be done to fix the old net* drivers, imho we
> should start phasing them out in favor of the vector ones.
>
In fact it does not work even for lower values because the old net_
family assumes a contiguous skb buffer and uses read/write functions
which read the whole packet into it at once. That is the buffer it get
if it asks for anything less than SKB_WITH_OVERHEAD(PAGE_SIZE).
If it asks for more there is no guarantee that the resulting buffer will
be contiguous - it may get a segmented skb and will need to use
appropriate functions to read/write into segments.
If you just up the MTU without fixing the underlying transport you get
memory corruption.
If we are to support this I have to rewrite the whole driver set and it
will frankly be easier to just make them use vector drivers underneath
and set the names to be ethX instead.
In fact, I will probably do a patch that does that the moment I finish
adding all existing socket transports to vector_user.c.
--
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-07-12 9:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-01 16:29 [PATCH] User mode linux bump maximum MTU tuntap interface Алексей
2019-07-02 12:55 ` [PATCH] User mode linux bump maximum MTU tuntap interface [RESAND] Алексей
2019-07-02 14:40 ` Richard Weinberger
2019-07-02 14:47 ` Anton Ivanov
2019-07-12 9:22 ` Anton Ivanov
2019-07-12 9:40 ` Anton Ivanov
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).