JensMuellerRestricted: Difference between revisions
mNo edit summary |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Java on Access Points= |
|||
Pros |
|||
* (relativ) platform independent |
|||
* easy software distribution |
|||
* easier/faster software development |
|||
* CPU performance equal to C/C++ (JIT compiled) |
|||
Cons |
|||
* memory consumption? |
|||
* userspace/kernelspace penalties |
|||
* performance may be an issue (possibly solved by new hardware) |
|||
Possible Implementations |
|||
* Run click in kernelspace and JVM in userspace |
|||
The difficult part is to describe how the interface to kernelspace click looks like and to make perform. |
|||
* Run JVM in kernelspace as part of the Linux kernel |
|||
You have to port a JVM into the Linux kernel. You can drop Click. |
|||
* Eliminate context switches => Singularity |
|||
Completely new concept needs to be implemented. |
|||
Java is acceptable on mobile phones, because it used for simple applications. Performance isn't an issue, because applications are GUI-driven. |
|||
=Problems with smn-1= |
|||
* eth0 IP: 192.168.3.12 |
|||
* wlan0 MAC: 00:0E:8E:01:A6:8B |
|||
We added a PrintWifi before ToDevice(wlan0) and got |
|||
<pre>To: 150 | NODS mgt assoc_req 00:00:00:00:00:00 3f:00:02:00:00:00 0b:00:00:00:00:00 [] 1 Mbps +0/0</pre> |
|||
which is strange. |
|||
Then, we suppose while retrieving a SDP package, click seg faulted. |
|||
=Routing in Wireless Multi Hop Networks= |
=Routing in Wireless Multi Hop Networks= |
||
Routing in wireless Networks |
Routing in wireless Networks |
||
Line 29: | Line 70: | ||
=Cruise Control= |
=Cruise Control= |
||
I set up CruiseControl for continous integration |
I set up CruiseControl for continous integration. Go to [http://brn-suse093-3:8080/cruisecontrol/ CruiseControl on brn-suse093-3] to get an impression. |
||
Need to added further project with dependencies to CruiseControl. |
|||
E.g.: |
|||
* click (i386, mips) |
|||
* madwifi (-"-) |
|||
IvyCruise - dependencies with Cruise Control |
|||
=My paper base= |
=My paper base= |
||
Line 131: | Line 165: | ||
= Scratch = |
= Scratch = |
||
* http://mail-index.netbsd.org/port-mips/2005/09/22/0000.html |
* http://mail-index.netbsd.org/port-mips/2005/09/22/0000.html |
||
* Ethtool auf dem Knoten [http://sourceforge.net/projects/gkernel/] |
|||
= Links = |
|||
* [[MyNetgear]] |
|||
= Problems with ifplugd running on a wgt (b44 eth driver) = |
|||
* https://tango.0pointer.de/pipermail/ifplugd-discuss/2005-July/000068.html |
|||
The new kernel may help, since there are lot of changes in b44.c. Using some ioctl may help, too. |
|||
* An alternative to ifplugd [http://www.red-bean.com/~bos/] |
Latest revision as of 12:10, 3 May 2007
Java on Access Points
Pros
- (relativ) platform independent
- easy software distribution
- easier/faster software development
- CPU performance equal to C/C++ (JIT compiled)
Cons
- memory consumption?
- userspace/kernelspace penalties
- performance may be an issue (possibly solved by new hardware)
Possible Implementations
- Run click in kernelspace and JVM in userspace
The difficult part is to describe how the interface to kernelspace click looks like and to make perform.
- Run JVM in kernelspace as part of the Linux kernel
You have to port a JVM into the Linux kernel. You can drop Click.
- Eliminate context switches => Singularity
Completely new concept needs to be implemented.
Java is acceptable on mobile phones, because it used for simple applications. Performance isn't an issue, because applications are GUI-driven.
Problems with smn-1
- eth0 IP: 192.168.3.12
- wlan0 MAC: 00:0E:8E:01:A6:8B
We added a PrintWifi before ToDevice(wlan0) and got
To: 150 | NODS mgt assoc_req 00:00:00:00:00:00 3f:00:02:00:00:00 0b:00:00:00:00:00 [] 1 Mbps +0/0
which is strange. Then, we suppose while retrieving a SDP package, click seg faulted.
Routing in Wireless Multi Hop Networks
Routing in wireless Networks Things to consider
- Negative effects
- self interference
- Postive effects
- Broadcast nature
Optimizing problems:
- Minimizing transmissions (via Network Coding and ExOR)
- Minimizing collisions (difficult: extended RTS/CTS? and using 802.11 non overlapping channels)
We optimize the traffic only. We could also optimize the route discovery and route maintainance, but we assume this is less important (seen the entire traffic).
Engineering
Routingprotokolle aus Nachrichtensicht Layer 3 - Flooding - Multicast - Unicast
Layer 2 - Broadcast (lokal) - Multicast - Unicast
Die Idee ist, dass alle Routingprotokolle Nachrichten versenden müssen. In diese Nachrichten-Elemente steckt man dann nur noch den Payload.
Cruise Control
I set up CruiseControl for continous integration. Go to CruiseControl on brn-suse093-3 to get an impression.
My paper base
- The paper "Click vs. Linux: Two Efficient Open-Source IP Network Stacks for Software Routers" [1] compares the Linux IP stack with Click (runnung an IP stack). They assume a router running on cheap PC hardware performs better than a router with specialized hardware. Different measurements are done and in summary Click performs better. (But this is not surprising.)
The paper was published under a project called "University Experiment of an Open Router" [2], which "focuses on building a flexible and high-performance packet switch around a Personal Computer (PC) architecture with a free hardware/software implementation".
Gateway
This is about the implementation of self-configuring internet access for BRN using Click mainly. (Need to explain design and implementation here (from the official gateway wiki site).)
Planned versions:
- GatewayTester:
- ICMP ping based
- User traffic based
- DNS query based
- Challenge response based (with other mesh nodes)
- Handling of TCP:
- A GatewaySelector, which respects open TCP connections
- A centralized "master" gateway (mesh gateways tunnel packets to)
- Maybe handing TCP connections over to other mesh node?
ToDO
- Recognize and handle NATed gateways
- Is the GatewaySelector able to determine, if a mesh node is a gateway?
- User feedback via LEDs
Further and dependent issues:
- Connecting mesh nodes via ip tunnels
- Connection mesh nodes via ethernet
- Difficult to recognize, if an attached node is a client or a mesh node?
Known problems
- Tried to implement an element by inheritance (a diamond), which is possible in C++. But it did not worked in Click. Maybe somebody has a working example. I tried virtual and so on, but it did not compile. In Click's configure method, you can only get an element. I wanted to convert an element of type A to type B without knowing the precise type of the given element.
E / \ / \ / \ A B \ / \ / \ / ?
This is not possible (my experience), since I don't know what ? is. I would need to cast the given element of type E to ? and then cast ? to A. You can use the delegation pattern to bypass the diamond.
WRAP and LEDs
- gpioclt in OpenBSD on WRAP
- Using the LEDs of wgt634u
Sentry5 - the netgear SoC (system on a chip)
Crpyto Acceleration in Linux
Embed Click into JiST
Planned to be done via JNI.
Nsclick
+-----------+ | | | MAC | | | +-----------+
| | wie FromHost () +------------------> +-----------+ | | | Click | ToDevice | | +------------ +-----------+ | ^ | | | | V | +-------------+ | | | | | PHY +--------------+ | | FromDevice +-------------+
Scratch
- Ethtool auf dem Knoten [3]
Links
Problems with ifplugd running on a wgt (b44 eth driver)
The new kernel may help, since there are lot of changes in b44.c. Using some ioctl may help, too.
- An alternative to ifplugd [4]