Skip to Content.
Sympa Menu

rare-dev - Re: [rare-dev] [gn4-3-wp6-t1-wb-RARE] RARE/freeRtr Polka integration progress

Subject: Rare project developers

List archive

Re: [rare-dev] [gn4-3-wp6-t1-wb-RARE] RARE/freeRtr Polka integration progress


Chronological Thread 
  • From: mc36 <>
  • To: "Rafael S. Guimaraes" <>
  • Cc: , Rafael S. Guimarães <>, Cristina Klippel Dominicini <>
  • Subject: Re: [rare-dev] [gn4-3-wp6-t1-wb-RARE] RARE/freeRtr Polka integration progress
  • Date: Tue, 6 Apr 2021 09:27:40 +0200



On 4/2/21 9:32 PM, Rafael S. Guimaraes wrote:
Hi @Csaba,

Sorry for my late reply. I was struggling this week with some tasks running
in parallel.
np, i also took an offline weekend :)


> if you would 'handle over' (abandon) the current work as is, then go with a single pull-req... we'll move forward as sde95 appears soon, in that case, we'll who will ensure that it compiles and passes the tests in the future...

I have created a new branch (polka) after cloning the RARE bitbucket repo,
and I am working on this branch locally.

> alternatively if you plan to support polka in long run @RARE/FreeRTR, then
we can
arrange you rw access to the main repos after the initial pull-req & merge
then
both of us will patch the stuff: as freertr internal apis evolve then i'll
easily
move forward and update your forwarder parts also, then update the api
messages
and the dpdk & p4 code if needed... and if you change your mind then you'll
also
be able to change these parts....

For me, it is a good alternative! From my perspective, once we have some way to fork and submit a pull request, we can be more "relaxed" to work because you will be verifying/analyzing the code before merging and making sure that my pull requests are not breaking/messing the code.

feel free to work on that, frederic will arrange you an rw access.
from my side, that repo is just a write-only backup of
sources.nop.hu/misc/p4bf
that is, once you run the upgrade scripts then your change will be
overwritten....
so, once you did your tests, please notify me, i'll check the diffs, verify
them,
and if i cannot spot a thing, i'll update my /misc/ directory with your new
sources....
is this constrain acceptable for you?



> so if i understand you correctly, you already have something that works!  at least, in p4... and if i understand you correctly, you already have some bfforwarder.py messages that program the dataplanes... on top of these, it's hard to write a self test imho, we'll need the pure java version implementing the forwarding... to have something that can be tested against itself, and then to test the dataplane vms against that...

Yes, you are correct!  Do you think we can do it by steps, for example, commit the P4 and bf_forwarder.py (data- and control-planes), which we already have done, and after developing and pushing the commit of the Java part (user interface) we think about end-to-end tests?


please move forward with the java part, please, please! :)
i mean just the core forwarding and let me do the rest...
if you have spare time, we could have a meeting and i'll tell you the dirty
details to ease your work....
from that point, once you coded the very core of your idea, then let me do
the rest for you....
that is, the surrounding user interface, tests, everything!
my idea is that your stuff will be configurable like an srte tunnel, but with
a different layer2.5.... am i wrong on that? :)


> if you could point me to your repo, then I can have some more idea on how
to proceed...

I have created a gist code for that. I was not sure and a bit concerned whether I am allowed or not to clone and put your RARE repo in our Github repository. That's why I decided to keep all the changes locally in my cloned repo.

https://gist.github.com/rafaelsilvag/727507e96849af3de7ad10082c7d7f86
<https://gist.github.com/rafaelsilvag/727507e96849af3de7ad10082c7d7f86>

i'll check if a bit later a bit more deeper, but for the first insight, it'll have the
"qc passed" vignette.... :)



So, do you think that we can start working like as you said before (fork and
pull-requests)?


imho frederic will arrange you the rw access to the bitbucket somehow.... :)

thanks,
cs




Best regards,
Rafael

On Fri, 26 Mar 2021 at 11:16, mc36 < <>> wrote:

hi,

On 3/26/21 2:27 PM, Rafael S. Guimaraes wrote:
> Hi @Csaba,
>
> Thanks for pointing that out. You are right! We have already done the
data- and control plane parts (bf_router.p4 and bf_forwarder.py).

excellent!

>
> My question is: after successfully compiling on those
platforms (BMv2, Tofino, and DPDK), what should the next steps be? Can I drop
a pull-request to the main repository,
or must
> we use a different branch, the "polka" one, as an example? We
freeze the P4 SDE version 9.4.0 in our deployment phase.

it depends....

if you would 'handle over' (abandon) the current work as is, then go with
a single pull-req...
we'll move forward as sde95 appears soon, in that case, we'll who will
ensure that it
compiles and passes the tests in the future....

if you already have that repo somewhere, you can still make the pull-reqs
when
you change a thing here & there.... but i'll be trickier to keep them in
sync....

alternatively if you plan to support polka in long run @ rare/freertr
then we can
arrange you rw access to the main repos after the initial pull-req &
merge then
both of us will patch the stuff: as freertr internal apis evolve then
i'll easily
move forward and update your forwarder parts also, then update the api
messages
and the dpdk & p4 code if needed... and if you change your mind then
you'll also
be able to change these parts....


>
> Thanks for providing some hints about the Freertr development step.
It is the part of the integration that we did have no clue on how to proceed.

so if i understand you correctly, you already have something that works!
at least, in p4... and if i understand you correctly, you already have
some
bfforwarder.py messages that program the dataplanes...
on top of these, it's hard to write a self test imho, we'll need the pure
java version implementing the forwarding... to have something that can be
tested against itself, and then to test the dataplane vms against that...

if you could point me to your repo, then i can have some more idea on how
to proceed...

thanks,
cs




>
> Kind regards,
> Rafael
>
>
> On Thu, 25 Mar 2021 at 10:59, mc36 < <> <
<>>> wrote:
>
>     hi,
>
>     On 3/25/21 1:51 PM, Rafael S. Guimaraes wrote:
>
>      >
>      > @Csaba, feel free to contact me any time!
>      >
>
>     at the moment all i know is that sent on this public mailing
and my own research (your paper from doi search engines:))
>
>     knowing these, you should have come up with a p4 dataplane
integration into
>     - http://sources.nop.hu/misc/p4lang/ <http://sources.nop.hu/misc/p4lang/>
<http://sources.nop.hu/misc/p4lang/ <http://sources.nop.hu/misc/p4lang/>> for bmv2
>     - http://sources.nop.hu/misc/p4bf/ <http://sources.nop.hu/misc/p4bf/>
<http://sources.nop.hu/misc/p4bf/ <http://sources.nop.hu/misc/p4bf/>> for tofino
>     - http://sources.nop.hu/misc/native/ <http://sources.nop.hu/misc/native/>
<http://sources.nop.hu/misc/native/ <http://sources.nop.hu/misc/native/>> for
dpdk/libpcap
>     if i understand flou's words correctly, you're done with some
of that already:)
>     and you should have to proceed with the configuration parts...
>     some hints here are how
>     - rsvp-te http://sources.nop.hu/src/clnt/clntMplsTeP2p.java
<http://sources.nop.hu/src/clnt/clntMplsTeP2p.java>
<http://sources.nop.hu/src/clnt/clntMplsTeP2p.java
<http://sources.nop.hu/src/clnt/clntMplsTeP2p.java>>,
>     - sr-te http://sources.nop.hu/src/clnt/clntMplsSr.java
<http://sources.nop.hu/src/clnt/clntMplsSr.java>
<http://sources.nop.hu/src/clnt/clntMplsSr.java
<http://sources.nop.hu/src/clnt/clntMplsSr.java>>,
>     - srv6 http://sources.nop.hu/src/clnt/clntSrExt.java
<http://sources.nop.hu/src/clnt/clntSrExt.java>
<http://sources.nop.hu/src/clnt/clntSrExt.java
<http://sources.nop.hu/src/clnt/clntSrExt.java>>
>     implemented in freertr to have the similar config interface for
polka.
>     also to automate the dataplane testing, it would be nice if you
could
>     come up with a pure java forwarder, hint here how nsh/mpls done:
> http://sources.nop.hu/src/ip/ipMpls.java
<http://sources.nop.hu/src/ip/ipMpls.java> <http://sources.nop.hu/src/ip/ipMpls.java
<http://sources.nop.hu/src/ip/ipMpls.java>>
>
>     if you have any questions or something to commit to,
>     feel free to drop over the fence and we'll see how to
proceed... :)
>
>     thanks,
>     cs
>




Archive powered by MHonArc 2.6.19.

Top of Page