Cache configuration (export Gateway) and Exportd configuration reload

Details (see here after):
storcli:
--------
rechargement de la configuration des storages: prevoir un service pour
passer la creation d'un load balancing group par la socket AF_UNIX (socket pair) : -->done

Verifier que la mise a jour du la table cid/sid depuis le process
main n'a pas d'impact sur le cote non-bloquant : -->done

Modifier la valeur du tmo pour les transactions vers storaged: -->done
  -tmo trx de 10s -> 3s
  -tmo de garde pour reactiver la lecture cd 100ms -> 20ms

rozofsmount/exportd:
-----------

  mettre a jour eproto.c pour le traitement des messages de verification
  et rechargement de la configuration export gateways  : -->done

  creation d'une connexion vers eproto.x depuis rozofsmount non bloquant:
    on utilisera le code rpc generique pour ce faire, ainsi less
    ressources "fuse" et "configuration" seront separé

exportd:
--------

Introduire l'adresse ip virtuelle de l'exportd dans le fichier de configuration
Ceci est necessaire pour passer cette adresse aux export gateways car
elles sont multi-exportd. --> done

introduction du check sum sur le fichier de configuration: --> done

regarder le pb de lock sur volume en cas d'echec du reload --> done

setup_nb.sh:
------------
 lancement des export gateways

export gateways
---------------

 export gateway protocol/export protocol:
  renseigner correctement les headers eproto.x pour que l'exportd detecte correctement
  l'origine de la requete exportd afin de gerer au mieux le cache export gateway ( -->TODO)

 modification des parametres de lancement: on fournit l'adresse IP et le port de base : --> done

 core:
 -----
 load balancing group
 --------------------
   pb de non detection de la perte de lien: ce pb survient lorque que la connexion TCP
    a une emission en cours:
      - pour eviter ce pb:
       1) mettre l'option TCP no-delay dans la configuration de la socket client
         (le code est la mais en #if 0
       2) mettre un mecanisme de control au niveau des connections client:
          - ajout d'une structure dans le context af_unix:
          - activation depuis le lbg au moment du send af_unix
          - control sur receiver ready:
              a echeance timer on fait un "fake" receive pour tester l'etat de la
              connexion: en cas d'erreur on declenche le disconnect
          - clear du timer sur reception du remote
          - le timer n'est re-arme que lorsqu'il n'y pas de request en cours attendant
            une reponse du remote
     Note : the best way to avoid that issue with TCP is to modify the seetings of TCP on Linux (retry: 15-> 3)

    il faut prevoir un service pour configurer le tmo (TODO)
    mettre un service rozodebug pour activer/deactiver le service (TODO)

    sources impactes:
     af_inet_tcp.c :
       TCP no delay

     af_unix_ctx_mgt.c:
       clear du context pour supervision com. TCP

     af_unix_socket_client_generic.c:
       sur af_unix_generic_cli_connected_rcvReady_cbk() callback:
       ajout de l'appel af_inet_cnx_check_expiration()

       sur af_unix_generic_cli_connected_recv_cbk() callback:
         clear du timer de garde (af_inet_cnx_ok())

     af_unix_socket_generic.h:
       ajout de la structure pour supervision de la communication rpc:
         af_inet_check_cnx_t   cnx_supevision;
         af_inet_cnx_ok()
         af_inet_set_cnx_tmo()
         af_inet_enable_cnx_supervision()

     af_unix_socket_stream_recv.c:
      correction inversion entre callback de deconnection et appel de la
      deconnection interne. Suppression egalement des changements
      d'etat du receiver appel appel du callback user.
      Ceci est obligatoire car le user peut demander une reconnection avant de
      retourner dans la fsm de reception

     af_unix_socket_stream_send.c
       meme chose que pour le receiver

     north_lbg.h  :
        number of entries in a load balancing group

     north_lbg_api.h
        api pour destruction d'un load balancing group

     north_load_balancer_api.c
        load balancing group deletion
        armement timer de garde sur emission load balancing group

 af_unix and af_inet stream send and receive
 --------------------------------------------

   In case of disconnection from the remote (RUC_DISC) the system must first initiate
   an internal disconnection and then use the user callback:
     If not done in that order, we might enter in a dead-lock on the recv/xmit stream FSM
     since the FSM state is set to DEAD.
     That might happen only for TCP client connection that attempt to automatically reconnect (.i.e) Load Balancing Grp.

transaction module:
------------------
  retirer la structure fsm-> gagne 152 octets (--> done)
  livrer la correction sur armement timer sur contexte libere. (-->done)