Re: J1939 : Address Claiming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On di, 16 jul 2019 09:05:18 +0200, Kurt Van Dijck wrote:
> On di, 16 jul 2019 06:36:35 +0200, Oleksij Rempel wrote:
> > Hi Arthur,
> > 
> > On 15.07.19 16:15, Arthur Guyader wrote:
> > >Hello,
> > >
> > >I encountered a problem when using the claiming address.
> > >When an ECU1 with a low name requests an address, it is saved in the kernel cache.
> > >If this ECU1 is cut, and we launch our ECU2 which will ask for the same address.
> > >He will have no answer from ECU1 and has no trace of him in his cache, so
> > >he can consider that the address is free.
> > >However, the kernel will consider that the address is busy and generate an
> > >error when sending a message. (99 : cannot assign requested address)
> > >
> > >How would you handle this situation?
> 
> AFAIK, J1939 does not describe a timeout on claimed addresses, so
> technically, ECU1 is never really away.
> The code will respect the j1939 spec, and will never timeout either on
> that.

Reading back my own reply, and trying to fix jacd.c, I realize that it
is allow to contest an address, and if the remote didn't respond within
time, you're the owner.

jacd is written like that, so I assume the kernel code is blocking so
to avoid unnecessary address claim congestion.

It's not nice to put a 'recently seen' notion in kernel to decide if an
address claim will problably fail or not, so that justifies to remove
the check completely, but it's not nice to
allow stupid contests either.
I'm undecided wether to add the 'recently seen' or not.

The problems you experience would in any case dissapear.

Kurt



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux