Bem, eu perguntei na lista de discussão freebsd-stable @, e depois de analisar o rastreamento de pacotes, aqui está o que o desenvolvedor do alvo iSCSI do Kernel do FreeBSD contada :
Thanks for the packet trace. What happens there is that the Windows initiator logs in, requests Discovery ("SendTargets=All"), receives the list of targets, as expected, and then... sends "SendTargets=All" again, instead of logging off. This results in ctld(8) dropping the session. The initiator then starts the Discovery session again, but this time it only logs in and then out, without actually requesting the target list.
Perhaps you could work around this by using "discovery-filter", as documented in ctl.conf(5)?
Eu segui o conselho dele, limitando a descoberta a apenas os alvos que são acessíveis a partir do iniciador em questão e o problema desapareceu.
Portanto, parece haver alguma limitação no iniciador MSSC iSCSi, que é acionado no estágio de descoberta. Desde que o alvo iSCSI de MSFT tem a limitação de 512 alvos, sua somente parece compreensível que o iniciador começa a se comportar mal em torno do número de alvos 573.