►
From YouTube: DASH Behavioral Model WG weekly 20220526 (May 26, 2022)
Description
May 26, 2022
Discussed ONF presentation
Review of project work items
Chris/Reshma
https://www.youtube.com/watch?v=mT7-t_aDozM - P4 as a Single Source of Truth for SONiC DASH; use cases on both SoftSwitch and HW
Venkat Puella
https://youtu.be/ymU2d9Oe_dI -
Venkat's presentation at P4 conference. This will become useful to DASH later as it uses P4 modularity and composability.
A
You
know
having
two
separate
tables,
and
then
they
have
you
know
v4
or
v6
specific
apis,
but
we
don't
have
that
architecture
inside
and
then
you
know
we
wanted
to
keep
it
consistent,
okay
as
well
yeah,
yeah
yeah.
But
then
the
challenge
is
that
how
do
you
do
the
lookup
and
lookup?
We
just
create
a
key
enumeration
extended
by
the
bit
as
honey
was
saying.
B
Got
it
so
so
now
that's
what
I
understood.
I
just
wanted
to
make
sure.
The
second
thing
was
because
I
went
as
I
started,
looking
at
fragmentation
I
wanted
to
so.
The
second
question
is
now:
I
want
to
go
ahead
and
instead
of
just
do
the
ipv4
v6
for
the
destination
ip,
only
that's
how
it
is
done
today.
I
want
to
move
it
in
the
metadata
to
create
a
flow,
and
that
will
be
a
generic
flow,
v4
v6
flow
and
inside
that
I
will
use
v4
or
v6
address
right.
B
So
I'm
going
to
go
ahead
and
do
that
and
but
I
just
wanted
to
see,
if
anyone
has
you
know,
thoughts
or
comments
on
that
before
I
do.
That
just
saves
some.
It
just
saves
time.
A
When
did
what's
the
need
for
specifying
the
full
flow
for
fragmentation.
B
No,
it's
not.
You
know
as
we
in
general
for
flow
tracking
right,
so
I
could
keep
source
port
destination
port
separate
and
then
it
works
for
udp
and
tcp
right
and
do
we
and
that's
how
it
is
today,
metadata
has
a
structure
inside
called
flow
and
the
flow
has
source
port
and
destination
port,
and
it's
common
to
both
tcp
udp,
see
what
I
am
proposing
is
to
extend
it
to
have
two
bits.
One
indicates
tcp
or
udp
and
another
indicates
v4
or
v6
and
have
like
a
phytopl
inside.
B
So
then
everywhere
in
our
code,
we'll
have
to
refer
every
time
you
want
to
refer
to
ip
address.
You
need
to
go
through
metadata,
rather
meta
dot
flow
dot
destination
ip.
So,
instead
of
doing
it
field
by
field,
we
may
want
to
consider
flow
as
a
first
class
citizen
because
dash
is
you
know
everything
about
flows.
I
think
putting
that
you
know
creating
that
flow
that
is
tcp
udp,
independent,
v4,
v6,
independent
separated
by
these
bits,
I
think,
is
the
right
way,
but
I
just
wanted
to
see.
B
A
Yeah,
I
think
the
the
simpler
thing
it
was
easier
for
to
for
us
to
do
for
ip,
because
it
was
a
single
field
right.
Just
the
bit
was
different,
but
flow
is
a
is
a
is
a
conglomeration,
it's
a
it's
constituted
of
multiple
fields.
Right
then,
what
we
have
to
be
careful
that
are
all
those
fields
being
considered
or
you
think
that
they
may
get
extended
in
future
right
so
flow
is
a
n-tuple.
Are
those
all
n
being
identified
and
they
will
remain
static
because
if
it.
B
B
B
Okay,
yeah,
I
will,
I
will
try
to
code
and
push
pr
so
that
we
have
some
reference
to
talk
against
right.
Okay,
got
it
cool!
Thank
you
thanks
for
that.
C
Okay,
all
right
thanks
for
coming
thanks
for
coming.
Did
you
go
to
the
p4
workshop?
No
today
not,
but
it
was
pretty
good.
It
was
pretty
good.
We
were
just
going
over
there's
a
new
view
instead
of
you
by
status
only
we
have
a
view
by
owner,
so
you
know
we
can
look
at.
You
know
in
a
more
thorough
way.
You
know
who's
doing
what
and
how
far
along-
and
I
can
always
change
these
fields
for
everyone.
C
So
just
that's
where
we
were
going
before
we
hopped
into
hanif
and
kasim
and
vin
katz
work
items.
So
that's
where
we
are
marion
from
nvidia
had
a
conflict
today
so
and
yeah
while
we're
where
we're
talking
about
it.
How
are
we
doing
here
on
this
one?
Not
not
yet
done?
Okay,
we
help
next
week.
Okay,
all
right,
let's
see
I'll
just
I'll
put
in
to
check
it.
Let's
see
now
next
week
is
memorial
day
week,
so
I
still
plan
to
have
our
meetings.
C
But
you
know
if
you
can't
attend,
that's
okay,
so.
B
B
C
Oh
yeah,
I
wish
I
could
remember
how
to
do
the
poll
I'll,
try
and
work
on
that,
while
we're
talking
so
yeah
see
if
everyone's
planning
to
take
the
week,
okay
and
then
so
depending
on
okay,
and
so
then
I'm
going
to
work
with
marianne
to
do
the
the
new
work
items
as
they're
needed,
and
some
of
us
in
this
meeting
are
also
in
the
aha
meeting
and
john
carney
sent
out
a
really
detailed
proposal
this
morning
that
I've
read
through
and
you
know
if
it
hits
your
guys's
email.
C
F
No
and
I'm
reading
the
aj
thing
too,
and
I
still
need
to
publish
my
little
paper
but
with
promotions
and
raises
going
on
right
now
we're
just
a
little
busy
so
I'll
get
to
it
next
week.
But.
C
F
Work
on
excite
site
to
get
the
conversation
going
in
a
more
concrete
yeah,
something
that
we
can
talk
to.
So
that's
that
was
good
work
and
looking
for
the
next
next
meeting
and
I'm
glad
that
he
did
that
before
next
meeting,
because
now
everybody
can
read
it
and
while
the
better
next
meeting.
C
Yep
yep
so
yeah.
If
everyone
can
read
it,
that
would
be
great.
So
anyone
have
anything
else
this
week
or
should
we
should
we
end
it.
B
So
so
this
is,
this
email
went
to
the
gmail
group
that
all
of
us.
C
F
But
send
it
to
their
entire
behavioral
model
group
too:
they
they
should.
They
should
get
it
once.
C
Okay,
okay,
I
was
trying
to
kind
of
keep
them
separate,
but
I
can
certainly
do
that.
It's
good
for
everyone
to
just
kind
of
ingest
and
think
about
it
anyway.
B
Yeah,
especially
the
final
or
like
a
big
proposals
right
day
to
day,
we
don't
need
to
be
in
sync,
but
it's
good
too.
C
C
E
I
am,
I
have
like
a
different
topic
that
maybe
I
can
bring
up.
Okay
gerald
is
here
and-
and
maybe
this
is
a
good
time
to
bring
it
up.
E
I've
spent
some
time
on
azure
and
I've
been
doing
some
testing
to
try
to
like
really
see
what,
like
the
behavior
is
of
like
the
network
security
groups,
and
you
know
stateful
connection
tracking,
like
what's
what's
being
done
today
on
azure
and
like
I
see
behaviors
that
I
I
think
are
like
you
know
stricter
than
some
of
the
things
that
we're
doing
in
dash-
and
I
just
wanted
to
understand
like
is
it
the
intention
of
microsoft,
to
you
know,
maintain
like
the
behaviors
of
the
network
security
group
feature
that
exists
today
in
a
dash
solution,
so.
F
F
Okay,
but
there's
100,
you
have
to
be
100
equivalent,
and
so,
if
things
are
missing,
it's
not
that
they're
missing
in
our
pre-dash.
It's
just
that
they're
not
documented,
and
so
I
think
everybody
understands
that
the
v-net
behavior
it
needs
a
lot
of
work.
It's
you
know
we're
not
yeah.
E
I'm
talking
about
the
connection
tracking,
I
mean
I'm
talking
specifically
about
the
connection
tracking
and
you
know
what
to
be
like,
there's
a
very
specific
behaviors
of
like
connection
tracking
that
I've
been
able
to
sort
of
infer
by
like
testing
connections.
You
know
between
two
vms,
on
two
v-nets
on
azure
and
and
I
like
I
said
I
have
some
concerns,
because
I
think
that
there
are
behaviors
there
that
we
haven't
expressed
so.
F
C
F
E
I'll
give
you
an
example:
it's
like
100
clear
to
me
that
the
sequence
numbers
are
being
tracked
both
of
the
sins
and
of
the
fins
and-
and
I
kind
of
understand
why
and-
and
you
know
I
know
we
had
like
a
lot
of
debate
over
like
do.
We
need
to
track
sequence
numbers
and
I'm
like
100
certain
that
sequence
number
tracking
is,
is
absolutely
being
done
today
on.
E
F
F
Have
so
the
reason
why
there's
some
debate
on
it,
though,
is
you
know,
there's
some
there's
some
denial
of
service
attacks,
which
would
say
that
you
know
we're
doing
it
wrong.
So,
for
example,
if
you
send
a
finn
with
the
wrong
sequence,
number,
that's
an
attack,
it's
a
very
common
attack,
because
it's
easy
to
do.
F
We've
chosen
to
do
what
you
said:
we're
tracking
sequence
numbers,
but
you
could
argue
that
well
we're
wrong
then,
like
like
that
causes
more
problems
than
it
solves,
and
so
there
might
be
some.
I
think
those
are
the
areas
which
we'll
need
to
to
to
talk
about
a
bit
more
because
when
it
comes
to
combining
and
that's
why
I
think
somebody
said
at
the
beginning,
when
you
talk
about
security,
you
need
a
whole
new
work
work
because
it
actually
affects
you,
know
your
data
path
and
how
you
behave
and
which,
which
security
risk.
F
Do
you
go
after
versus?
You
don't
go
after
and
why
and
what
was
your
rationale
for
not
actually
doing
that
and-
and
you
know
I
think
in
in
the
case
of
sequence-
numbers.
It
was
because
if
you
look
at
a
v-net
scenario,
v-net's
attacking
themselves,
you
don't
even
care
like
you-
can
attack
your
stuff
all
day
long.
The
real
issue
is
that
the
attack
comes
from
the
internet
and
I
think
that's
where
it's
debatable.
F
F
Maybe
there
should
be
a
different
behavior
when
packets
come
from
the
internet
versus
when
they
stay
within
the
v-net,
but
frankly
within
the
v-net.
We
don't
worry
as
much
about
those
types
of.
E
Action
actually,
I
saw
like
I
actually
saw
like
different
behavior
from
what
from
like,
when
you're,
within
the
same
v-net,
to
two
different
v-nets
so
like
I
there
were,
there
were
like
different
behaviors
like
actually
like
you're
saying
but
like
for
ex.
I
I
think,
if
I
understand
you
correctly,
gerald
you're,
saying
like
as
a
baseline
like
dash,
has
to
like
be
able
to
do
the
exact
behaviors
of
azure
today,
but
you're
saying
that
maybe
the
behaviors
of
azure
today
might
not
necessarily
be
like
correct
in
terms
of
being
like.
E
You
know,
like
security,
trade-offs,
yeah
and
I
think
correct
is
probably
not
the
right.
F
Right
right
and
they
could
choose
a
different
one
and
I
know
why
they
chose
that
one
is
like
they
don't
care
if
unit
attacks
itself,
and
so
they
they
actually
do
track
it
because
they're
like
well.
If
they
want
to
do
that,
then
fine,
you
know
so.
E
But
so
like,
like
I'll,
give
you
an
example
like,
like
the
sequence
number
tracking,
on
the
sins
like
it's
it's
clear
to
me
that
like,
for
example,
there's
a
five
second
timeout
of
the
connection
until
you
get
to
the
established
date
and
you
don't
get
to
the
established
state
and
unless,
like
the
sins,
the
sequence
numbers
are,
like
you
know
perfectly
checked
and
then
once
you're
in
the
established
state,
then
there's
like
a
five
minute
timeout
on
the
connection
and
then
there's
like
similar
kind
of
behaviors
on
the
fins.
E
And
so
you
know
I
think,
like
these
are
the
behaviors
that
I
see,
and
I
don't
know
I
mean
I
think,
like
the
open,
contrail
connection
tracking
does
express,
like
sequence,
number
tracking
on
the
sins
and
the
fins.
But
we've
we
haven't
really
talked
about
like
the
timers
and
like
how
those
will
get
into
the
behavioral
model.
And-
and
there
are
like
other
behaviors
that
I
see
like
if
you
got
like
the
sin
in
the
middle
of
a
establish,
a
connection
established
connection
like
what
happens
and
so
like.
E
I
just
think
that
that
there's
like
more
to
it
than
like
how
we've
expressed
it
so
far.
F
We
can
talk
about
that.
I
think,
though,
there
what
you're
really
seeing
is
in
in
azure
I
mean
all
the
syn
acks
and
fin
acts
and
everything
are
done
in
software.
So
some
of
the
delays
that
you
see
are
because
like
they,
they
can't
do
millions
of
connections
per
second
and
and
they
also
can
buffer
a
lot
of
this
stuff
up
and
and
and
so
it's
not
even
seen
for
a
while.
F
If
the
connections
per
second
get
extremely
high
right,
you
end
up
with
with
a
a
problem
not
being
able
to
to
deal
with
that,
whereas
in
a
dpu
scenario
they're
done
in
real
time,
there
is
no
right.
E
But
but
I
think
these
kinds
of
time
timers
that
I'm
talking
about
are
kind
of
like
are
are
like,
like
actual
behaviors,
that
exist
today
and
and
and
not
necessarily
a
result
of,
like
you
know,
like
the
the
capacity
you
know
of
of
the
current
implementations
I
mean
so
I
mean.
Maybe
some
of
them
are,
but,
like
mostly,
this
just
looks
like
this
is
kind
of
like
the
defined
behavior
of
what
is
being
done
today.
F
E
E
F
Think
that's
the
question
could
have
a
behavior
today
and
did
every
implementation
in
the
world
is
different
right?
So
there's
going
to
be
some
differences,
yeah.
F
C
C
F
Have
a
list
of
we
probably
should
have
a
running
list
of
slight
slight
differences
yeah
just
so
people
are
aware-
and
you
know,
because
I
I,
if
you
don't
write
them
down
as
differences,
then
in
the
future,
then
they'll
just
be
like
people
trying
to
figure
out
what's
going
wrong
and
you
know
it
would
have
been
easily
found
had
we
just
listed
the
deviances.
So
I
think
that's.
C
F
E
Right-
and
I
you
know,
I
haven't,
checked
like
how
does
aws
do-
network
security
groups
and
what
are
those
behaviors
and
like?
How
does
google
do
it,
and
you
know
because,
like
I
mean
I'm
sure,
you're
right
like
there
are
probably
differences
like
in
there
and
how
they
do
things.
And
you
know,
as
as
a
provider
of
a
dash
data
plane,
I
mean
I,
I
would
want
to
make
sure
that,
like
our
implementation
has
at
least
the
option
to
be
able
to,
you
know
cover
like
these
different
kinds
of
behaviors.
F
Yeah,
I
agree.
That's
exactly
what
you
hope
for
is
that
these
can
be
provisionable
options
right,
optional,
behaviors,
so
that
we
can
match
the
general
employee.
We
don't
want
to
match
azure
only.
We
want
to
match
this
to
any
club
and
so
you're
right.
They
should
be
if
there's
a
difference,
and
we
can
put
that
option
in
to
include
that
difference
or
not.
That's
that's
the
best.
E
Yeah,
okay,
so
I
have
some
notes
when
I
get
a
chance
I'll
I'll
try
to
try
to
write
these
up
in
an
understandable
way.
G
Warrior's
got
one
next
to
his
hand,
so
he
can
go
first
if
he
has
something:
okay
go
ahead
for.
G
Two
two
things:
one
is
shin
liu
gave
an
excellent
talk
at
the
p4
workshop
keynote
this
morning
and
the
links
aren't
up
yet
for
the
recorded
version,
but
people
will
probably
want
to
watch
her
talk
because
she
talks
about
sonic,
sonic
dash
people,
behavioral
model
and
all
this
stuff.
So
it's
really
a
nod
to
the
efforts
of
this
whole
community.
G
So
people
definitely
want
to
watch
that
and
it's
you
know
it's
good
for
even
internal
messaging
in
your
own
companies
and
you
can
share
with
people
who
may
not
understand
all
this.
Did
you
get
good
questions
and
comments?
Yeah
guru,
guru
from
onf
was
the
moderator
and
you'll
love
the
question
and
follow-up
cheryl.
He
asked
one
question
he
asked
was:
will
can
dash
be
used
with
other
operating
systems
because
you
know
has
a
saw
interface?
Does
it
have
to
be
used
as
sonic
and
shin
gave
a
very
well
crafted
response?
G
You
said
technically,
yes,
because
of
this
abstraction,
but
because
of
paul
security,
postures
and
upgrades
and
operational
concerns.
G
You
know
we
settled
on
sonic,
so
you
know
the
messaging
is
consistent,
yeah,
but
christine-
and
I
worked
with
her
all
week
on
on
that.
So
that's
good,
but
she
gave
a
real
nice
overview.
I
thought
it
was
really
a
good
high
level
of
the
whole
thing,
and
you
know
her
perspective
on
it
was-
was
good,
sometimes
we're
in
the
weeds
here
and
he
gives
a
nice.
You
know
twenty
thousand
foot
bubble
thing.
I
really
liked
it.
G
C
What
I
wanna
do
chris
is
post
that
link
in
the
github
as
soon
as
we
have
the
publication.
G
F
It's
actually
good
that
we
were
invited
to
talk
at
a
p4
conference
about
sonic
and
dash,
so
I
thought
that
was,
you
know,
really
good
testament
to
the
interest,
and
I
think
I
think
it
shows
that
people
do
understand.
That
dash
is
complementary.
It's
not
taking
over.
I
pdk,
it's
not
taking
over
p4,
it's
not
trying
to
supersede
open
ssl,
that's
it's
not
any
of
that!
It's
actually
complementary
to
it,
and
I
think
the
fact
that
they're
already
inviting
us
to
to
talk
at
their
conferences
is
a
testament
to
the
acceptance
of
that.
F
This
is
a
complementary,
open
group
and
it's
not
trying
to
shut
down
any
other
effort
actually,
and
so
it's
not
instead
of
any
other
effort.
It's
complementary.
I
think
you
know
that's
why
they
did
invite
us
and-
and
it's
good
to
know
that
people
are
understanding
that.
B
Yeah,
yes,
oh,
go
ahead,
sorry
to
interrupt
chris
right.
I
just
want
to
add
because
the
previous
meeting
I
was
in
the
opi,
open
programmable
infrastructure
group
right
and
then
there
was
discussion
about
testing
and
whatnot
and
where
they're
getting
started,
it's
not
just
we
are
complimentary.
There's.
I
think
that
is.
This
is
kind
of
a
leading
effort,
that's
very
useful
for
a
lot
of
these
communities,
so
they
asked
you
know
one
of
us
to
come
and
present
how
the
testing
is
happening
there.
B
F
F
Leading
exercise
for
sure-
and
I
I
wouldn't
want
anybody
to
think
I
didn't
think
it
was
world
leading
because
it's
all
I
do
these
days,
but
it's
world
leading
in
such
a
way
that
we
can
actually
work
with
all
those
other
groups
and
we
benefit
from
them
by
the
way
and
they
benefit
from
us.
G
Yeah,
just
just
to
since
we're
on
this
topic
about,
you
know
the
cross
pollination.
So
besides
vencat,
I
also
participate
in
discussions
with
ipdk
groups,
opi
et
cetera
and
there's
a
lot
of
awareness
of
dash
throughout
and
so,
and
the
p4
workshop
had
dash
mentioned
in
many
different
situations.
Not
just
shin's
talk
rushman.
I
gave
a
talk
on
dash,
p4
model
and
testing,
and
that
can
be
a
resource
also.
G
In
fact,
it
would,
if
had
guru
watched
that
video
he
would.
A
lot
of
his
questions
would
have
been
answered
because
he
was
asking
about
well,
how
are
the
psy
headers
generated?
It
was
almost
like
a
lead-in
right,
so
it's
all
good.
The
other
topic
I
wanted
to
bring
up-
and
I
see
that
prince,
is
on
the
call.
Hopefully
he
can
help
answer
we
from
a
testing
standpoint.
G
We
still
need
this
sort
of
canonical
format
for
test
configuration
information
like
a
json
file
or
something
like
that,
and
we
need
something
you
know
definitive
sooner
rather
than
later,
because
we're
going
to
start
creating
test
cases
and
we
don't
want
to
go
too
long
with
interim
formats
or
ad
hoc
ones,
because
there'll
be
some
rework.
G
D
Yeah
yeah,
I
think
sure
chris
I
I
think
this
plan
is
one
of
our
yeah
major
next
step,
so
either
we
can
call
for
a
separate
meeting
or
I'm
currently
trying
to
define
the
topologies
that
are
required
for
the
sonic
management
part.
So.
G
C
G
D
D
One,
I
would
say
we
will
have
to
refer
to
the
to
the
sonic
hld
and
define
the
the
db
objects
based
on
that.
So
we
have
done
that
in
the
past.
Like
you
know,
from
the
db
schema,
we
defined
the
the
json
files
that
can
be
applied
as
a
configuration
right
so
yeah.
I
see
what
you're
asking
so.
This
is
all
like
part
of
the
sonic
management
test
plan,
so
I'm
not
sure
like
when
we
should
have
a
discussion
on
that.
G
Use
that-
and
I
would
think
that,
if
p4
is
the
source
of
truth,
we
could
actually
almost
derive
all
schema
from
the
p4
code.
I
don't
know
if
that's
true,
but
really
would
be
nice
to
have
a
starting
point
that
everything's
auto-generated,
if
they're,
all
just
like
black
translations
from
one
way
of
doing
it
to
another,
but
they're
all
identical
should
be
possible.
Auto
generated
it's
not
like
traditional
sonic,
where
there's
a
huge
structural
transformation,
sometimes
from
a
config
into
a
psi
representation.
G
You
know,
there's
there's
statefulness,
there's
an
orchestration
I
was.
I
was
thinking
that
the
p4
code
can
somehow
be
related,
almost
algorithmically
to
every
schema
layer
in
the
stack.
If
that's
true,
you
should
be
able
to
write
code
to
generate
or
transform
between
any
layer
like
python
code,
for
example,
so
that
that's
maybe
we
can
have
a
brainstorming
or
something
on
this,
because
we
do
need
to
settle
in
something.
So
we
start
writing
test
cases
and
don't
have
to
rewrite
them.
If
that's
possible.
G
Okay,
we're
already
we're
already
doing
testing
the
lab
and
we're
having
to
invent
schema.
You
know
ad
hoc,
so
that
that's
the
mission-
and
maybe
I
never
explained
why
we
need
this
now
and
not.
You
know
six
months
from
now
and
you
know
we
can
always
have
a
one-on-one
on
this.
If
you
want.
G
C
Sounds
good,
if
any,
do
you
guys
have
anything
else
or
should
I
stop
the
recording
for
the
day
where
it
looks
like
we're
two
minutes
out.