# Name of this host (`hostname` by default)
#host.name = onosdev1

# IP address of this host used for ONOS communication
host.ip = 127.0.0.1

# Role of this host
# single-node: run ONOS with stand-alone RAMCloud
# coord-node : run ONOS with RAMCloud coordinator
# server-node: run ONOS with RAMCloud server
# coord-and-server-node: run ONOS with RAMCloud coordinator and server
host.role = single-node

# Back-end module to store topology/flows
host.backend = hazelcast
#host.backend = ramcloud

# List of host name/IPs that constitute ZooKeeper cluster (only current host by default)
# myid will be assigned incrementally according to order of list
#zookeeper.hosts = onosdev1,onosdev2,onosdev3,onosdev4

# Protocol used by RAMCloud coordinator (fast+udp by default)
#ramcloud.coordinator.protocol = fast+udp

# IP address of RAMCloud coordinator (host.ip by default)
#ramcloud.coordinator.ip = 127.0.0.1

# Port number of RAMCloud coordinator (12246 by default)
#ramcloud.coordinator.port = 12246

# Protocol used by RAMCloud server (fast+udp by default)
#ramcloud.server.protocol = fast+udp

# IP address of RAMCloud server (host.ip by default)
#ramcloud.server.ip = 127.0.0.1

# Port number of RAMCloud server (12242 by default)
#ramcloud.server.port = 12242

# RAMCloud server option masterServiceThreads (5 by default)
#ramcloud.masterServiceThreads = 5

# RAMCloud server option logCleanerThreads (1 by default)
#ramcloud.logCleanerThreads = 1

# RAMCloud server option detectFailures [0=disabled] (0 by default for ONOS development)
#ramcloud.detectFailures = 0

# List of hostname/ip[:port] which forms Hazelcast grid
# If this value is empty, Hazelcast will be set to multicast mode.
# Inversely, if this value is set, multicast settings will be ignored.
hazelcast.tcp-ip.members = 127.0.0.1:5701
#hazelcast.tcp-ip.members = 192.168.56.11, 192.168.56.12, 192.168.56.13, 192.168.56.14

# Multicast address used by Hazelcast. (224.2.2.3 by default)
#hazelcast.multicast.group = 224.2.2.3

# Multicast port used by Hazelcast. (54327 by default)
#hazelcast.multicast.port = 54327

