> -----Original Message----- > From: Eric Dumazet [mailto:eric.duma...@gmail.com] > Sent: Friday, October 30, 2015 4:19 PM > To: Haiyang Zhang <haiya...@microsoft.com> > Cc: eduma...@google.com; David Miller <da...@davemloft.net>; > netdev@vger.kernel.org; KY Srinivasan <k...@microsoft.com> > Subject: Re: [patch] tcp: attach SYNACK messages to request sockets > instead of listener > > On Fri, 2015-10-30 at 13:02 -0700, Eric Dumazet wrote: > > > So it looks like you have a device with a very big hh_len > > > > MAX_TCP_HEADER is not enough space to hold all headers, and this is > the > > bug that needs to be fixed. This is scary to realloc all tcp packets ! > > > > drivers/net/hyperv/netvsc_drv.c sets a needed_headroom of 220 bytes :( > > Could you try : > > diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h > index 4ac653b7b8ac..7dbdd29076be 100644 > --- a/include/linux/netdevice.h > +++ b/include/linux/netdevice.h > @@ -132,8 +132,10 @@ static inline bool dev_xmit_complete(int rc) > * used. > */ > > -#if defined(CONFIG_WLAN) || IS_ENABLED(CONFIG_AX25) > -# if defined(CONFIG_MAC80211_MESH) > +#if defined(CONFIG_WLAN) || IS_ENABLED(CONFIG_AX25) || > IS_ENABLED(CONFIG_HYPERV_NET) > +# if IS_ENABLED(CONFIG_HYPERV_NET) > +# define LL_MAX_HEADER 384 > +# elif defined(CONFIG_MAC80211_MESH) > # define LL_MAX_HEADER 128 > # else > # define LL_MAX_HEADER 96 >
With your 2nd patch, I saw: [ 19.242104] Wow ! headroom=164 while hh_len(eth0)=240 After adding the 3rd patch with increased LL_MAX_HEADER, the warning and stack trace no longer show up. Also, could you fix the net core code so that it doesn't panic even with reallocated header? Thanks, - Haiyang N�����r��y����b�X��ǧv�^�){.n�+���z�^�)����w*jg��������ݢj/���z�ޖ��2�ޙ����&�)ߡ�a�����G���h��j:+v���w��٥