Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

Revision history [back]

click to hide/show revision 1
initial version

Added flow to operational datastore has other id, than specified

ODL-Version: Helium (1.4.6-Snapshot)

Switch: Mininet 2.2.1

I have to add manually flows to md sal operational data store, as using the salFlowService doesnt store them in md sal. So what im basically doing is writing the flows to switches via salFlowService and additionally storing them in md sal operational datastore. The flows are present in the ovs switches (checked per ovs-ofctl) However i'm able to write the flows to md sal, but curiously the specified id in instance identifier is not used.

This is my hardcoded instance-identifier (for testing)

 InstanceIdentifier<Flow> flowId = InstanceIdentifier
            .builder(Nodes.class)
            .child(Node.class, new NodeKey(new NodeId("openflow:1")))
            .augmentation(FlowCapableNode.class)
            .child(Table.class, new TableKey((short) 0))
            .child(Flow.class, new FlowKey(new FlowId("1"))).build();

When i query the REST api (http://localhost:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0), i can see my flow (identified by name), but the id is not the same as specified in instance identifier

Inrelevant lines ommited:

...
<flow><id>694266177</id><instructions><instruction>
...

Can anyone explain this behaviour ? Do I miss some basic stuff ? Is this maybe an issue in ODL-Helium and was fixed in Lithium ? Just didnt manage to migrate my application to lithium, yet

Added flow to operational datastore has other id, than specified

ODL-Version: Helium (1.4.6-Snapshot)

Switch: Mininet 2.2.1

I have to add manually flows to md sal operational data store, as using the salFlowService doesnt store them in md sal. So what im basically doing is writing the flows to switches via salFlowService and additionally storing them in md sal operational datastore. The flows are present in the ovs switches (checked per ovs-ofctl) However i'm able to write the flows to md sal, but curiously the specified id in instance identifier is not used.

This is my hardcoded instance-identifier (for testing)

 InstanceIdentifier<Flow> flowId = InstanceIdentifier
            .builder(Nodes.class)
            .child(Node.class, new NodeKey(new NodeId("openflow:1")))
            .augmentation(FlowCapableNode.class)
            .child(Table.class, new TableKey((short) 0))
            .child(Flow.class, new FlowKey(new FlowId("1"))).build();

When i query the REST api (http://localhost:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0), i can see my flow (identified by name), but the id is not the same as specified in instance identifier

Inrelevant lines ommited:

...
<flow><id>694266177</id><instructions><instruction>
...

Can anyone explain this behaviour ? Do I miss some basic stuff ? Is this maybe an issue in ODL-Helium and was fixed in Lithium ? Just didnt manage to migrate my application to lithium, yet

edit: i dont see any errors or warnings in karaf log

Added flow to operational datastore has other id, than specified

ODL-Version: Helium (1.4.6-Snapshot)

Switch: Mininet 2.2.1

I have to add manually flows to md sal operational data store, as using the salFlowService doesnt store them in md sal. So what im basically doing is writing the flows to switches via salFlowService and additionally storing them in md sal operational datastore. The flows are present in the ovs switches (checked per ovs-ofctl) However i'm able to write the flows to md sal, but curiously the specified id in instance identifier is not used.

This is my hardcoded instance-identifier (for testing)

 InstanceIdentifier<Flow> flowId = InstanceIdentifier
            .builder(Nodes.class)
            .child(Node.class, new NodeKey(new NodeId("openflow:1")))
            .augmentation(FlowCapableNode.class)
            .child(Table.class, new TableKey((short) 0))
            .child(Flow.class, new FlowKey(new FlowId("1"))).build();

When i query the REST api (http://localhost:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/0), i can see my flow (identified by name), but the id is not the same as specified in instance identifier

Inrelevant lines ommited:

...
<flow><id>694266177</id><instructions><instruction>
...

Can anyone explain this behaviour ? Do I miss some basic stuff ? Is this maybe an issue in ODL-Helium and was fixed in Lithium ? Just didnt manage to migrate my application to lithium, yet

edit: i dont see any errors or warnings in karaf log