-
Notifications
You must be signed in to change notification settings - Fork 1
Exodm architecture
uwiger edited this page Aug 13, 2012
·
1 revision
Exodm relies heavily on kvdb
(http://github.com/Feuerlabs/kvdb), specifically the kvdb_conf
API.
Tables:
-
data
- the defaultkvdb_conf
table. This is only used for some system data, such as counters. -
acct
- account table -
user
- user identities table -
shared_yang
- YANG specs that can be referenced by all accounts (currently not used) -
system_yang
- system-level (internal) YANG specs, e.g.exodm.yang
-
to_device
- RPC queues (per-device) for RPCs coming from Northbound to the device (should probably be account-specific) -
from_device
- RPC queues (per-device) for notifications coming from the device to Northbound (should probably be account-specific) -
<AcctID>_dev>
- account-specific device table -
<AcctID>_yang>
- account-specific YANG spec table -
<AcctID>_config
- account-specific device configuration data set table
For debugging, the command kvdb_conf:all(Table)
is useful. Note that it returns all the contents of the table in one go, so make sure the data set is reasonably small.
The following describes the flow for handling an incoming RPC.
The YAWS web server listens to port 8800, with SSL enabled. The callback module is exodm_rpc_yaws_appmod.erl
, and the authentication callback is exodm_rpc_yaws_auth.erl