[OPNFLWPLUG-19] Group counter stats request and group description stats request malformed Created: 11/Jan/14  Updated: 27/Sep/21  Due: 20/Jan/14  Resolved: 17/Jan/14

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Jan Medved Assignee: Anil Vishnoi
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: Macintosh


External issue ID: 283

 Description   

When connected to an OVS mininet, OVS rejects the Group Counter Statistics requests and the Group Description Statistics requests.

1. Start the controller

2. Start mininet: sudo mn --topo single,3 --controller 'remote,ip=192.168.4.1:6653' --switch ovsk,protocols=OpenFlow13

3. Observe wireshark or logs as shown below, for example:

Error notification flow Xid.........................34
-----------------------------------------------------------------------------------
2014-01-11 14:36:28.670 PST [pool-22-thread-4] INFO o.o.c.sal.binding.impl.NotifyTask - Notification delivered NodeErrorNotification [_code=1, _data=^D^R^@X@@@"^@F@@@@@^@����, _type=BadRequest, _transactionId=TransactionId [_value=34], _transactionUri=null, augmentation=[]] to org.opendaylight.controller.sal.compatibility.FlowProgrammerAdapter$$Broker$ListenerInvoker@1b8bc4da
2014-01-11 14:36:28.670 PST [pool-22-thread-5] INFO o.o.c.sal.binding.impl.NotifyTask - Notification delivered NodeErrorNotification [_code=1, _data=^D^R^@X@@@"^@F@@@@@^@����, _type=BadRequest, _transactionId=TransactionId [_value=34], _transactionUri=null, augmentation=[]] to org.opendaylight.openflowplugin.test.OpenflowpluginTestCommandProvider$FlowEventListener$$Broker$ListenerInvoker@53b72d18
2014-01-11 14:36:28.670 PST [pool-22-thread-3] INFO o.o.c.sal.binding.impl.NotifyTask - Delivering notification MeterStatisticsUpdated [_moreReplies=false, _id=Uri [_value=openflow:1], _nodeConnector=null, _transactionId=TransactionId [_value=35], _meterStats=[], augmentation=[]] to org.opendaylight.controller.md.statistics.manager.StatisticsUpdateCommiter$$Broker$ListenerInvoker@3cfde83a
2014-01-11 14:36:28.670 PST [pool-22-thread-3] INFO o.o.c.sal.binding.impl.NotifyTask - Notification delivered MeterStatisticsUpdated [_moreReplies=false, _id=Uri [_value=openflow:1], _nodeConnector=null, _transactionId=TransactionId [_value=35], _meterStats=[], augmentation=[]] to org.opendaylight.controller.md.statistics.manager.StatisticsUpdateCommiter$$Broker$ListenerInvoker@3cfde83a
2014-01-11 14:36:28.670 PST [pool-22-thread-1] INFO o.o.c.sal.binding.impl.NotifyTask - Delivering notification NodeErrorNotification [_code=1, _data=^D^R^@^P
@@@$@G@@@@@^@, _type=BadRequest, _transactionId=TransactionId [_value=36], _transactionUri=null, augmentation=[]] to org.opendaylight.controller.sal.compatibility.FlowProgrammerAdapter$$Broker$ListenerInvoker@1b8bc4da
2014-01-11 14:36:28.670 PST [pool-22-thread-2] INFO o.o.c.sal.binding.impl.NotifyTask - Delivering notification NodeErrorNotification [_code=1, _data=^D^R^@^P
@@@$@G@@@@@^@, _type=BadRequest, _transactionId=TransactionId [_value=36], _transactionUri=null, augmentation=[]] to org.opendaylight.openflowplugin.test.OpenflowpluginTestCommandProvider$FlowEventListener$$Broker$ListenerInvoker@53b72d18
Error notification flow Xid.........................36
-----------------------------------------------------------------------------------
2014-01-11 14:36:28.670 PST [pool-22-thread-1] INFO o.o.c.sal.binding.impl.NotifyTask - Notification delivered NodeErrorNotification [_code=1, _data=^D^R^@P@@@$^@G@@@@@^@, _type=BadRequest, _transactionId=TransactionId [_value=36], _transactionUri=null, augmentation=[]] to org.opendaylight.controller.sal.compatibility.FlowProgrammerAdapter$$Broker$ListenerInvoker@1b8bc4da
2014-01-11 14:36:28.670 PST [pool-22-thread-2] INFO o.o.c.sal.binding.impl.NotifyTask - Notification delivered NodeErrorNotification [_code=1, _data=^D^R^@P@@@$^@G@@@@@^@, _type=BadRequest, _transactionId=TransactionId [_value=36], _transactionUri=null, augmentation=[]] to org.opendaylight.openflowplugin.test.OpenflowpluginTestCommandProvider$FlowEventListener$$Broker$ListenerInvoker@53b72d18



 Comments   
Comment by Anil Vishnoi [ 17/Jan/14 ]

Hi Jan,

Openvswitch 2.0.0 doesn't support following multipart requests (copied from OVS code base)

/* FIXME: Change the following once they are implemented: */
case OFPTYPE_QUEUE_GET_CONFIG_REQUEST:
case OFPTYPE_GET_ASYNC_REQUEST:
case OFPTYPE_GROUP_STATS_REQUEST:
case OFPTYPE_GROUP_DESC_STATS_REQUEST:
case OFPTYPE_GROUP_FEATURES_STATS_REQUEST:
case OFPTYPE_TABLE_FEATURES_STATS_REQUEST:

That's the reason OVS throwing bad request error.

CPqD switch supports all the above requests and i tested the code with that switch. With CPqD switch I don't see any error for group description and group statistics multipart requests and I confirmed that relevant data is also getting augmented to the datastore tree.

Following is the snapshot of data I fetched using restconf for the group i added manually to the CPqD switch.

<group
xmlns="urn:opendaylight:group:types">
<group-desc
xmlns="urn:opendaylight:group:statistics">
<group-type>group-select</group-type>
<buckets>
<bucket>
<action>
<output-action>
<max-length>0</max-length>
<output-node-connector>1</output-node-connector>
</output-action>
<order>0</order>
</action>
<weight>10</weight>
<bucket-id>0</bucket-id>
<watch_group>4294967295</watch_group>
<watch_port>4294967295</watch_port>
</bucket>
</buckets>
<group-id>2</group-id>
</group-desc>
<group-id>2</group-id>
<group-statistics
xmlns="urn:opendaylight:group:statistics">
<byte-count>0</byte-count>
<duration>
<nanosecond>99000</nanosecond>
<second>120444271</second>
</duration>
<buckets>
<bucket-counter>
<byte-count>0</byte-count>
<bucket-id>0</bucket-id>
<packet-count>0</packet-count>
</bucket-counter>
</buckets>
<packet-count>0</packet-count>
<ref-count>0</ref-count>
<group-id>2</group-id>
</group-statistics>
</group>

Generated at Wed Feb 07 20:31:21 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.