Age | Commit message (Collapse) | Author |
|
- update the redirection uhttpd config and www-root to redirect all
incoming request to a url specified by /tmp/redirection_target
- use this to implement robinson and splash redirection during
robinson and queen/ghost states, respectively
- change the service httpd to listen on the public IPv4 address
available on the mesh interface in those states.
Missing is the
- iptable based redirection
- already referenced /sbin/urlencode
|
|
Add function to enable/disable/change the uhttpd uci config state. Use
these functions to start the service httpd, listening on the
link-local IPv6 addresses of br-lan and br-mesh.
|
|
This patch splits the single uhttpd instance into two uhttpd instances
with www root /www/<servicename> for the following purposes:
- service :: self-service / debugging / status.xml
- redirection :: use for splash/robinson redirection
The uhttpd uci config is adapted: by default all instances declared
there are disabled; They shall be enabled by the FSM inetable. To this
end a listen_http directive will be added and the config type will be
changed from 'disabled' to 'uhttpd' by state transition scripts.
|
|
- add mesh_add/del_ipv4 to set/unset IPv4 addresses of mesh iface; the
address is set using ifconfig to avoid ifudown+ifup but also updated
in UCI to maintain a consistent state
- use this function in queen, ghost and robinson state transitions
- use `batctl gw off` in robinson state: this allows to deliever local
DHCP replies while dropping the idea of announcing fake gateways
- ghost.leave reuses queen.leave
|
|
|
|
|
|
- implemented according to documentation
- almost no tests so far
|
|
|
|
|
|
|
|
|
|
For debugging reasons both cronjobs are executed once per minute. This
rate should be reduced before deployment in larger networks.
|
|
Add a init script that - early during the first boot only - creates
/etc/nodeid and fills it with a unique identifer. This nodeid is
persistent across reboots and protected from sysupgrades.
|
|
The new script ./name_firmware is used to generates two files in
openwrt/$REPO/files/ during `make image/...`:
- /etc/firmware (see documentation on firmware id)
- /etc/banner (login banner; generated from the template in
/files/common/etc/banner)
|
|
FSM to handle firmware update process in a synchronized all-or-nothing
manner. See doc/overview.org for details.
|
|
|
|
lists an entire table (but without the version of each row)
|
|
`test_connectivity <internet|vpn>` returns true iff. one of several
probe hosts can be reached over the given interface.
|
|
- implements finite state machine given a definition in /etc/fsm/
- see upcoming doc/ commits for detail
|
|
|
|
The table broadcasted once per minute over br-mesh. To fill the table
with contents on all nodes, run:
p2ptbl update /tmp/p2ptbl/test somekey somevalue
on one node. If the command shall have immediate effect, run:
p2ptbl update /tmp/p2ptbl/test somekey somevalue br-mesh
|
|
- add `p2ptbl gossip` to distribute tables via udp bcast
- add interface option to `p2ptbl update` for immediate communication
of updates
- add p2ptbl-recv as HBBP-handler to receive table updates
p2ptbl-recv has to be symlinked from <HBBP-root>/p2ptbl/<table-name>.
It reads the table name from $0 and assumes that all tables are stored
in /tmp/p2ptbl/.
|
|
|
|
|
|
P2P tables allow to maintain distributed state using a MVCC key-value
store. This patch adds the executable for manipulating a table but not
the gossip protocol to synchronize it.
|
|
|
|
|
|
|