Simple Module BSDStack

File: src/tcpipmodel/BSDStack.ned

Encapsulates the BSD TCP/IP stack.

You can use the stack via a special socket interface. This interface resembles a normal socket interface but is based on OMNeT++ messages, i.e. instead of function calls you have to use a corresponding message, e.g. Socket_socket, Socket_bind, Socket_listen, Socket_close, Socket_accept, Socket_connect, Socket_recv and Socket_select.

Module parameters (use "auto" for defaults):

ip:

startup:

bsd_tcprexmtthresh:

bsd_log_in_vain:

bsd_blackhole:

bsd_tcp_delack_enabled:

bsd_drop_synfin:

bsd_tcp_do_rfc3042:

bsd_tcp_do_rfc3390:

bsd_path_mtu_discovery:

bsd_tcp_do_rfc1323:

bsd_tcp_do_rfc1644:

bsd_ss_fltsz:

bsd_ss_fltsz_local:

bsd_tcp_do_newreno:

bsd_ipforwarding:

bsd_ipsendredirects:

drop_packet_on_biterror:

showtraffic:

Example output for TCP packets:

<-Test1.host1[0]   2.040140 [3014837199...3014837199) (0 @0 win 57344 <SYN> MSS 1460 WSF 0 TS 227 0
->Test1.host1[0]   2.200873 [1492145195...1492145195) (0 @3014837200 win 57344 <SYN,ACK> MSS 1460 WSF 0 TS 220 227

In order:

Hosts can currently have interfaces of type Ethernet or Point-to-Point.

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

BSDStack BSDHost BSDRouter

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

BSDHost

Represents a host with a BSD network stack.

BSDRouter

Represents a router with a BSD network stack.

Parameters:

Name Type Description
route string
ip string
bsd_tcprexmtthresh string
bsd_log_in_vain string
bsd_blackhole string
bsd_tcp_delack_enabled string
bsd_drop_synfin string
bsd_tcp_do_rfc3042 string
bsd_tcp_do_rfc3390 string
bsd_path_mtu_discovery string
bsd_tcp_do_rfc1323 string
bsd_tcp_do_rfc1644 string
bsd_ss_fltsz string
bsd_ss_fltsz_local string
bsd_tcp_do_newreno string
bsd_ipforwarding string
bsd_ipsendredirects string
startup numeric
showtraffic numeric
drop_packet_on_biterror bool

Gates:

Name Direction Description
out [ ] output
in [ ] input
from_app input
to_app output

Source code:

simple BSDStack
    parameters:
        route : string,
        ip : string,
        bsd_tcprexmtthresh : string,
        bsd_log_in_vain : string,
        bsd_blackhole : string,
        bsd_tcp_delack_enabled : string,
        bsd_drop_synfin : string,
        bsd_tcp_do_rfc3042 : string,
        bsd_tcp_do_rfc3390 : string,
        bsd_path_mtu_discovery : string,
        bsd_tcp_do_rfc1323 : string,
        bsd_tcp_do_rfc1644 : string,
        bsd_ss_fltsz : string,
        bsd_ss_fltsz_local : string,
        bsd_tcp_do_newreno : string,
        bsd_ipforwarding : string,
        bsd_ipsendredirects : string,
        startup : numeric,
        showtraffic : numeric,
        drop_packet_on_biterror:bool;

    gates:
        out: out[];
        in: in[];
        in: from_app;
        out: to_app;
endsimple