Subject: questions on <draft-ietf-mpls-ldp-mib-05.txt>

From: [email-masked]
Date: Wed, 3 May 2000 12:23:14 +0200

Hello,

Can somebody help me this the following questions on the use of the LDP MIB.

1) mplsLdpEntityTable

How can a SNMP Manager derive on which interfaces a LDP entity runs ?

For LDP entities with mplsLdpEntityOptionalParameters set to atmParameters(2) or frameRelayParameters(3), my understanding is that the SNMP manager can derive this from the ifIndex found in the associated entry in the mplsLdpAtmParmsTable or
mplsLdpFrameRelayParmsTable. Once  the SNMP Manager knowns the ifIndex , the SNMP Manager can use the ifStackTable to figure out on which ATM/FR port this entity runs (am I correct ?) .

But how to do this for a LDP entity using generic labels ?

2) mplsLdpEntityConfGenericTable

I'm confused by the DESCRIPTION field of the mplsLdpEntityConfGenericTable definition : why does a SNMP Manager need to configure a generic label for LDP ? I thought it was sufficient for LDP to known the label pools in order to distribute labels ?

2) creation of a MPLS interface and activation of LDP on it.

How can a SNMP manager create a MPLS interface using the available MIBs and associate a LDP entity to that newly created MPLS interface ?

My understanding is that if the SNMP Manager wants LDP to use ATM or FrameRelay labels on the MPLS interface, the SNMP Manager needs to create an entry in the mplsLdpEntityTable, an entry in the mplsLdpEntityAtmParmsTable (which allows to configure for
instance the VPI/VCI to be used by LDP) and one or more entries in the mplsLdpEntityConfAtmLabelRangeTable. As a result of these row creations, the SNMP agent might create a new MPLS interface, associate an ifIndex to it and fill the ifIndex for the newly
created MPLS interface into the mplsLdpEntityTable. (Is this correct ?)

But how can a SNMP manager create a new MPLS interface (for instance on ATM) using generic labels ? In this case the LDP entity might allready be configured  - the only thing I would exspect to do is to configure somehow a VPI/VCI to be used by this LDP
entity.

Best regards,

Peter Van Rompu - Alcatel Telecom

---

From: "Cucchiara, Joan" <[email-masked]>
Date: Wed, 3 May 2000 10:35:29 -0400

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]]
> Sent: Wednesday, May 03, 2000 6:23 AM
> To: [email-masked]
> Subject: questions on <draft-ietf-mpls-ldp-mib-05.txt>
> 
> 
> 

Hello Peter,

> For LDP entities with mplsLdpEntityOptionalParameters set to 
> atmParameters(2) or frameRelayParameters(3), my understanding 
> is that the SNMP manager can derive this from the ifIndex 
> found in the associated entry in the mplsLdpAtmParmsTable or
> mplsLdpFrameRelayParmsTable. Once  the SNMP Manager knowns 
> the ifIndex , the SNMP Manager can use the ifStackTable to 
> figure out on which ATM/FR port this entity runs (am I correct ?) .

yes.

> But how to do this for a LDP entity using generic labels ?

This is the same.  There is an ifIndex associated with a
generic label also.  This ifIndex would have the ifType of
mpls (166).  So in effect this would be the mpls interface layer.

> I'm confused by the DESCRIPTION field of the 
> mplsLdpEntityConfGenericTable definition : why does a SNMP 
> Manager need to configure a generic label for LDP ? I thought 
> it was sufficient for LDP to known the label pools in order 
> to distribute labels ?

Yes this is correct for ATM and Frame Relay, but for Generic
Labels there is no mechanism in LDP to distribute a 
label pool (i.e. label range) for generic labels.  
(The last sentence of Section 3.5.3 of the LDP 
spec states:  "Note that there is
no Generic Session Parameters TLV for sessions which 
advertise Generic Labels.")

> How can a SNMP manager create a MPLS interface using the 
> available MIBs and associate a LDP entity to that newly 
> created MPLS interface ?
> 
> My understanding is that if the SNMP Manager wants LDP to use 
> ATM or FrameRelay labels on the MPLS interface, the SNMP 
> Manager needs to create an entry in the mplsLdpEntityTable, 
> an entry in the mplsLdpEntityAtmParmsTable (which allows to 
> configure for
> instance the VPI/VCI to be used by LDP) and one or more 
> entries in the mplsLdpEntityConfAtmLabelRangeTable. As a 
> result of these row creations, the SNMP agent might create a 
> new MPLS interface, associate an ifIndex to it and fill the 
> ifIndex for the newly

Essentially, yes you are correct.  Although how this would
take place exactly, would largely depend on when ifIndices are
created (which is why the LDP MIB uses InterfaceIndexOrZero
and why this is not needed for indexing into these Entity
related tables.)

In other words, an Entity is created at some point in time.
At some other point in time, LSPs are established.  The 
LSPs are between MPLS interfaces.   It is upto the implementation
on when the ifIndices are assigned, but the LDP MIB does stipulate
that once LSP are established these InterfaceIndexOrZero objects
need to have the value of the InterfaceIndex.

> 
> But how can a SNMP manager create a new MPLS interface (for 
> instance on ATM) using generic labels ? In this case the LDP 
> entity might allready be configured  - the only thing I would 
> exspect to do is to configure somehow a VPI/VCI to be used by this LDP
> entity.

I don't think this is correct.  If it is an ATM interface then
ATM labels (vpi,vci) would be used, so generic labels would not
be used for this.  

You could have an incoming labelled packet which is from 
an ATM interface, forwarded out a PPP interface in which 
case you would forward using a generic label (for details
see the draft-ietf-mpls-label-encaps-07.txt).  In that
case though, this would be two different labels.

    -Joan

---

From: [email-masked]
Date: Thu, 4 May 2000 12:22:17 +0200

Hello Joan,

Thank you for your reply - I think part of my confusion is because I don't understand the mplsLdpEntityConfGenericTable.

From your reply I understand this table is used to configure the label range for Generic Labels. (I assumed that if you use generic labels, it is free to use the full 20bit space (with some reserved values) and there is no need to configure a range).

But I still don't understand how you can configure a label range using the mplsLdpEntityConfGenericTable. What is the meaning of the mplsLdpConfGenericLabel object : is it an upper value for this label range ? From the MIB it seems more like all label
values within the generic label space need to be configured.

I'm also not sure my understanding about the use of ifIndex in the various LDP MIB tables is correct :

- About the ifIndex used in the mplsLdpEntityAtmParmsTable : I assume this is a ifIndex which maps to the vpi/vci defined in mplsLdpEntityDefaultControlVpi/mplsLdpEntityDefaultControlVci and that there is no need to create ifIndices for every ATM label.
The ifType associated to that ifIndex is = mpls (166). Is this correct ?
- From your reply I understand there is a ifIndex associated with a generic label space -  what does it model ? (is it a kind of virtual interface such as the AAL5 interface in the AtomMib ? can I derive the physical ports on which it is used through e.g.
the ifStackTable ? can a SNMP Manager create such an interface ?).

Peter

"Cucchiara, Joan" <[email-masked]> on 05/03/2000 04:35:29 PM

 To:      Peter VAN ROMPU/BE/ALCATEL@ALCATEL, [email-masked]     
                                                              
 cc:                                                          

 Subject: RE: questions on <draft-ietf-mpls-ldp-mib-05.txt>   

Hello Peter,

yes.

    -Joan

---

From: "Cucchiara, Joan" <[email-masked]>
Date: Thu, 4 May 2000 11:08:22 -0400

Hello Peter,

> 
> Hello Joan,
> 
> Thank you for your reply - I think part of my confusion is 
> because I don't understand the mplsLdpEntityConfGenericTable.
> 
> From your reply I understand this table is used to configure 
> the label range for Generic Labels. (I assumed that if you 
> use generic labels, it is free to use the full 20bit space 
> (with some reserved values) and there is no need to configure 
> a range).

This table isn't used to configure label ranges; it is
used to configure the actual generic labels.  
For LDP the generic labels
are configured as specified in the encaps doc 
(draft-ietf-mpls-label-encaps-07.txt).

> But I still don't understand how you can configure a label 
> range using the mplsLdpEntityConfGenericTable. What is the 

Currently, there is no way in LDP to communicate a label range
for generic labels in LDP.  That is why
the MIB doesn't have a mechanism to configure a generic 
label range.  

I don't know why this was not included, perhaps
someone could answer?

> meaning of the mplsLdpConfGenericLabel object : is it an 
> upper value for this label range ? From the MIB it seems more 

no, this table configures actual generic labels (not ranges).

> like all label

yes, the MIB provides a mechanism for configuring the actual
generic labels only.  There is no mechanism in the current version
of LDP for distributing a label range for generic labels.

> 
> I'm also not sure my understanding about the use of ifIndex 
> in the various LDP MIB tables is correct :
> 
> - About the ifIndex used in the mplsLdpEntityAtmParmsTable : 
> I assume this is a ifIndex which maps to the vpi/vci defined 
> in 
> mplsLdpEntityDefaultControlVpi/mplsLdpEntityDefaultControlVci 
> and that there is no need to create ifIndices for every ATM label.

In practice ATM runs on an interface (in this sense a interface
being a physical port).
  
The ifLayering for ATM does not
change for LDP.  In theory you could have ATM (signalling) and 
ATM (LDP) running over the same physical port.  They could have
the same ifStack at the lower layers and differ at the upper
layers. 

> The ifType associated to that ifIndex is = mpls (166). Is 

This is upto an implementation but for generic labels which get
placed in a shim header then that would be the mpls (166). 
For ATM I think this is the cell layer and there would be
an "mpls(166) ifLayer" someplace above within the ifStack.
If there were label stacks being configured, and a label stack
being pushed and/or popped, then this would also be at an
ifLayer whose ifType was 166.

> - From your reply I understand there is a ifIndex associated 
> with a generic label space -  what does it model ? (is it a 

I wouldn't say "generic label space", there are perPlatform or
perInterface label spaces. 

Again, I can only say that once data is forwarded using the
label, the value of the ifIndex represents where in the ifLayer
that the label was created.  For generic labels this would be
the mpls layer (with ifType 166). 

> kind of virtual interface such as the AAL5 interface in the 
> AtomMib ? can I derive the physical ports on which it is used 
> through e.g.

Yes, that is certainly the intention.

For LDP a manager can configure the tables under the "Entity" 
branch and this would result in LDP running on a specific physical
port.  In other technologies such as IP over ATM or NHRP, it is
also necessary to consult the ifStack to understand which physical
port the protocols are running over, we specifically tried
to follow those other MIB models.  

   -Joan

---

From: [email-masked]
Date: Mon, 8 May 2000 10:27:29 +0200

Hello Joan,

Thank you, I do now understand the use of the iFindex.

But I still don't understand what is the use of the mplsLdpEntityConfGenericTable and why a SNMP manager would want  to configure these actual generic labels. Also the generic labels a LSR uses to forward data, are signalled by a peer LSR  (depending on
the label distribution method used, these labels might be signalled as a result of a request of the LSR to set up a label to a certain FEC or whenever a peer LSR decides to announce a new label binding). So my point is that there is no need to configure
these labels on the LSR, since the LSR will learn them through LDP frm its peer LSRs.

My opinion is that it makes more sense to configure in the mplsLdpEntityConfGenericTable generic label ranges. There should be no distinction between configuring label ranges for interface specific labels and configuring label ranges for generic labels. I
known platform wide label ranges are not signalled - but at least the LSR need to known the generic label space(s) it can use, as well as it needs to known the interface specific labels ranges.

Peter

"Cucchiara, Joan" <[email-masked]> on 05/04/2000 05:08:22 PM

                                                              
 cc:                                                          

Hello Peter,

   -Joan

---

From: "Cucchiara, Joan" <[email-masked]>
Date: Mon, 8 May 2000 10:02:10 -0400

Hi Peter,

> Sent: Monday, May 08, 2000 4:27 AM
> To: Cucchiara, Joan
> Cc: [email-masked]

:)

> 
> But I still don't understand what is the use of the 
> mplsLdpEntityConfGenericTable and why a SNMP manager would 
> want  to configure these actual generic labels. Also the 
> generic labels a LSR uses to forward data, are signalled by a 
> peer LSR  (depending on
> the label distribution method used, these labels might be 
> signalled as a result of a request of the LSR to set up a 
> label to a certain FEC or whenever a peer LSR decides to 
> announce a new label binding). So my point is that there is 
> no need to configure

The way that we thought of this was that for LDP the generic
labels need to be configured.  Mostly to keep track of 
what generic labels are supported by LDP.

I agree that these are "learned" through a peer but at some point,
we thought that users would want to be able configure these labels.

> 
> My opinion is that it makes more sense to configure in the 
> mplsLdpEntityConfGenericTable generic label ranges. There 
> should be no distinction between configuring label ranges for 
> interface specific labels and configuring label ranges for 
> generic labels. I
> known platform wide label ranges are not signalled - but at 
> least the LSR need to known the generic label space(s) it can 
> use, as well as it needs to known the interface specific 
> labels ranges.

The LSR MIB is being used to represent min/max in/out labels
on a per Interface as well as perPlatform.  Although, this isn't
quite the same thing as you are asking for.

We could add a generic label range configuration type
of mechanism in the LDP MIB, there isn't really this concept
in LDP, so hesitate to do so because the only use would be
for an NMS (as far as we can see).  An NMS could query the existing 
mplsLdpEntityConfGenericTable and figure out a label ranges for
generic labels.  Is there any other motivation for having
this table, other than for the NMS?

   Thanks, Joan

---

From: [email-masked]
Date: Mon, 8 May 2000 16:49:35 +0200

Hi Joan,

Typical, I would not want to configure generic labels in the application I have in mind - so I would not use the mplsLdpEntityConfTableGenericTable. I can indeed use the mplsInterfaceConfTable from the LSR MIB to restrict ranges if required. But if I don't
use the mplsLdpEntityConfTableGenericTable how do I known on which interfaces a LDP Entity runs which uses generic labels ?

Peter

"Cucchiara, Joan" <[email-masked]> on 05/08/2000 04:02:10 PM

 To:      Peter VAN ROMPU/BE/ALCATEL@ALCATEL, "Cucchiara,     
          Joan" <[email-masked]>                      
                                                              
 cc:      [email-masked]                                         

Hi Peter,

:)

   Thanks, Joan

---

From: "Cucchiara, Joan" <[email-masked]>
Date: Mon, 8 May 2000 22:06:59 -0400

> Sent: Monday, May 08, 2000 10:50 AM
> To: Cucchiara, Joan
> Cc: [email-masked]
> Typical, I would not want to configure generic labels in the 
> application I have in mind - so I would not use the 
> mplsLdpEntityConfTableGenericTable. I can indeed use the 
> mplsInterfaceConfTable from the LSR MIB to restrict ranges if 
> required. But if I don't
> use the mplsLdpEntityConfTableGenericTable how do I known on 
> which interfaces a LDP Entity runs which uses generic labels ?

I can see your point.  It seems reasonable to set up
a generic label range for an interface, regardless of whether
generic labels are ever really configured.  We will add
this.

   -Joan