Re: net/arp: ARP cache aging failed.

2016-12-14 Thread YueHaibing
On 2016/12/15 4:15, Julian Anastasov wrote: > > Hello, > > On Wed, 14 Dec 2016, YueHaibing wrote: > >> On 2016/11/26 4:40, Julian Anastasov wrote: >>> >>> So, the idea is to move TCP and other similar >>> users to the new dst_confirm_sk() method. If other >>> dst_confirm() users are

Re: net/arp: ARP cache aging failed.

2016-12-14 Thread Julian Anastasov
Hello, On Wed, 14 Dec 2016, YueHaibing wrote: > On 2016/11/26 4:40, Julian Anastasov wrote: > > > > So, the idea is to move TCP and other similar > > users to the new dst_confirm_sk() method. If other > > dst_confirm() users are left, they should be checked > > if dsts with

Re: net/arp: ARP cache aging failed.

2016-12-14 Thread YueHaibing
On 2016/11/26 4:40, Julian Anastasov wrote: > > Hello, > > On Fri, 25 Nov 2016, Hannes Frederic Sowa wrote: > >> On 25.11.2016 09:18, Julian Anastasov wrote: >>> >>> Another option would be to add similar bit to >>> struct sock (sk_dst_pending_confirm), may be ip_finish_output2 >>>

Re: net/arp: ARP cache aging failed.

2016-11-25 Thread Julian Anastasov
Hello, On Fri, 25 Nov 2016, Hannes Frederic Sowa wrote: > On 25.11.2016 09:18, Julian Anastasov wrote: > > > > Another option would be to add similar bit to > > struct sock (sk_dst_pending_confirm), may be ip_finish_output2 > > can propagate it to dst_neigh_output via new arg and

Re: net/arp: ARP cache aging failed.

2016-11-25 Thread Hannes Frederic Sowa
On 25.11.2016 09:18, Julian Anastasov wrote: > > Hello, > > On Thu, 24 Nov 2016, Hannes Frederic Sowa wrote: > >> I think some people are thinking about it already (me also ;) ). >> >> But it is not easy to come up with a solution. First of all, we need to >> look up the L2 address again

Re: net/arp: ARP cache aging failed.

2016-11-25 Thread Julian Anastasov
Hello, On Thu, 24 Nov 2016, Hannes Frederic Sowa wrote: > I think some people are thinking about it already (me also ;) ). > > But it is not easy to come up with a solution. First of all, we need to > look up the L2 address again in the neighbor cache and confirm the > appropriate

Re: net/arp: ARP cache aging failed.

2016-11-24 Thread Hannes Frederic Sowa
On 24.11.2016 10:06, YueHaibing wrote: > On 2016/11/24 15:51, Julian Anastasov wrote: >> >> Hello, >> >> On Wed, 23 Nov 2016, Eric Dumazet wrote: >> >>> On Wed, 2016-11-23 at 15:37 +0100, Hannes Frederic Sowa wrote: >>> Irregardless about the question if bonding should keep the MAC

Re: net/arp: ARP cache aging failed.

2016-11-24 Thread YueHaibing
On 2016/11/24 15:51, Julian Anastasov wrote: > > Hello, > > On Wed, 23 Nov 2016, Eric Dumazet wrote: > >> On Wed, 2016-11-23 at 15:37 +0100, Hannes Frederic Sowa wrote: >> >>> Irregardless about the question if bonding should keep the MAC address >>> alive, a MAC address can certainly

Re: net/arp: ARP cache aging failed.

2016-11-23 Thread Julian Anastasov
Hello, On Wed, 23 Nov 2016, Eric Dumazet wrote: > On Wed, 2016-11-23 at 15:37 +0100, Hannes Frederic Sowa wrote: > > > Irregardless about the question if bonding should keep the MAC address > > alive, a MAC address can certainly change below a TCP connection. > > Of course ;) > > >

Re: net/arp: ARP cache aging failed.

2016-11-23 Thread Eric Dumazet
On Wed, 2016-11-23 at 15:37 +0100, Hannes Frederic Sowa wrote: > Irregardless about the question if bonding should keep the MAC address > alive, a MAC address can certainly change below a TCP connection. Of course ;) > > dst_entry is 1:n to neigh_entry and as such we can end up confirming an >

Re: net/arp: ARP cache aging failed.

2016-11-23 Thread Hannes Frederic Sowa
On 23.11.2016 13:05, Eric Dumazet wrote: > On Wed, 2016-11-23 at 10:33 +0200, Julian Anastasov wrote: >> Hello, >> >> On Wed, 23 Nov 2016, yuehaibing wrote: >> >>> As to my topo,HOST1 and HOST3 share one route on HOST2, tcp connection >>> between HOST2 and HOST3 may call tcp_ack to set

Re: net/arp: ARP cache aging failed.

2016-11-23 Thread Eric Dumazet
On Wed, 2016-11-23 at 10:33 +0200, Julian Anastasov wrote: > Hello, > > On Wed, 23 Nov 2016, yuehaibing wrote: > > > As to my topo,HOST1 and HOST3 share one route on HOST2, tcp connection > > between HOST2 and HOST3 may call tcp_ack to set dst->pending_confirm. > > > > So

Re: net/arp: ARP cache aging failed.

2016-11-23 Thread Julian Anastasov
Hello, On Wed, 23 Nov 2016, yuehaibing wrote: > As to my topo,HOST1 and HOST3 share one route on HOST2, tcp connection > between HOST2 and HOST3 may call tcp_ack to set dst->pending_confirm. > > So dst_neigh_output may wrongly freshed n->confirmed which stands for >

net/arp: ARP cache aging failed.

2016-11-22 Thread yuehaibing
Hi, I've encountered a arp cache aging failed bug in 4.9 kernel.The topo is as follow: HOST1 - IP1 | Switch |IP2-| HOST2 | |