11open Lwt.Infix
22
3- module Main (S : Mirage_stack.V4 ) = struct
3+ module Main (S : Tcpip.Stack.V4V6 ) = struct
44 let report_and_close flow pp e message =
5- let ip, port = S.TCPV4 . dst flow in
5+ let ip, port = S.TCP . dst flow in
66 Logs. warn
77 (fun m -> m " closing connection from %a:%d due to error %a while %s"
8- Ipaddr.V4. pp ip port pp e message);
9- S.TCPV4 . close flow
8+ Ipaddr. pp ip port pp e message);
9+ S.TCP . close flow
1010
1111 let rec chargen flow how_many start_at =
1212 let charpool =
@@ -17,38 +17,38 @@ module Main (S: Mirage_stack.V4) = struct
1717 Cstruct. of_string output
1818 in
1919
20- S.TCPV4 . write flow (make_chars how_many start_at) >> = function
20+ S.TCP . write flow (make_chars how_many start_at) >> = function
2121 | Ok () ->
2222 chargen flow how_many ((start_at + 1 ) mod (String. length charpool))
23- | Error e -> report_and_close flow S.TCPV4 . pp_write_error e " writing in Chargen"
23+ | Error e -> report_and_close flow S.TCP . pp_write_error e " writing in Chargen"
2424
2525 let rec discard flow =
26- S.TCPV4 . read flow >> = fun result -> (
26+ S.TCP . read flow >> = fun result -> (
2727 match result with
28- | Error e -> report_and_close flow S.TCPV4 . pp_error e " reading in Discard"
28+ | Error e -> report_and_close flow S.TCP . pp_error e " reading in Discard"
2929 | Ok `Eof -> report_and_close flow Fmt. string " end of file" " reading in Discard"
3030 | Ok (`Data _ ) -> discard flow
3131 )
3232
3333
3434 let rec echo flow =
35- S.TCPV4 . read flow >> = function
36- | Error e -> report_and_close flow S.TCPV4 . pp_error e " reading in Echo"
35+ S.TCP . read flow >> = function
36+ | Error e -> report_and_close flow S.TCP . pp_error e " reading in Echo"
3737 | Ok `Eof -> report_and_close flow Fmt. string " end of file" " reading in Echo"
3838 | Ok (`Data buf ) ->
39- S.TCPV4 . write flow buf >> = function
39+ S.TCP . write flow buf >> = function
4040 | Ok () -> echo flow
41- | Error e -> report_and_close flow S.TCPV4 . pp_write_error e " writing in Echo"
41+ | Error e -> report_and_close flow S.TCP . pp_write_error e " writing in Echo"
4242
4343 let start s =
4444 (* RFC 862 - read payloads and repeat them back *)
45- S.TCPV4 . listen (S. tcpv4 s) ~port: 7 echo;
45+ S.TCP . listen (S. tcp s) ~port: 7 echo;
4646
4747 (* RFC 863 - discard all incoming data and never write a payload *)
48- S.TCPV4 . listen (S. tcpv4 s) ~port: 9 discard;
48+ S.TCP . listen (S. tcp s) ~port: 9 discard;
4949
5050 (* RFC 864 - write data without regard for input *)
51- S.TCPV4 . listen (S. tcpv4 s) ~port: 19 (fun flow -> chargen flow 75 0 );
51+ S.TCP . listen (S. tcp s) ~port: 19 (fun flow -> chargen flow 75 0 );
5252
5353 S. listen s
5454
0 commit comments