blob: 9c7b4b57a17f0d0a42ded0d65143da1645e4d474 (
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
77
78
79
80
81
82
83
84
85
|
digraph p2p_arch2 {
ranksep.75
size = "7.57.5";
edge [dirnone;
subgraph cluster_wpa_gui {
label = "wpa_gui";
status -> Qt
scan -> Qt
network -> Qt
Qt -> peers
Qt -> WPS
Qt -> gui_ctrl
gui_ctrl [label"ctrl if"];
}
subgraph cluster_wpa_supplicant {
label = "wpa_supplicant"
ctrl_iface [label"ctrl if"];
authenticator [label"Authenticator"];
supplicant [label"Supplicant"];
driver_iface [label"driver if"];
wps_registrar [label"WPS\nRegistrar"];
wps_enrollee [label"WPS\nEnrollee"];
mgmt_entity [label"Management\nentity"];
ctrl_iface -> mgmt_entity
wps_registrar -> mgmt_entity
wps_enrollee -> mgmt_entity
mgmt_entity -> authenticator
mgmt_entity -> supplicant
mgmt_entity -> driver_iface
}
subgraph cluster_wpa_cli {
label = "wpa_cli -a"
wpa_cli_action
}
subgraph cluster_dnsmasq {
label = "dnsmasq"
dnsmasq
}
subgraph cluster_dhclient {
label = "dhclient"
dhclient
}
subgraph cluster_kernel {
label = "Kernel"
ioctl -> umac
netdev -> umac
umac -> p2p_module
p2p_module [label"P2P\nmodule"];
umac -> driver
{ rank = same umac p2p_module }
}
gui_ctrl -> ctrl_iface
wpa_cli_action -> ctrl_iface
driver_iface -> ioctl
wpa_cli_action -> dnsmasq
wpa_cli_action -> dhclient
dnsmasq -> netdev
dhclient -> netdev
edge [colorbluedirboth;
p2p_module -> umac -> driver
edge [colorgreendirboth;
peers -> Qt -> gui_ctrl -> ctrl_iface -> mgmt_entity -> driver_iface -> ioctl -> umac -> p2p_module
}
|