2015-12-30 11:07:16 -05:00
|
|
|
(* Copyright (C) 2015, Thomas Leonard <thomas.leonard@unikernel.com>
|
|
|
|
See the README file for details. *)
|
|
|
|
|
|
|
|
(** Classify IP packets, apply rules and send as appropriate. *)
|
|
|
|
|
2017-03-05 11:31:04 -05:00
|
|
|
val ipv4_from_netvm : Router.t -> Nat_packet.t -> unit Lwt.t
|
2017-03-02 09:52:55 -05:00
|
|
|
(** Handle a packet from the outside world (this module will validate the source IP). *)
|
2015-12-30 11:07:16 -05:00
|
|
|
|
2020-04-29 10:06:48 -04:00
|
|
|
(* TODO the function type is a workaround, rework the module dependencies / functors to get rid of it *)
|
2021-10-28 07:39:32 -04:00
|
|
|
val ipv4_from_client : ([ `host ] Domain_name.t -> (int32 * Ipaddr.V4.Set.t, [> `Msg of string ]) result Lwt.t) ->
|
2020-04-29 10:06:48 -04:00
|
|
|
Router.t -> src:Fw_utils.client_link -> Nat_packet.t -> unit Lwt.t
|
2017-03-02 09:52:55 -05:00
|
|
|
(** Handle a packet from a client. Caller must check the source IP matches the client's
|
2015-12-30 11:07:16 -05:00
|
|
|
before calling this. *)
|