p2p_arch2.dot 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. digraph p2p_arch2 {
  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. wps_registrar [label="WPS\nRegistrar"];
  22. wps_enrollee [label="WPS\nEnrollee"];
  23. mgmt_entity [label="Management\nentity"];
  24. ctrl_iface -> mgmt_entity;
  25. wps_registrar -> mgmt_entity;
  26. wps_enrollee -> mgmt_entity;
  27. mgmt_entity -> authenticator;
  28. mgmt_entity -> supplicant;
  29. mgmt_entity -> driver_iface;
  30. }
  31. subgraph cluster_wpa_cli {
  32. label = "wpa_cli -a"
  33. wpa_cli_action;
  34. }
  35. subgraph cluster_dnsmasq {
  36. label = "dnsmasq"
  37. dnsmasq;
  38. }
  39. subgraph cluster_dhclient {
  40. label = "dhclient"
  41. dhclient;
  42. }
  43. subgraph cluster_kernel {
  44. label = "Kernel"
  45. ioctl -> umac;
  46. netdev -> umac;
  47. umac -> p2p_module;
  48. p2p_module [label="P2P\nmodule"];
  49. umac -> driver;
  50. { rank = same; umac; p2p_module; }
  51. }
  52. gui_ctrl -> ctrl_iface;
  53. wpa_cli_action -> ctrl_iface;
  54. driver_iface -> ioctl;
  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 -> umac -> driver;
  61. edge [color=green,dir=both];
  62. peers -> Qt -> gui_ctrl -> ctrl_iface -> mgmt_entity -> driver_iface -> ioctl -> umac -> p2p_module;
  63. }