split this repository further
hannesm opened this issue · 1 comments
Hello,
I was curious, now that ARP and Ethernet are in separate repositories, whether it'd be ok to further split this repository. Benefits are mainly to discover inter-sublibrary dependencies, and easing replacement of single libraries. NB: when splitting away Ethernet I used git filter-branch --tree-filter sh -c "find . ! -name eth\*.ml\* -delete" --prune-empty HEAD
to retain the most history, I'm not sure whether this scales well for the remaining pieces (there are quite some files involved, and I don't know whether their names changed a lot).
Now, more concretely:
- IPv4 could live in its own repository
- IPv6 same
- stack-direct and stack-unix could as well be in specific repositories (even could be variants / implementations of mirage-stack)
- UDP as well
- TCP as well
In case you agree with spliiting this repository up, remaining questions would be:
- what to do with tcpip-checksum? (I'm very unsure about its history, but did anyone benchmark the C implementation against a pure OCaml one, i.e. is it worth to have the C code around (and "cross"-compile it)?)
- icmp - my current intuition for proper icmp handling is that udp and tcp both need apart from
input
for proper data anerror_input
which carries an error and a partial frame - tests - should go into the respective repositories
any opinions? (and any hints whether there is a git extract a subtree with everything that nowadays became yyy
command)? I'm also not sure whether we loose any optimisations by moving from one ocamlfind library with multiple sublibraries to multiple ocamlfind libraries.
closing as there was no discussion after 1.5 years.