sig
  module R = Repeater
  type mac_entry = { mutable addr : Eth.Addr.t option; mutable port : int; }
  type t = {
    hub : R.t;
    macs : Hub.Switch.mac_entry Tools.OrdArray.t;
    macs_h : int Tools.BitHash.t;
  }
  val make : int -> int -> Hub.Switch.t
  val forward_from : int -> Hub.Switch.t -> Bitstring.bitstring -> unit
  val write : int -> Hub.Switch.t -> Bitstring.bitstring -> unit
  val set_read : int -> Hub.Switch.t -> (Bitstring.bitstring -> unit) -> unit
  val to_dev : int -> Hub.Switch.t -> Tools.dev
end