Implement flows for port-range matches

Port ranges are converted to a list of masked-values and
a flow entry is added for each such combination of
source/destination ports.

Change-Id: Id7dd9bc6cce46c573bc0e5d47e8f1977a324d5c7
Signed-off-by: Amit Bose <bose@noironetworks.com>
be more liberal when gauging whether to swap stack

Change-Id: Ia459c474bf7f3ecc27813cb2ebff27da015de884
Signed-off-by: Alessandro Salvatori <sandr8@gmail.com>
Delay syncing switch state till agent is connected to its opflex peer

When the agent starts up, if opflex peer is not available, the
agent is not able to download EPGs, policies etc. So when the
agent syncs flow-table state on the switch, it just ends up
removing all the flows. Instead, now the agent waits to know
about the first EPG as an indirect indication of being connected
to peer; sync-ing is started a little after this point.

Change-Id: I3126f9f938a02738b9257c4087fb0f5c65c5df3c
Signed-off-by: Amit Bose <bose@noironetworks.com>
Minor changes to the span model

Change-Id: If958f56233d314989c08b67234b2d0c3082cb130
Signed-off-by: Tom Flynn <tom.flynn@gmail.com>
Implement basic IPv6 support and fix some issues with IPv4 routing.
  * Fix issue in policy manager in subnet index when no policy space
    synced
  * Fix issue with populating ARP flows for routers IPs and add tests
    for same
  * Add port security and routing flows for endpoints with ipv6
    addresses
  * IPv6 router does not yet respond to neighbor discovery messages.

Change-Id: Ie0beaeda24d965540f7501000b33e94d9cf4c7a2
Signed-off-by: Rob Adams <readams@readams.net>
4 more tests: destroy/disconnect client for a non existent host/service

Change-Id: Ie5a42dbafb0b612f85d47a4413dfe011af25de62
Signed-off-by: Alessandro Salvatori <sandr8@gmail.com>
allow to have a custom timeout per testcase

Change-Id: I2f4c75982fbc00d3a1a0f83d1dfdd6660e5e6eea
Signed-off-by: Alessandro Salvatori <sandr8@gmail.com>
add 3 test cases for non-routable server IP addresses

Change-Id: Icb80215f1db22127fa9016cd0fe6757f3d039e55
Signed-off-by: Alessandro Salvatori <sandr8@gmail.com>
add choke() and unchoke() for communication peer

Change-Id: I7ad7611e63626e8a3cab8921f28682b50bad158b
Signed-off-by: Alessandro Salvatori <sandr8@gmail.com>
add getSockAddr() method to yajr::Peer

Change-Id: I98df1e17f038af96060f02a672b2a1e0101f493c
Signed-off-by: Alessandro Salvatori <sandr8@gmail.com>
Clean up configuration a bit and move from /var/run to /var/lib by default

Change-Id: I35ba1ddad7130bb498f4a4ca9542d11f000fc810
Signed-off-by: Rob Adams <readams@readams.net>
Fix flaky flowmanager tests

* Create expected flow-entries for subnet router-IPs in the same
sequence as processed by FlowManager
* Actually create expected entries for port-range test

Change-Id: I35e5514ee1d83bb4298adbd647b21574d97bb788
Signed-off-by: Amit Bose <bose@noironetworks.com>
Merge remote-tracking branch 'upstream/master'

we are making a change to model in domain.mdl to correct an error for the DomainConfig.
added 'root' under domain.mdl to fix an error in model for global configs.