diff --git a/datafiles/schema-delete.sql b/datafiles/schema-delete.sql index 826eb156dd2ed961bfa61b30b559e2f7797c921a..0fc47985472bca68824f93d59f38b6463adf2a15 100644 --- a/datafiles/schema-delete.sql +++ b/datafiles/schema-delete.sql @@ -4,5 +4,6 @@ DROP TABLE generic_backend_connections; DROP TABLE sub_connections; DROP TABLE service_connections; +DROP TYPE directionality; DROP TYPE label; diff --git a/datafiles/schema.sql b/datafiles/schema.sql index 363d42844d3d2143833142647f8da85ff360c353..d0fbcf29c50751cb04b487f7f292301b6e02e46c 100644 --- a/datafiles/schema.sql +++ b/datafiles/schema.sql @@ -7,6 +7,8 @@ CREATE TYPE label AS ( label_value text ); +CREATE TYPE directionality AS ENUM ('Bidirectional', 'Unidirectional'); + -- publically reachable connections CREATE TABLE service_connections ( @@ -29,7 +31,10 @@ CREATE TABLE service_connections ( dest_label label, start_time timestamp NOT NULL, end_time timestamp NOT NULL, - bandwidth integer NOT NULL -- mbps + symmetrical boolean NOT NULL, + directionality directionality NOT NULL, + bandwidth integer NOT NULL, -- mbps + connection_trace text[] ); -- internal references to connections that are part of a service connection @@ -77,6 +82,8 @@ CREATE TABLE generic_backend_connections ( dest_label label, start_time timestamp NOT NULL, end_time timestamp NOT NULL, + symmetrical boolean NOT NULL, + directionality directionality NOT NULL, bandwidth integer NOT NULL -- mbps ); diff --git a/opennsa/aggregator.py b/opennsa/aggregator.py index b44c20e46c96002b032d673dc0eb5e3a81ea9d13..e51102af3e2ea41e0c6351da1b732661b12ab3d0 100644 --- a/opennsa/aggregator.py +++ b/opennsa/aggregator.py @@ -185,7 +185,8 @@ class Aggregator: reservation_state=state.RESERVE_START, provision_state=state.RELEASED, lifecycle_state=state.CREATED, source_network=source_stp.network, source_port=source_stp.port, source_label=source_stp.label, dest_network=dest_stp.network, dest_port=dest_stp.port, dest_label=dest_stp.label, - start_time=criteria.schedule.start_time, end_time=criteria.schedule.end_time, bandwidth=sd.capacity) + start_time=criteria.schedule.start_time, end_time=criteria.schedule.end_time, + symmetrical=sd.symmetric, directionality=sd.directionality, bandwidth=sd.capacity, connection_trace=header.connection_trace) yield conn.save() # Here we should return / callback and spawn off the path creation diff --git a/opennsa/backends/common/genericbackend.py b/opennsa/backends/common/genericbackend.py index 459ac7d67628b4503faf1c9017046a133c7c0b2a..cca27234ead843c07503cec371796cde8c494310 100644 --- a/opennsa/backends/common/genericbackend.py +++ b/opennsa/backends/common/genericbackend.py @@ -263,7 +263,7 @@ class GenericBackend(service.Service): source_network=source_stp.network, source_port=source_stp.port, source_label=src_label, dest_network=dest_stp.network, dest_port=dest_stp.port, dest_label=dst_label, start_time=schedule.start_time, end_time=schedule.end_time, - bandwidth=sd.capacity) + symmetrical=sd.symmetric, directionality=sd.directionality, bandwidth=sd.capacity) yield conn.save() reactor.callWhenRunning(self._doReserve, conn, header.correlation_id) defer.returnValue(connection_id)