[ovs-discuss] The discrepancy in the Monitor request composition.

Anil Jangam anilj.mailing at gmail.com
Tue Mar 6 06:03:13 UTC 2018


Hi,

The RFC7047 states below about the Monitor request.

The request object has the

   following members:

   o  "method": "monitor"

   o  "params": [<db-name>, <json-value>, <monitor-requests>]

   o  "id": <nonnull-json-value>


The <json-value> parameter is used to match subsequent update

notifications (see below) to this request.


The <monitor-requests> object maps the name of the table to be monitored

to an array of <monitor-request> objects. Each <monitor-request> is an

object with the following members:

       "columns": [<column>*]            optional

       "select": <monitor-select>        optional

The columns, if present, define the columns within the table to be monitored.

<monitor-select> is an object with the following members:

       "initial": <boolean>              optional

       "insert": <boolean>               optional

       "delete": <boolean>               optional

       "modify": <boolean>               optional

The contents of this object specify how the columns or table are to be
monitored,

as explained in more detail below.


However, when I look at some of the legitimate samples of the Monitor
requests, they are encoded as below.

{
  "id": "c5c09c07-11c1-449b-8f04-016fefe15844",
  "method": "monitor",
  "params": [
    "hardware_vtep",
    "91c9eed4-00bb-48e3-b2d9-51e0364bbdc2",
    {
      "Physical_Locator": {
        "columns": [
          "dst_ip",
          "encapsulation_type",
          "_uuid"
        ],
        "select": {
          "initial": true,
          "insert": true,
          "delete": true,
          "modify": true
        }
      },
      "Physical_Locator_Set": {
        "columns": [
          "_uuid",
          "locators"
        ],
        "select": {
          "initial": true,
          "insert": true,
          "delete": true,
          "modify": true
        }
      }
    }
  ]
}



If we go by the RFC encoding rules, "params" contains the
<monitor-requests>, which maps the "Table name" to an array of
<Monitor-request> object. So IMHO, the table names comes only once in the
message. Correct?

Also, it is explicitly mentioned that (as below) and it does NOT contain
the "Table name" in it.


Each <monitor-request> is an

object with the following members:

       "columns": [<column>*]            optional

       "select": <monitor-select>        optional


However, in the message payload that I have, shows the tuple, which
contains "Table : Columns : Select". This list of <monitor-request> constitute
the <monitor-requests> as per the RFC definition.

I see this as the discrepancy between the RFC definition and how the
message is actually sent by the controller.

Can you please review and confirm this discrepancy?

Thanks,
/anil.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20180305/8fd7606b/attachment-0001.html>


More information about the discuss mailing list