p2p_arch.dot 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. digraph p2p_arch {
  2. ranksep=.75;
  3. size = "7.5,7.5";
  4. edge [dir=none];
  5. subgraph cluster_wpa_gui {
  6. label = "wpa_gui";
  7. status -> Qt;
  8. scan -> Qt;
  9. network -> Qt;
  10. Qt -> peers;
  11. Qt -> WPS;
  12. Qt -> gui_ctrl;
  13. gui_ctrl [label="ctrl i/f"];
  14. }
  15. subgraph cluster_wpa_supplicant {
  16. label = "wpa_supplicant"
  17. ctrl_iface [label="ctrl i/f"];
  18. authenticator [label="Authenticator"];
  19. supplicant [label="Supplicant"];
  20. driver_iface [label="driver i/f"];
  21. p2p_module [label="P2P\nmodule"];
  22. wps_registrar [label="WPS\nRegistrar"];
  23. wps_enrollee [label="WPS\nEnrollee"];
  24. mgmt_entity [label="Management\nentity"];
  25. ctrl_iface -> mgmt_entity;
  26. p2p_module -> mgmt_entity;
  27. wps_registrar -> mgmt_entity;
  28. wps_enrollee -> mgmt_entity;
  29. mgmt_entity -> authenticator;
  30. mgmt_entity -> supplicant;
  31. mgmt_entity -> driver_iface;
  32. { rank = same; mgmt_entity; p2p_module; }
  33. }
  34. subgraph cluster_wpa_cli {
  35. label = "wpa_cli -a"
  36. wpa_cli_action;
  37. }
  38. subgraph cluster_dnsmasq {
  39. label = "dnsmasq"
  40. dnsmasq;
  41. }
  42. subgraph cluster_dhclient {
  43. label = "dhclient"
  44. dhclient;
  45. }
  46. subgraph cluster_kernel {
  47. label = "Linux kernel"
  48. cfg80211 -> mac80211;
  49. netdev -> mac80211;
  50. mac80211 -> ath9k;
  51. }
  52. gui_ctrl -> ctrl_iface;
  53. wpa_cli_action -> ctrl_iface;
  54. driver_iface -> cfg80211;
  55. wpa_cli_action -> dnsmasq;
  56. wpa_cli_action -> dhclient;
  57. dnsmasq -> netdev;
  58. dhclient -> netdev;
  59. edge [color=blue,dir=both];
  60. p2p_module -> mgmt_entity -> driver_iface -> cfg80211 -> mac80211 -> ath9k;
  61. edge [color=green,dir=both];
  62. peers -> Qt -> gui_ctrl -> ctrl_iface -> mgmt_entity -> p2p_module;
  63. }