Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RT / RD autoasigment by controller Flag #20

Closed
oscargdd opened this issue Nov 14, 2019 · 10 comments
Closed

RT / RD autoasigment by controller Flag #20

oscargdd opened this issue Nov 14, 2019 · 10 comments
Assignees

Comments

@oscargdd
Copy link
Collaborator

We need to indicate wether the RT and RDs are provided by the Network Operator / service orchestrator or they are automatically asigned by the controller which has the l3nm module

@sli35
Copy link

sli35 commented Dec 4, 2019

As discussed offline, this discussion goes beyond RD/RTs and may be applicable to other parameters like VLANs,...
In addition RD and RTs may be computed rather than allocated. For example RD may be computed from an allocated VPN-ID plus some RTR_ID while RTs may be computed from VPN-ID and vpn-type.

@sunseawq
Copy link

sunseawq commented Dec 5, 2019

That's why VLAN, interface-id are optional parameters in L3NM model, so does RD. I think it has no harm to keep them since we need to accommodate various different implementation choices, e.g, multiple domain under the same administrative domain. If they are not filled, it can be computed by controller using VPN-ID and other information.

@oscargdd
Copy link
Collaborator Author

oscargdd commented Dec 5, 2019

The behavior that non-mandatory parameters and are config true are expanded by the server which hosts the yang module (either by a template or whatever mechanism is used) is perfectly compliant with NMDA architecture.
There is a needed behavior which is currently not supported: We need to be able to explicitly indicate the no RT/RD are wanted. For that, we could use a choice between a value and a NONE.

@sunseawq
Copy link

sunseawq commented Dec 5, 2019

I think the proposal you offered in opsawg session is perfectly fine since it only focus on who provide RD, RT rather than how RD RT is allocated or provided or computed or derived. With this proposal, it does cover all the cases. But if explicitly indicate RD or RT is needed, we may have face, in some case, RT is needed, in some cases RD is needed, in some case both RT and RD are needed, in some case both RT and RD are not needed. So I perfer your original proposal to address this issue.

@oscargdd
Copy link
Collaborator Author

Martin suggestion in netmod mailing list question:
For your "auto-assignment" case, I would describe the behaviour in the description statement. Something like: "If this leaf has not been configured, the server will calculate a value [... specify how ... ] and use that value operationally. This calculated value is available in the operational state."

@oscargdd
Copy link
Collaborator Author

Agreement on the Group:

  1. Follow Martin's suggestion and add the description in the leaft
  2. Add a clarification section in the draft (section 6.3.3)

@oscargdd oscargdd self-assigned this Mar 12, 2020
@billwuqin
Copy link

Here is the example of empty leaf in RFC7950, is this what you are looking for?
9.11.4. Usage Example

With the following leaf:

 leaf enable-qos {
   type empty;
 }

the following is an example of a valid encoding if the leaf exists:

 <enable-qos/>

@oscargdd
Copy link
Collaborator Author

Implemented in 3b74db5 with Qin's proposal:

grouping rt-rd {
leaf rd {
type union {
type rt-types:route-distinguisher;
type empty;
}
description
"Route distinguisher value. If this leaf has not been configured, the server will auto-assign a route distinguisher value and use that
value operationally. This calculated value is available in the operational state. Use the
empty type to indicate rd has no value and
is not to be aouto-assigned";
}

@oscargdd
Copy link
Collaborator Author

Now, only the explanatory text in the draft is needed

@oscargdd
Copy link
Collaborator Author

oscargdd commented Jul 2, 2020

we close this one and maintain issue #114

@oscargdd oscargdd closed this as completed Jul 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants