nsc: move nsc glue code from nsc-tcp-l4-protocol to node/nsc-glue.cc.
known problems:
- sim_interface.h is duplicated
- nsc-glue.cc adds hooks in node.cc, "hijacks" incoming packets
- nsc-glue exports NSCs INetStack (instead of wrapping it completely)
- nsc-tcp-l4-protocol and nsc-tcp-socket-impl make calls into nsc-glue
- nsc-tcp-socket-impl should really be "nsc-socket-core" (or something
like that)
needs fixing on nsc side:
- no support for multiple interfaces yet (also not yet supported
on nsc side)
- nsc initialisation still tied to IP (Adding an Interface and assigning the
IP address is a single step; it should be separate)
maybe there is more.
There is a NSC_NEXT define in nsc-glue.h, its main purpose is to flag
the places where the NSC API needs to be adapted to support multiple
interfaces in nsc.
1 ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
4 node = bld.create_ns3_module('node', ['core', 'common', 'simulator'])
9 'inet-socket-address.cc',
10 'packet-socket-address.cc',
13 'ipv4-interface-address.cc',
14 'ipv4-address-generator.cc',
20 'ethernet-trailer.cc',
22 'ipv4-routing-protocol.cc',
29 'packet-socket-factory.cc',
32 'udp-socket-factory.cc',
34 'tcp-socket-factory.cc',
38 'simple-net-device.cc',
39 'inet6-socket-address.cc',
42 'ipv4-raw-socket-factory.cc',
45 headers = bld.new_task_gen('ns3header')
46 headers.module = 'node'
51 'inet-socket-address.h',
52 'packet-socket-address.h',
55 'ipv4-interface-address.h',
56 'ipv4-address-generator.h',
61 'ipv4-routing-protocol.h',
71 'packet-socket-factory.h',
73 'udp-socket-factory.h',
75 'tcp-socket-factory.h',
79 'simple-net-device.h',
80 'inet6-socket-address.h',
83 'ipv4-raw-socket-factory.h',
86 if bld.env['WITH_NSC']:
87 node.source.append ('nsc-glue.cc')
88 node.source.append ('nsc-sysctl.cc')