I'm trying to add a few groups with ODL's OpenFlow plugin using the REST API. The XML group specs and accompanying shell scripts that push them can be found here:
The problem is that the group 0x20000002 (g2_l3unicast.xml/sh) will not add. I've tried adding the groups in any order with the same results. The other three never have any problems.
Getting closer to the cause of the problem -- ODL is sending an ofpgroupmod w/command=modify instead of command=add. The switch is rejecting the group, since it does not exist yet. The command=modify is only ever sent for group 0x20000002; all others are correct with command=add.
I have deleted the groups from the ODL local store prior to adding them each time, so I should expect group mods with command=add each time. For example:
curl -u admin:admin -H "Content-Type:application/xml" -H "Accept:application/xml" http://localhost:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:55930/group/0x20000002 -X DELETE curl -u admin:admin -H "Content-Type:application/xml" -H "Accept:application/xml" http://localhost:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:55930/group/0x20000002 -X GET <errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"><error><error-type>application</error-type><error-tag>data-missing</error-tag><error-message>Request could not be completed because the relevant data model content does not exist </error-message></error></errors>
As you can see, the group was in fact removed from the local store, so when I add it again, it should be a fresh, new entry and force command=add.
Different group-name and group-id tags are used for each entry.
Does anyone see anything obvious that's wrong with my flows or scripts? I've been staring at them for quite some time, so I might have missed something ;-)