Subject: [netmod] Typedefs for bandwidth

From: Reshad Rahman <[email-masked]>
Date: Thu, 13 May 2021 11:57:26 -0400

Hi,

Has there been any discussions wrt adding new  bandwidth types e.g. the bandwidth-xxx types in draft-ietf-teas-yang-te-types? I see RFC8294 has bandwidth-ieee-float32 but it doesn’t have units (Kbps/Mbps/Gbps).

Regards,

Reshad.

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 13 May 2021 19:25:02 +0200

> Has there been any discussions wrt adding new  bandwidth types e.g. the bandwidth-xxx types in draft-ietf-teas-yang-te-types? I see RFC8294 has bandwidth-ieee-float32 but it doesn’t have units (Kbp…

The description of bandwidth-ieee-float32 says:

          The units are octets per second.

Note that draft-ietf-teas-yang-te-types has been published as RFC 8776
in June 2020, it should be safe to use these definitions.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>

---

From: Italo Busi <[email-masked]>
Date: Fri, 14 May 2021 10:08:00 +0000

Reshad, Juergen,

Actually, there is some on-going discussion within TEAS because some packet technology-specific YANG modules are not using the bandwidth-ieee-float32 but prefers using some uint type:

https://github.com/tsaad-dev/te/issues/116

The ietf-te-packet-types already defines bandwidth-kbps, bandwidth-mbps and bandwidth-gbps but during the discussion of this open issue it was pointed out that it would be desirable to specify both the bandwidth and the units (Kbps/Mbps/Gbps)

Italo

> -----Original Message-----
> From: Juergen Schoenwaelder [mailto:[email-masked]]
> Sent: giovedì 13 maggio 2021 19:25
> To: Reshad Rahman <reshad=[email-masked]>
> Cc: [email-masked]' <[email-masked]>
> Subject: Re: [netmod] Typedefs for bandwidth
> 
> > Has there been any discussions wrt adding new  bandwidth types e.g. the
> bandwidth-xxx types in draft-ietf-teas-yang-te-types? I see RFC8294 has
> bandwidth-ieee-float32 but it doesn’t have units (Kbps/Mbps/Gbps).
> >
> 
> Note that draft-ietf-teas-yang-te-types has been published as RFC 8776 in June
> 2020, it should be safe to use these definitions.
> 
> /js
> 
> --

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Fri, 14 May 2021 12:48:20 +0200

I assume it is best to settle this in teas. Form a programmatic point
of view, you likely want to have a single unit. Even if you go for bps
(bits per second), a uint64 still allows you to express quite big data
rates (I think 16777216 terra bits per second but please check
yourself). From a human point of view, having a notation that supports
different units may be desirable. But if you have multiple
representations, this surely increases implementation cost and it gets
you into answer questions whether there should be a canonical format
or a way to decide which unit is selected. Writing constraints in when
or must statements will also become much more fun.

Whether you really need the range of a floating point number, I can't
tell. Perhaps check what the realistic smallest and biggest bandwidth
is that you need to represent. Generally, floating point numbers seem
to be a no-brainer for management application writers but I have been
told that they are less frequently found in line cards or OS kernels.

/js

---

From: Carsten Bormann <[email-masked]>
Date: Fri, 14 May 2021 14:10:24 +0200

>          The units are octets per second.

The quantity you are looking for is called “bit rate” (IEC 80000:13, item number 13-13).
Its unit is bit/s.

A single 64-bit integer should give you both the range and the precision you need for all practical applications outside millibit networks (“LPWANs”).

As does an IEEE 754 binary64 float (and, probably, a binary32), which will even cover millibit networks.

If you prefer software floating point, you can add an exponent.
A practical base could be 1000, so an exponent of 0 is bit/s, 1 is kbit/s, 2 is Mbit/s, 3 is Gbit/s, 4 is Tbit/s, and so on.  -1 and -2 would be mbit/s and µbit/s, units maybe many of you aren’t as familiar with.

Grüße, Carsten

---

From: "Acee Lindem (acee)" <[email-masked]>
Date: Fri, 14 May 2021 12:27:11 +0000

I'd be all for using some unsigned integer quantity. I think it was a mistake for using IEEE floating point in the first place. This floating point nonsense was carried over to Traffic Engineering (TE) from early work done on transport area on RSVP. For example, https://www.rfc-editor.org/rfc/rfc2210.txt and we've been stuck with it ever since... 

Thanks,
Acee

On 5/14/21, 6:08 AM, "netmod on behalf of Italo Busi" <[email-masked] on behalf of [email-masked]> wrote:

    Reshad, Juergen,

    Italo

    > 2020, it should be safe to use these definitions.

    _______________________________________________
    netmod mailing list
    [email-masked]
    https://www.ietf.org/mailman/listinfo/netmod

---

From: Reshad Rahman <[email-masked]>
Date: Fri, 14 May 2021 08:47:41 -0400

On 2021-05-13, 1:25 PM, "netmod on behalf of Juergen Schoenwaelder" <[email-masked] on behalf of [email-masked]> wrote:

You are correct. I just wish that definition was in a "common" module instead of teas-te.

Regards,
Reshad.

    /js

---

From: Dieter Beller <[email-masked]>
Date: Fri, 14 May 2021 14:52:15 +0200

I concur with Carsten.

There is YANG modeling work currently ongoing in CCAMP where we are 
dealing with analog bandwidth (DWDM transport networks), which is 
measured in Hz, kHz, MHz, GHz, and THz.

So, the term bandwidth describing a data rate or bit rate has always 
been confusing in the DWDM network context. In this context we are also 
modeling the digital data flow carried by
a modulated optical carrier, where the analog bandwidth is an important 
property.

Thanks,
Dieter

---

From: Don Fedyk <[email-masked]>
Date: Fri, 14 May 2021 19:52:41 +0000

+1 The floating point format is really non-intuitive. We have used uint64 bit rates. 
Cheers
Don

-----Original Message-----
From: netmod <[email-masked]> On Behalf Of Acee Lindem (acee)
Sent: Friday, May 14, 2021 8:27 AM
To: Italo Busi <[email-masked]>; 'Juergen Schoenwaelder' <[email-masked]>; Reshad Rahman <reshad=[email-masked]>
Cc: [email-masked]' <[email-masked]>; [email-masked]
Subject: Re: [netmod] Typedefs for bandwidth

Thanks,
Acee

    Reshad, Juergen,

    Italo