package mirage-runtime
The base MirageOS runtime library, part of every MirageOS unikernel
Install
Dune Dependency
Authors
Maintainers
Sources
mirage-4.9.0.tbz
sha256=0c07d59eb52dc3d1506eb4121c4953104a12df79d08a0f0923c9b71e7474a026
sha512=666bf9ee20c9f9de058441f252f4f40ceec6a9ffd00e5cd3b7bfa9532fd65000aeb8a83f9e55586be98d0a86ea72f2dda94e924608135e3d63441359505de58a
doc/src/mirage-runtime.network/mirage_runtime_network.ml.html
Source file mirage_runtime_network.ml
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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198
open Cmdliner let pf = Format.fprintf let str = Format.asprintf let pp_group ppf = function | None -> pf ppf "the unikernel" | Some s -> pf ppf "the %s group" s let runtime_arg ?(group = "") ~docs ?docv ~doc ~default c name = let prefix = if group = "" then group else group ^ "-" in let doc = Arg.info ~docs ?docv ~doc [ prefix ^ name ] in Arg.(value & opt c default doc) let interface ?group ?(docs = Mirage_runtime.s_net) default = let doc = str "The network interface listened by %a." pp_group group in runtime_arg ~doc ~default ?group ~docs ~docv:"INTERFACE" Arg.string "interface" module Conv = struct let conv of_string to_string : _ Cmdliner.Arg.conv = let pp ppf v = Format.pp_print_string ppf (to_string v) in Cmdliner.Arg.conv (of_string, pp) let ipv4_address = conv Ipaddr.V4.of_string Ipaddr.V4.to_string let ipv4 = conv Ipaddr.V4.Prefix.of_string Ipaddr.V4.Prefix.to_string let ipv6_address = conv Ipaddr.V6.of_string Ipaddr.V6.to_string let ipv6 = conv Ipaddr.V6.Prefix.of_string Ipaddr.V6.Prefix.to_string let ip_address = conv Ipaddr.of_string Ipaddr.to_string end open Conv module V4 = struct let network ?group ?(docs = Mirage_runtime.s_net) default = let doc = str "The network of %a specified as an IP address and netmask, e.g. \ 192.168.0.1/16 ." pp_group group in runtime_arg ~doc ~docs ~docv:"PREFIX" ~default ?group ipv4 "ipv4" let gateway ?group ?(docs = Mirage_runtime.s_net) default = let doc = str "The gateway of %a." pp_group group in runtime_arg ~doc ~docs ~docv:"IP" ~default ?group Arg.(some ipv4_address) "ipv4-gateway" end module V6 = struct let network ?group ?(docs = Mirage_runtime.s_net) default = let doc = str "The network of %a specified as IPv6 address and prefix length." pp_group group in runtime_arg ~doc ~docs ~docv:"PREFIX" ~default ?group Arg.(some ipv6) "ipv6" let gateway ?group ?(docs = Mirage_runtime.s_net) default = let doc = str "The gateway of %a." pp_group group in runtime_arg ~doc ~docs ~docv:"IP" ~default ?group Arg.(some ipv6_address) "ipv6-gateway" let accept_router_advertisements ?group ?(docs = Mirage_runtime.s_net) () = let doc = str "Accept router advertisements for %a." pp_group group in runtime_arg ~doc ~docs ?group ~default:true Arg.bool "accept-router-advertisements" end let ipv4_only ?group ?(docs = Mirage_runtime.s_net) () = let doc = str "Only use IPv4 for %a." pp_group group in runtime_arg ~doc ~docs ?group ~default:false Arg.bool "ipv4-only" let ipv6_only ?group ?(docs = Mirage_runtime.s_net) () = let doc = str "Only use IPv6 for %a." pp_group group in runtime_arg ~doc ~docs ?group ~default:false Arg.bool "ipv6-only" let resolver ?group ?(docs = Mirage_runtime.s_net) ?default () = let doc = str "DNS resolver (default to anycast.censurfridns.dk)" in runtime_arg ~doc ~docv:"IP" ~docs ?group ~default Arg.(some (list string)) "resolver" let dns_servers ?group ?(docs = Mirage_runtime.s_dns) default = let doc = str "DNS servers (default to anycast.censurfridns.dk)" in runtime_arg ~doc ~docv:"DNS-SERVER" ~docs ?group ~default Arg.(some (list string)) "dns_servers" let dns_timeout ?group ?(docs = Mirage_runtime.s_dns) default = let doc = str "DNS timeout (in nanoseconds)" in runtime_arg ~doc ~docv:"DNS-TIMEOUT" ~docs ?group ~default Arg.(some int64) "dns_timeout" let dns_cache_size ?group ?(docs = Mirage_runtime.s_dns) default = let doc = str "DNS cache size" in runtime_arg ~doc ~docv:"DNS-CACHE-SIZE" ~docs ?group ~default Arg.(some int) "dns_cache_size" let he_aaaa_timeout ?group ?(docs = Mirage_runtime.s_he) default = let doc = str "AAAA timeout (in nanoseconds)" in runtime_arg ~doc ~docv:"AAAA-TIMEOUT" ~docs ?group ~default Arg.(some int64) "he_aaaa_timeout" let he_connect_delay ?group ?(docs = Mirage_runtime.s_he) default = let doc = str "Delay (in nanoseconds) for connection establishment" in runtime_arg ~doc ~docv:"CONNECT-DELAY" ~docs ?group ~default Arg.(some int64) "he_connect_delay" let he_connect_timeout ?group ?(docs = Mirage_runtime.s_he) default = let doc = str "Connection establishment timeout (in nanoseconds)" in runtime_arg ~doc ~docv:"CONNECT-TIMEOUT" ~docs ?group ~default Arg.(some int64) "he_connect_timeout" let he_resolve_timeout ?group ?(docs = Mirage_runtime.s_he) default = let doc = str "DNS resolution timeout (in nanoseconds)" in runtime_arg ~doc ~docv:"RESOLVE-TIMEOUT" ~docs ?group ~default Arg.(some int64) "he_resolve_timeout" let he_resolve_retries ?group ?(docs = Mirage_runtime.s_he) default = let doc = str "Amount of DNS resolution attempts" in runtime_arg ~doc ~docv:"RESOLVE-RETRIES" ~docs ?group ~default Arg.(some int) "he_resolve_retries" let he_timer_interval ?group ?(docs = Mirage_runtime.s_he) default = let doc = str "Interal (in nanoseconds) for execution of the timer" in runtime_arg ~doc ~docv:"TIMER-INTERVAL" ~docs ?group ~default Arg.(some int64) "he_timer_interval" let ssh_key ?group ?(docs = Mirage_runtime.s_ssh) default = let doc = str "Private SSH key (rsa:<seed> or ed25519:<b64-key>)." in runtime_arg ~doc ~docs ~docv:"KEY" ?group ~default Arg.(some string) "ssh-key" let ssh_password ?group ?(docs = Mirage_runtime.s_ssh) default = let doc = str "Private SSH password." in runtime_arg ~doc ~docs ~docv:"PASSWORD" ?group ~default Arg.(some string) "ssh-password" let ssh_authenticator ?group ?(docs = Mirage_runtime.s_ssh) default = let doc = str "SSH authenticator." in runtime_arg ~doc ~docs ~docv:"SSH-AUTHENTICATOR" ?group ~default Arg.(some string) "ssh-authenticator" let tls_authenticator ?group ?(docs = Mirage_runtime.s_tls) default = let doc = str "TLS authenticator." in runtime_arg ~doc ~docs ~docv:"TLS-AUTHENTICATOR" ?group ~default Arg.(some string) "tls-authenticator" let http_headers ?group ?(docs = Mirage_runtime.s_http) default = let doc = str "HTTP headers." in runtime_arg ~doc ~docs ~docv:"HEADERS" ?group ~default Arg.(some (list ~sep:',' (pair ~sep:':' string string))) "http-headers" let syslog ?group ?(docs = Mirage_runtime.s_log) default = let doc = str "syslog server IP" in runtime_arg ~doc ~docv:"IP" ~docs ?group ~default Arg.(some ip_address) "syslog" let syslog_port ?group ?(docs = Mirage_runtime.s_log) default = let default = Option.value ~default:514 default in let doc = str "syslog server port" in runtime_arg ~doc ~docs ~docv:"PORT" ?group ~default Arg.int "syslog-port" let syslog_truncate ?group ?(docs = Mirage_runtime.s_log) default = let doc = str "truncate syslog messages" in runtime_arg ~doc ~docs ?group ~default Arg.(some int) "syslog-truncate" let syslog_keyname ?group ?(docs = Mirage_runtime.s_log) default = let doc = str "TLS key name used for syslog" in runtime_arg ~doc ~docs ?group ~default Arg.(some string) "syslog-keyname" let monitor_hostname ?(group = "") ?(docs = Mirage_runtime.s_log) () = let doc = str "hostname used for syslog and monitoring" in let prefix = if group = "" then group else group ^ "-" in let doc = Arg.info ~docs ~docv:"NAME" ~doc [ prefix ^ "monitor-hostname" ] in Arg.(required & opt (some string) None doc) let monitor ?group ?(docs = Mirage_runtime.s_log) default = let doc = str "monitor server" in runtime_arg ~doc ~docv:"IP" ~docs ?group ~default Arg.(some ip_address) "monitor" module Arg = Conv
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>