Jörg Henne wrote:
Enrique Rodriguez schrieb:
...
Our Apache DHCP provider work is stalled because of lack of broadcast
support in MINA. I would love to see broadcast support in MINA so I
encourage any contributions in this area, if you are able.
Enrique
Ok, sounds good. What exactly does "stalled" mean? Is there already
something in the general direction of handling DHCP packet
encoding/decoding to start with? That would be quite interesting for me,
since what I'm trying to achieve is a special kind of DHCP server.
Making it a general one wouldn't be to hard from there.
The DHCP protocol provider work is in the Directory repo at:
https://svn.apache.org/repos/asf/directory/trunks/apacheds/protocol-dhcp/
The codecs work and the handler will reply with a static response. I
think all of the 2 primary RFC's (2131, 2132) are wired in, w.r.t. DHCP
options. Caveats are that the MINA version is ancient and I'm not sure
how well the code survived the update to Maven M2. I don't think the
code has been touched in over a year.
For the record, there are a couple enhancements this impl needs:
1) There is absolutely no workflow, meaning that currently the service
will reply with a static OFFER response. Only when I tried getting
broadcast working, to start coding in the protocol workflow, did I
release there was no broadcast support so I backburnered it.
2) There is no JNDI-backed store impl. The schema is in the ApacheDS
core, ready-to-go.
3) All of the other protocols support some level of OSGi, either basic
plugability or full dynamic reconfiguration using OSGi and DIT-backed
config using the OSGi Config Admin service.
#2 and #3 should be straightforward; been done numerous times. This
code has just not been kept up with the other protocols. Just blocked
by lack of broadcast. I'd love to get back in and update and maintain
once broadcast is available.
Enrique
P.S. DNS is in a similar boat. Basic serving works and is even
up-to-date w.r.t. JNDI store and OSGi. We've just stalled more DNS
documentation and support since we really want to get to Dynamic DNS,
which requires DHCP, which requires broadcast ...