From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B3C1E440E3; Fri, 31 May 2024 14:41:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 44B55402C9; Fri, 31 May 2024 14:41:09 +0200 (CEST) Received: from mail-yb1-f172.google.com (mail-yb1-f172.google.com [209.85.219.172]) by mails.dpdk.org (Postfix) with ESMTP id ED5B640265 for ; Fri, 31 May 2024 14:41:07 +0200 (CEST) Received: by mail-yb1-f172.google.com with SMTP id 3f1490d57ef6-df771b6cc9cso1888910276.3 for ; Fri, 31 May 2024 05:41:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1717159267; x=1717764067; darn=dpdk.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fjl9Ylq4fJAN4/0jCr26rVN7N1eYWVBSJbFRCbAndao=; b=RJIVZPJWbZXimPkWxgUlQyGr4sG3mqVs7fMZNfbaJlm3WnqmGBMaeTViN06Ermdb1m 6OAT6jMx4kzXYWjdNJ74WrzC/FrtX5rAWhrNn0IEDFBO/FUToWje7iMsoau7jFgl7YZB 6g5NkvUiq7cO8bnQrXHqZvQ5wzPrGFYGN6BJs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717159267; x=1717764067; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fjl9Ylq4fJAN4/0jCr26rVN7N1eYWVBSJbFRCbAndao=; b=fFEYXfqGmLrtscuA7codewyCh+NrfwJs8iY6kxJeatSzzfuUHriTBD0jdygC2QY5lu YEh+0soVSYlv5EN/Y3TiPKSIhgeDV6NpZpmjEcMxoTRaOEN6zgbgOILUjZ7s/sHOXXk3 7AamEx0xjCRCMnD4QcAhVDbR0XgFyUsEDAMPq3UYX3DvjgC63aLgNTzs5GPnuGefY07v lkXH/6Ow+LWNxQzDHMwNlIpRzpQe4NTqW0n0wtUSOrs0HosDAqq0VWM52LjfCWQW2wIC O4zIUPeIzSgsCSJC7v7bvIAcTa/Nc7BzsIccVWJpxDS+03buR3e5bcYGD4I6Ru+KA8zf 1E4A== X-Gm-Message-State: AOJu0Yzj/MtqVb5x7F4QYXCVjjQFRD93b/sgRFzpQPn+8Twn+aezzNMw A8lKhJw589rvQ4JCz2sn990SJkeKAQeQXwawP5m0Gj5FZNe51Gnjr1ayt4/XWvoWi1Ff/axEB48 Nrqc3X1WMwMqubSqcgMoUFTIo+lOiYs4XMk8itI4In5J7CKw8SZ4= X-Google-Smtp-Source: AGHT+IEPwZvH1qIcy7BstClb0JYiix6kdC+VJBVAcGbEjeSRvrHQnaMrsH1Bkge4Fof2PUyONvhqleaEdUw/hl9AHGA= X-Received: by 2002:a25:874e:0:b0:df4:a7d7:1112 with SMTP id 3f1490d57ef6-dfa73db1298mr1818211276.60.1717159267073; Fri, 31 May 2024 05:41:07 -0700 (PDT) MIME-Version: 1.0 References: <4b261fe0-de0d-4c34-8876-eb8f84fd77b0@nokia.com> <71639a21-b4b0-4e72-a402-2f38f1240996@nokia.com> In-Reply-To: <71639a21-b4b0-4e72-a402-2f38f1240996@nokia.com> From: Lincoln Lavoie Date: Fri, 31 May 2024 08:40:54 -0400 Message-ID: Subject: Re: [Help] O-RAN Fronthaul CUS-U data structure implementation To: Mattia Milani Cc: dev@dpdk.org Content-Type: multipart/alternative; boundary="00000000000023197f0619bf4cd3" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --00000000000023197f0619bf4cd3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Mattia, The code is being used, and there are some patches in flight, but are currently coming from Open Air Interface folks. There's a lot of documentation here: https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/develop/doc/ORAN_FH= I7.2_Tutorial.md?ref_type=3Dheads We are actually running this in the lab and even hosted a training session on the O-RAN aspects of the setup yesterday with Northeastern and the OAI / VIAVI teams. Point is, it's not really completely dead, just not a lot of movement in that one repo. On the hardware, it has been run on both Nvidia and Intel NICs, but there are some requirements on things like PTP time stamping, but that comes with the O-RAN fronthaul requirements. For the VLAN header, that is handled with the VFs are creates and "handed" to the xran processes that get embedded into the DU (at least in the OAI implementation). Cheers, Lincoln On Wed, May 29, 2024 at 4:04=E2=80=AFAM Mattia Milani wrote: > Dear Lincoln, > > Thank you very much for providing this reference. > > I've to admit that I didn't know about this library but I'm looking into > it > but I have some questions/concerns. > > This library seems to be abandoned since 2 years, at least this is what I > see from both the documentation and also their version control system: > https://gerrit.o-ran-sc.org/r/gitweb?p=3Do-du%2Fphy.git;a=3Dsummary > Do you think it's still reliable? > > The assumptions seems to be quite restrictive on the HW requirements of > this library listed here: > https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/Assumption= s_Dependencies.html#requirements > With my experiments I'm just exploring using virtual interfaces and my HW= , > I would like to avoid those constraints. > > From what I can see some of the data structures already provided by DPDK > are re-defined by this library, like the eth header data structure and th= e > eCPRI header. > I don't know if this is due to implementation reasons or because it has > been > built with an old version of DPDK. > But without taking in consideration the endianess like rte_ecpri.h alread= y > does in DPDK > and without supporting some msg types (line 94 file xran_pkt.h). > > Digging into the source code a bit I found some of the data structures I'= m > referring to > in my original message, i.e. the ecpri Seq. ID. The following code puzzle= s > me, source file at: > > https://gerrit.o-ran-sc.org/r/gitweb?p=3Do-du/phy.git;a=3Dblob;f=3Dfhi_li= b/lib/api/xran_pkt.h;h=3D314b8d6b7d08f153369de5ad535702f50a574a35;hb=3DHEAD > line 228: > struct xran_ecpri_hdr > { > union xran_ecpri_cmn_hdr cmnhdr; > rte_be16_t ecpri_xtc_id; /**< 3.1.3.1.6 real time control > data / IQ data transfer message series identifier */ > union ecpri_seq_id ecpri_seq_id; /**< 3.1.3.1.7 message identifier > */ > } __rte_packed; > > Seems strange to me that ecpri_xtc_id is not a data structure on it's own= , > providing access to DU port, Band Sector etc. > Also, the 'xran_pkt_comm_hdr' data structure at line 336 assumes that the > packet doesn't have a VLAN header, but, > I don't know if this is managed elsewhere. > > Given all that, I'm still of the idea that could be useful to have those > kind of headers directly in DPDK > but I'm open to reconsider my statement, please let me know if you have > more information regarding > this library. > > Best regards, > Mattia > > > On 28/05/2024 16:37, Lincoln Lavoie wrote: > > > You don't often get email from lylavoie@iol.unh.edu. Learn why this is > important > > > CAUTION: This is an external email. Please be very careful when clicking > links or opening attachments. See the URL nok.it/ext for additional > information. > > > Hi Mattia, > > Have you looked into the O-RAN OSC open fronthaul phy implementation? > > https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/latest/Architectu= re-Overview_fh.html > > Cheers, > Lincoln > > On Tue, May 28, 2024 at 10:31=E2=80=AFAM Mattia Milani > wrote: > >> Dear DPDK Dev community, >> >> I hope this is the correct mailing list for my questions, otherwise >> please excuse me and let me know where my questions should be posted. >> >> I was looking for a data structure capable to manage O-RAN Fronthaul >> CUS-U headers (attached a screenshot of the header structure form a >> packet analyzed with Wireshark) >> but I couldn't find one. >> >> I would like to be capable to identify the different port ids but also >> the number of PRBs in the section part. >> >> I wrote my own implementation for a simple use case (I don't take in >> consideration different versions and or data directions) >> but it's enough for me at the moment. >> >> What I wanted to ask is the following: >> - Does a data structure for this kind of header already exists? >> - If it doesn't exists is it planned? >> - If it's not planned could it be of some interest? >> >> If there is interest I would be happy to share what I developed up to >> now to receive comments and/or assistance on how to make it fully >> functioning. >> >> Best regards, >> Mattia >> > > > -- > *Lincoln Lavoie* > Principal Engineer, Broadband Technologies > 21 Madbury Rd., Ste. 100, Durham, NH 03824 > lylavoie@iol.unh.edu > https://www.iol.unh.edu > +1-603-674-2755 (m) > > > --=20 *Lincoln Lavoie* Principal Engineer, Broadband Technologies 21 Madbury Rd., Ste. 100, Durham, NH 03824 lylavoie@iol.unh.edu https://www.iol.unh.edu +1-603-674-2755 (m) --00000000000023197f0619bf4cd3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi= =C2=A0Mattia,
<= br>
The code is= being used, and there are some patches in flight, but are currently coming= from Open Air Interface folks.=C2=A0 There's a lot of documentation he= re:=C2=A0https://gitlab.eurec= om.fr/oai/openairinterface5g/-/blob/develop/doc/ORAN_FHI7.2_Tutorial.md?ref= _type=3Dheads

We are = actually running this in the lab and even hosted a training=C2=A0session on= the O-RAN aspects=C2=A0of the setup yesterday with Northeastern and the OA= I / VIAVI teams.=C2=A0 Point is, it's not really completely dead, just = not a lot of movement in that one repo.

On the hardware, it has been run on both Nvidia and Intel NI= Cs, but there are some requirements on things like PTP time stamping, but t= hat comes with the O-RAN fronthaul requirements.

For the VLAN header, that is handled with the VFs a= re creates and "handed" to the xran processes that get embedded i= nto the DU (at least in the OAI implementation).

Cheers,
Lincoln


=
On Wed, May 29, 2024 at 4:04=E2=80=AF= AM Mattia Milani <mattia.mila= ni@nokia.com> wrote:
=20

Dear Lincoln,

Thank you very much for providing this reference.

I've to admit that I didn't know about this library but I= 9;m looking into it
but I have some questions/concerns.

This library seems to be abandoned since 2 years, at least this is what I
see from both the documentation and also their version control system:
https://gerrit.o-ran-sc.org/r/gitweb?p=3Do-du= %2Fphy.git;a=3Dsummary
Do you think it's still reliable?

The assumptions seems to be quite restrictive on the HW requirements of
this library listed here: https://docs.o-ran-sc.org/projects/o-ran-sc-o-du-phy/en/l= atest/Assumptions_Dependencies.html#requirements
With my experiments I'm just exploring using virtual interfaces and my HW,
I would like to avoid those constraints.

From what I can see some of the data structures already provided by DPDK
are re-defined by this library, like the eth header data structure and the eCPRI header.
I don't know if this is due to implementation reasons or because it has been
built with an old version of DPDK.
But without taking in consideration the endianess like rte_ecpri.h already does in DPDK
and without supporting some msg types (line 94 file xran_pkt.h).

Digging into the source code a bit I found some of the data structures I'm referring to
in my original message, i.e. the ecpri Seq. ID. The following code puzzles me, source file at:
https://gerrit.o-ran-sc.org/r/gitweb?p= =3Do-du/phy.git;a=3Dblob;f=3Dfhi_lib/lib/api/xran_pkt.h;h=3D314b8d6b7d08f15= 3369de5ad535702f50a574a35;hb=3DHEAD
line 228:
struct xran_ecpri_hdr
=C2=A0{
=C2=A0=C2=A0=C2=A0=C2=A0 union xran_ecpri_cmn_hdr cmnhdr;
=C2=A0=C2=A0=C2=A0=C2=A0 rte_be16_t ecpri_xtc_id;=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /**< 3.1.3.1.6 real time control data / IQ data transfer message series identifier */
=C2=A0=C2=A0=C2=A0=C2=A0 union ecpri_seq_id ecpri_seq_id;=C2=A0=C2=A0= /**< 3.1.3.1.7 message identifier */
=C2=A0} __rte_packed;

Seems strange to me that ecpri_xtc_id is not a data structure on it's own, providing access to DU port, Band Sector etc.
Also, the 'xran_pkt_comm_hdr' data structure at line 336 assu= mes that the packet doesn't have a VLAN header, but,
I don't know if this is managed elsewhere.

Given all that, I'm still of the idea that could be useful to have those kind of headers directly in DPDK
but I'm open to reconsider my statement, please let me know if yo= u have more information regarding
this library.

Best regards,
Mattia


On 28/05/2024 16:37, Lincoln Lavoie wrote:
=20

You don't often get email from lylavoie@iol.unh.edu. Learn why this is important

=20
=C2= =A0
CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok= .it/ext for additional information.

=C2=A0

Hi=C2=A0= Mattia,

Have you looked into the O-RAN OSC open=C2=A0fronthaul phy implementation?=C2=A0=C2=A0

Cheers,<= br> Lincoln

On Tue, May 28, 2024 at 10:31=E2=80=AFAM Mattia Milani <mattia.milani@nokia.com> wrote:
Dear DPDK Dev community,

I hope this is the correct mailing list for my questions, otherwise
please excuse me and let me know where my questions should be posted.

I was looking for a data structure capable to manage O-RAN Fronthaul
CUS-U headers (attached a screenshot of the header structure form a
packet analyzed with Wireshark)
but I couldn't find one.

I would like to be capable to identify the different port ids but also
the number of PRBs in the section part.

I wrote my own implementation for a simple use case (I don't take in
consideration different versions and or data directions)
but it's enough for me at the moment.

What I wanted to ask is the following:
- Does a data structure for this kind of header already exists?
- If it doesn't exists is it planned?
- If it's not planned could it be of some interest?

If there is interest I would be happy to share what I developed up to
now to receive comments and/or assistance on how to make it fully
functioning.

Best regards,
Mattia


--
Lincoln Lavoie
Principal Engineer, Broadband Technologies
21 Madbury Rd., Ste. 100, Durham, NH 03824
+1-603-674-2755 (m)



--
Lincoln Lavoie
Principal Engineer, Broadband Te= chnologies
21 Madbury Rd., Ste. 100, Durham, NH 03824
<= a href=3D"mailto:lylavoie@iol.unh.edu" target=3D"_blank">lylavoie@iol.unh.e= du
+1-603-674-2755 (m)

--00000000000023197f0619bf4cd3--