Rib manager is the easy case. It generally already has logic to arbitrate across multiple writers. So the I2RS Agent talks to the RIB manager just as CLI and the routing processes do.

For other cases, the I2RS Agent interacts with the system in a similar (but probably not identical) fashion to that of the CLI. With the same arbitration between that and internal processes.

In fact, except for RIB Manager, there are relatively few difficult cases over interaction. I2RS and CLI can administratively disable or enable things. Internal processes can operationally disable them (reporting that they don't work.) This distinction is already widely supported.

Yours,
Joel

On 1/14/14 10:05 PM, Mach Chen wrote:
Thanks Joel,

Please see my response inline...

-----Original Message-----
From: Joel M. Halpern [mailto:j...@joelhalpern.com]
Sent: Wednesday, January 15, 2014 10:29 AM
To: Mach Chen; KwangKoog Lee
Cc: i2rs@ietf.org; Guanxiaoran
Subject: Re: [i2rs] Multi-Headed Control

The unit of data for collisions is to be specified as part of the relevant 
information
models.  Trying to define that architecturally seemed counter-productive.

Yes, agree.


In terms of collisions with things in the box, there are two cases.
1) Collision between I2RS and CLI.  The CLI is assign a priority.  That way the
operator can choose how they want that resolved.
2) Collision between other processes and I2RS is handled by the system in the
same way it handles collisions between those processes and CLI.

There is slight different between the "other processes" and the I2RS clients, the I2RS clients 
requests are processed by the I2RS Agent, but the "other processes" directly communicate with the 
Rib manager and other components that really maintain the "data". So, does it mean that the RIB 
manager and some other components have to add new functionalities for arbitrating requests from I2RS and 
other processes?

Best regards,
Mach

Again, the guiding principle is "keep it simple."

Yours,
Joel

On 1/14/14 9:09 PM, Mach Chen wrote:
Hi Joel,

We discussed various models of conflict resolution for the case when
one client adjusts a piece of data, and then another client goes to change that
data.

Are there any specifications about the unit of the "data" ? I did not find this 
in
the architecture and IM documents.

decide what to do, while the clients sort out what was intended.
Rather than pure FCFS, we decided to have client priorities.

So, each client will have its own priority and the priorities are comparable
among the clients. But there are other entities(e.g., the control plane, a.k.a, 
ISIS,
OSPF, BGP etc.) that may changes the data as well, how to handle the conflicts
between the clients and non-clients?

Best regards,
Mach

-----Original Message-----
From: i2rs [mailto:i2rs-boun...@ietf.org] On Behalf Of Joel M.
Halpern
Sent: Tuesday, January 14, 2014 11:43 PM
To: KwangKoog Lee
Cc: i2rs@ietf.org; Guanxiaoran
Subject: Re: [i2rs] Multi-Headed Control

While I will try to paraphrase things to answer your question, I
recommend you read the archtiecture draft to get more details.

The assumption is that normally different I2RS clients will be asking
the agent to perform operations which change different pieces of data.
We discussed various models of conflict resolution for the case when
one client adjusts a piece of data, and then another client goes to
change that data.  We decided that this was an error, and that we
wanted a simple mechanism to decide what to do, while the clients
sort out what was intended.  Rather than pure FCFS, we decided to
have client priorities.  And that clients could arrange
(easily) to be notified of changes to data they are interested in.

The goal is to keep the mechanisms very lightweight, particularly in
order to support very high rates of operations.

Yours,
Joel

On 1/14/14 10:29 AM, KwangKoog Lee wrote:
I do not fully understand the data model of i2rs. But in case that
many clients interact forwarding devices with the i2rs-enabled
control plane, various policies about routing, signaling, qos and
etc. from multiple clients or multiple upper users (network
applications) can be set to those devices and to prevent or
negotiate some collision of multiple policies, such a machanism might be
necessary regardless of netconf?
    Joel or anyone can explain more why it does not need? Thanks in
advance.

best regards,
Kwang-koog Lee
On Tue, Jan 14, 2014 at 11:19 PM, Joel M. Halpern
<j...@joelhalpern.com <mailto:j...@joelhalpern.com>> wrote:

      As I read the documents, locking is specifically not the approach
      I2RS is taking.  So I think that "<lock>" does not suffice to
      resolve the I2RS needs, and is in fact not part of the current I2RS
      arhtiecture at all.
      Yours,
      Joel
      On 1/14/14 4:17 AM, Guanxiaoran wrote:

          Hi,
          I've a question about i2rs multi-headed control and NETCONF.
          [draft-ietf-i2rs-problem-__statement-00] describes:"Additional
          extensions to handle multi-headed control may need to be added
          to NetConf and/or appropriate data models."
          [draft-ietf-i2rs-architecture-__00] describes:"The current
          recommendation is to have a simple priority associated with each
          I2RS clients, and the highest priority change remains in effect."
          As NETCONF has <lock> mechanism: "The <lock> operation allows
          the client to lock the entire configuration data-store system of
          a device. Such locks are intended to be short-lived and allow a
          client to make a change without fear of interaction with other
          NETCONF clients, non-NETCONF clients (e.g., SNMP and CLI), and
          human users."
          Do we still need to do the extensions, i.e. additional
          extensions to handle multi-headed control added to NETCONF?
          Regards,
          Ran
          _________________________________________________
          i2rs mailing list
          i2rs@ietf.org <mailto:i2rs@ietf.org>
          https://www.ietf.org/mailman/__listinfo/i2rs
          <https://www.ietf.org/mailman/listinfo/i2rs>

      _________________________________________________
      i2rs mailing list
      i2rs@ietf.org <mailto:i2rs@ietf.org>
      https://www.ietf.org/mailman/__listinfo/i2rs
      <https://www.ietf.org/mailman/listinfo/i2rs>

_______________________________________________
i2rs mailing list
i2rs@ietf.org
https://www.ietf.org/mailman/listinfo/i2rs


_______________________________________________
i2rs mailing list
i2rs@ietf.org
https://www.ietf.org/mailman/listinfo/i2rs

Reply via email to