First step towards making this work:
[mpls-ldp-portable.git] / doc / ldp_struct.txt
blob4d176f91a65ef772306f4e08366a4f0c2551aa56
2                                                     -----
3                                             .------| Adj |
4                         (think || links)   /        -----
5               ----------               \  /           |  
6              | In Label |-------.       1:N           |
7               ----------        N:M     /             |
8                   |               \    /             1:N-(think eth subnet)
9                  1:N               \  /               |
10                   |              ---------         --------         ------
11              -----------   N:1  |         |       |        |  1:1  | Targ |
12             | Out label |-------| Session |       | Entity |-------| Peer |
13              -----------        |         |       |        |       |      |
14                                  ---------         --------         ------
15                                      |                |
16                                     N:M              1:1
17                                      |                | 
18                                   ------            -----
19                                  | Addr |          | If  |
20                                   ------            -----
22                                                   ----
23                                                  |Addr|
24                                                   ----
25                                                    |
26                                                    |1:N
27                                                    |
28                           -----         1:N       ----   1:N   ----
29                          |     |-----------------| NH |-------| If |
30                .---------| Fec |---------.        ----         ----
31                |         |     |         |         |
32                |          -----          |         |1:N
33                |    Downstream FS list   |         |
34                |  ------         ------  |     ---------
35                '-|  FS  |-------|  FS  |-'    |Out label|
36                   ------\        ------        ---------
37                     |    `-------------------.
38                     |                         \---------
39     .--------------------------------.        | session |
40     |                                |         ---------
41     |  ------     ------     ------  |
42     `-| Attr |---| Attr |---| Attr |-'
43        ------     ------     ------
45 This picture is a more accurate view of the FEC <-> Attr relationship.
46 Each FEC has multiple FS.  Each FS represents one session that has learned
47 info about this FEC.  More then one piece of info can be learned by a session
48 for a particular FEC, so each FS can have a list of Attr, which is all of the
49 info learned about this FEC by this session.  Take note that each FEC entry
50 has a list of FS for upstream and downstream sessions.