blob: 7030877e39b80df2cb4b3fdf030f5cee80a7ea2d (
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
75
76
|
msc {
a [label = "Application"],
o [label = "ODP"],
p [label = "Platform"];
--- [label = "IPsec configuration, done once"];
a->o [label = "odp_ipsec_config()"];
o->p [label = "Config IPsec"];
o->a [label = "OK"];
|||;
--- [label = "IPsec SA creation, per SA"];
|||;
a->o [label = "odp_ipsec_sa_create()"];
o->p [label = "SA Create"];
o->a [label = "OK"];
|||;
--- [label = "IPsec operations, per SA"];
|||;
a->o [label = "odp_ipsec_in()"];
o->p [label = "IPsec Decrypt"];
p->a [label = "Done"];
a->o [label = "odp_ipsec_out()"];
o->p [label = "IPsec Encrypt"];
p->a [label = "Done"];
a->o [label = "odp_ipsec_out_inline()"];
o->p [label = "IPsec Encrypt Inline"];
o->a [label = "OK"];
p->o [label = "OK"];
a->o [label = "odp_ipsec_in_enq()"];
o->p [label = "Initiate IPsec operation"];
a->o [label = "odp_ipsec_out_enq()"];
o->p [label = "Initiate IPsec operation"];
|||;
--- [label = "Time passes"];
|||;
p->o [label = "IPsec op complete"];
a->o [label = "odp_schedule()"];
o->p [label = "Get Event"];
p->a [label = "ODP_EVENT_PACKET subtype ODP_EVENT_PACKET_IPSEC"];
a->o [label = "odp_ipsec_result()"];
o->a [label = "OK"];
|||;
--- [label = "App done with SA, per SA"];
|||;
a->o [label = "odp_ipsec_sa_disable()"];
o->p [label = "Disable/Delete SA"];
o->a [label = "OK"];
p->o [label = "Done"];
|||;
--- [label = "Time passes"];
|||;
a->o [label = "odp_schedule()"];
o->p [label = "Get Event"];
p->a [label = "ODP_EVENT_IPSEC_STATUS"];
a->o [label = "odp_ipsec_status"];
o->a [label = "ODP_IPSEC_STATUS_SA_DISABLED"];
a->o [label = "odp_ipsec_sa_destroy()"];
o->a [label = "OK"];
}
|