summaryrefslogtreecommitdiffstats
path: root/doc/design-thoughts/be-fe-changes.txt
blob: f242f8a009dfc15a063396b5c81df0fc58070089 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
- PR_O_TRANSP => FE  !!! devra peut-�tre changer vu que c'est un compl�ment du mode dispatch.
- PR_O_NULLNOLOG => FE
- PR_O_HTTP_CLOSE => FE. !!! mettre BE aussi !!!
- PR_O_TCP_CLI_KA => FE

- PR_O_FWDFOR => BE.  FE aussi ?
- PR_O_FORCE_CLO => BE
- PR_O_PERSIST => BE
- PR_O_COOK_RW, PR_O_COOK_INS, PR_O_COOK_PFX, PR_O_COOK_POST => BE
- PR_O_COOK_NOC, PR_O_COOK_IND => BE
- PR_O_ABRT_CLOSE => BE
- PR_O_REDISP => BE
- PR_O_BALANCE, PR_O_BALANCE_RR, PR_O_BALANCE_SH => BE
- PR_O_CHK_CACHE => BE
- PR_O_TCP_SRV_KA => BE
- PR_O_BIND_SRC => BE
- PR_O_TPXY_MASK => BE


- PR_MODE_TCP : BE c�t� serveur, FE c�t� client

- nbconn -> fe->nbconn, be->nbconn.
  Pb: rendre impossible le fait que (fe == be) avant de faire �a,
  sinon on va compter les connexions en double. Ce ne sera possible
  que lorsque les FE et BE seront des entit�s distinctes. On va donc
  commencer par laisser uniquement fe->nbconn (vu que le fe ne change
  pas), et modifier ceci plus tard, ne serait-ce que pour prendre en
  compte correctement les minconn/maxconn.
  => solution : avoir beconn et feconn dans chaque proxy.

- failed_conns, failed_secu (r�ponses bloqu�es), failed_resp... : be
  Attention: voir les cas de ERR_SRVCL, il semble que parfois on
  indique �a alors qu'il y a un write error c�t� client (ex: ligne
  2044 dans proto_http).

  => be et pas be->beprm

- logs du backup : ->be (idem)

- queue : be

- logs/debug : srv toujours associ� � be (ex: proxy->id:srv->id). Rien
  pour le client pour le moment. D'une mani�re g�n�rale, les erreurs
  provoqu�es c�t� serveur vont sur BE et celles c�t� client vont sur
  FE.
- logswait & LW_BYTES : FE (puisqu'on veut savoir si on logue tout de suite)

- messages d'erreurs personnalis�s (errmsg, ...) -> fe

- monitor_uri -> fe
- uri_auth  -> (fe->firpm puis be->fiprm). Utilisation de ->be

- req_add, req_exp => fe->fiprm, puis be->fiprm
- req_cap, rsp_cap -> fe->fiprm
- rsp_add, rsp_exp => be->fiprm, devrait �tre fait ensuite aussi sur fe->fiprm
- capture_name, capture_namelen : fe->fiprm

  Ce n'est pas la solution id�ale, mais au moins la capture et configurable
  par les filtres du FE et ne bouge pas lorsque le BE est r�assign�. Cela
  r�soud aussi un pb d'allocation m�moire.


- persistance (appsessions, cookiename, ...) -> be
- stats:scope "." = fe (celui par lequel on arrive)
  !!!ERREUR!!! => utiliser be pour avoir celui qui a �t� valid� par
  l'uri_auth.


--------- corrections � effectuer ---------

- remplacement de headers : parser le header et �ventuellement le supprimer puis le(les) rajouter.
- session->proto.{l4state,l7state,l7substate} pour CLI et SRV
- errorloc : si d�finie dans backend, la prendre, sinon dans front.
- logs : faire be sinon fe.