►
From YouTube: DASH Behavioral Model WG Nov 10 2022
Description
Underlay routing for overlay tests to run on bmv2 or hardware
Volodymyr writing functional tests for overlay, but have expectations on underlay routing, cannot run on bmv2 as written.
Underlay MAC and possibly DMAC programming, perhaps another table. Minimalist SAI API to support it.
A
B
C
D
E
E
I
mean
you
can
do
a
prefix
lookup
to
know
where
it's
going
and
also
what
the
ethernet
area
is,
or
you
can
just
limit
to
ethernet
header,
but
I,
don't
know
no
for
me,
it's
just
basic
writing
you
look.
The
prefix
gives
you
the
port
and
the
destination
Mac
and
yeah.
D
But
it's
not
that
simple
and
you
want
to
map
this
properly
to
say
apis
either
you
do
the
full
mapping
to
the
prefix
to
the
next
drop
to
the
neighbor
and
then
I
don't
know
FDB
whatever,
or
we
only
say
that
we
have
an
assumption
that
two
ports
are
connected
to
a
gateway
and
the
only
thing
they
have
is
is
a
default
gateway
and
we
don't
care
which
Port
the
packet
egresses
a
lot
as
long
as
the
this
nation
Mac
is
a
proper
one.
E
A
So,
but
just
to
be
clear
here
so
anyway,
so
here
is
even
with
this
minimal
support.
If
that
Port
will
be,
you
know
sent
back
from
the
same
interface
right
so
default
route.
I
understand
it.
It's
something
that
complicated
in
the
bmv2
this
moment
and
doesn't
work,
but
next
hope
neighbor
is
something.
That's
can
also
be
added.
B
Do
that
we
definitely,
you
know,
want
to
lose
the
same
test
cases
across
bmv2
and
Hardware.
That
is
the
only
goal
based
on
that.
You
know
if
there
is
a
small
amount
of
work
that
is
needed,
so
we
don't
have
the
change
the
test
cases
for
bmb2
and
Hardware
that
everyone
can
use
it
will.
It
will
be
really
helpful
right.
D
D
Which
is
done
by
the
overlay
pipeline
like
what
exactly
do
you
want
to
test?
Accept?
I,
agree
that
we
need
to
be
able
to
accept.
The
API
calls
like
what
would
be
the
past
criteria
for
the
underlay
testing
for
dpu.
A
A
This
is
important,
but
but
once
it
is,
there
is
a
traffic.
So
probably
there
is
few
points
where
we
test
it,
but
I
need
to
check
it.
So
I
can
send
it
to
you,
but
I
think
maybe
it
can
be
like
a
Basics
tests
can
be
there
then
just
verify
the
throating
also
passes.
You
know
on
your
Hardware.
D
D
A
The
first
thing
for
the
underlay,
as
I
said,
is
to
have
the
configuration
of
the
routing
correctly
that
in
this
case,
that
this
case
will
work
on
the
bmv2
and
the
hotter.
So
we
don't
want
to
have
the
if
else
or
modification
of
this
case
to
be
able
to
perform
it
on
on
the
hardware.
This
is
the
first
thing,
so
we
do
not
do
in
the
PDF
test
cases
that
we
have
in
the
dash
which
assumed
testing
called
overlay
right.
A
B
So
we
have
ordered
that
Marianne
to
for
dash
some
of
the
test
cases
and
the
device
that
has
fewer
ports
yeah.
A
lot
of
work
has
gone.
D
F
I
guess
one
way
to
think
about
this
is
one
way
to
think
about.
Let's
say
bloodable.
Let's
say
you
configure
the
default
problem,
all
that
right
and
the
in
the
in
the
implementation,
the
BMV
to
implementation.
We
just
ignore
all
that
we
can
continue
to
do
what
we
do
today,
which
is
just
send
it
back
out
on
the
same
port
where
the
packet
arrived,
I,
think
I
think
the
question
I
think
what
Marion
is
trying
to
ask
is
there
is
the
test
would
still
work
right.
Can.
E
All
talking
about
test
cases,
the
final
requirements
you
get
bmv2.
You
also
have
vendor
specific
floor
code
right,
not
using
vmv2,
necessary
I
mean
we
need
to
have.
What
do
you
expect?
What
is
the
behavior?
You
expect
Define.
F
That
behavior
is
I,
think
the
behavior
is
clear
that
we
have
to
have
PSI
the
basic
side
routing,
but
I
think
what
we're
trying
to
do
here
is
from
the
BMV
to
perspective.
What
needs
to
be
what
minimal
thing
needs
to
be
implemented?
My.
F
Yeah,
so
just
my
question
was
so
if
the
intention
is
to
have
the
same
test
case,
to
be
able
to
run
for
both
the
bmv2
and
Hardware.
So
let's
say
the
test
case
actually
goes
and
configures
the
routing
and
all
that.
But
the
implementation
of
the
BMV
to
implementation
just
simply
ignores
all
that
right,
and
it
just
sends
out
the
packet
back
out
on
the
same
interface
that
it's
received
on
the
test
would
still
work
right
because.
F
Is
saying
because
if
it's
a
default
route,
if
you
assume
that
the
configuration
is
always
a
default
route,
that's
pointing
to
both
the
interfaces
right,
which
is
what
is
the
configuration
requirement
if
you're
seeing
from
Microsoft,
then
then
the
test
would
still
work
and
the
only
Gap
that
I
see
is
the
underlay
Mac
address
that
was
pushed
that
needs
to
somehow
be
encoded
in
the
packet.
F
The
the
interface
selection
itself
doesn't
seem
to
matter
so
much
I
think
that's
what
Marine
is
also
making
the
point
that
the
current
way
should
should
still
work.
Fine.
F
Yeah,
your
frequency,
somehow
Plumbing
the
MAC
address
that
was
passed
in
Via
this
I
existing
style
API
and
get
that
into
the
underlying
Mac
of
the
dash
by
BMV
to
pipeline
I.
Think
we
are
good
to
go
right.
D
E
B
Is
something
we
can
reuse
right,
but
would
the
people
need
any
modification
to
make
sure
this
works.
G
G
D
F
G
F
A
H
So
the
behavior
we're
talking
about
the
packet
being
sent
to
the
output
port.
Sorry,
a
packet
coming
in
being
sent
to
the
same
port
on
output.
C
A
H
So,
on
the
real
Hardware
you're
saying
say
with
a
two
Port
dpu:
you
want
to
be
able
to
send
packets
in
one
port
and
have
them
come
out
the
other.
That's
the
that's
the
desire,
that's
the
requirement.
A
D
F
D
E
E
D
Not
exactly
because
hashing
for
ecmp
is
not
equal
across
implementations,
I.
E
Know
writing
can
be
complex
with
multiple
levels
and
all
that
which
I
don't
think.
We
agree
on.
D
C
I
think
if
I
can
so
I
think
what's
being
proposed
here
is
Dash
test
that
tests.
You
know,
group
based
Echoes
and
all
kind
of
stuff
assume
a
simple
routing
configuration
that
the
bmv2
implements
that
will
work
on
bmv2
in
this
simple
configuration,
it'll
work
on
Hardware
in
a
very
simple
configuration.
C
A
Yeah
so
for
under
latest
testing,
I
wanted
to
say
before
so
we
have
like
different
set
of
test
cases
that
can
be
used
for
testing
your
dpu
and
underlying
support,
because
you
know
so
currently
we
already
have
those
test
cases
and
there
is
a
PDF.
This
cases
that
Intel
has
been
attributed
into
the
site
repo,
so
that.
F
A
B
And
so
at
the
moment
we
have
that
and
yes,
it
can
be
run
via
using
bnb2
or
real
Hardware,
but
for
the
dash
pipeline
to
be
supported
in
BMV
too,
and
the
test
cases
that
we
are
writing
that
are
applicable
to
both
real
hardware
and-
and
you
know,
I'll
be
in
between-
can.
B
No,
no,
what
I'm
saying
is
that
underlay
is
like
a
separate
topic
where
you
know.
Whatever
we
have
contributed,
it
works
on
a
smart,
Nick
sort
of
a
device,
so
it
can
be
tested
on
real
Hardware.
It
can
be
used
to
test
your
Hardware
as
well
as
the
mv2,
if
needed,
you
know,
but
this
topic
is
very
specific
to
Dash
and
whatever
is
needed
for
dash.
We
just
focused
here
to
implement
that
part,
including
the
underlay.
That's
needed.
Okay,.
A
Yeah
so
right
now
we
in
today's
score.
We
do
we
just
trying
to
discuss
the
routing
basic
routing
that
we
need
for
the
dash
but
yeah.
So
the
same
question
will
come
out
for
any
other
underlay
features
also,
and
we
during
the
let's
say,
adapting
the
under
latest
cases
for
for
the
for
the
ipu.
So
we
ask
this
question
and
we
have
some
table
on
the
high
level
design
on
the
dash
with
the
list
of
let's
say
some
underlay
attributes
and
features
that
needs
to
be
supported.
So
it's
currently.
D
A
A
So
the
container
okay
over
here
so
underlay-
and
you
see
it
says
so
this
is
the
list
of
attributes
underlay
attribute.
That
needs
to
be,
let's
say,
supported
by
by
your
dpu.
As
we
understand,
okay,
like
snowboard
policer
Port
attributes
photo
interfaces.
As
we
can
see,
there
is
only
very
small
piece
of
attributes,
Road
switch
and
that's
it.
A
But
right
now
we
are
talking
just
about
the
routing.
You
know
just
to
be
able
to
write
the
test
case.
That
will,
you
know,
run
on
the
bmv2
and
then
without
any
modification
will
be
running
on
the
real
harder.
So
at
this
moment
we
actually
don't
need
to
implement
everything
in
the
BBQ
like
host
interfaces,
but
the
post.
E
E
So
we
need
to
be
able
to
and
cap
the
packet
and
maybe
for
test
cases.
We
plug
a
simple
d-mac
right,
or
maybe
a
simple
writing
next
hop
writing,
but
we
need
a
way
to
maybe
send
the
packet,
as
is
to
a
port
that
is
connected
to
a
real
Rider.
That
will
actually
do
all
that
all
the
routing
functionality
that
need
to
be
done
right.
D
Yeah
I
I
think
what
you're
talking
about
is
more
related
to
a
Smart
Switch,
but
then
again,
there
are
different
sites,
even
in
the
Smart
Switch
software
architecture.
The
switch
side
is
separate
from
the
dpu
side
and
the
full
routing
with
the
uplinks
down
links
Etc,
you
configure
switch.
Sorry
sorry.
E
D
Ports
have
the
same,
not
the
same
desktops
but
yeah.
You
can
kind
of
simplify
the
next
hops
neighbors
and
all
that
you
can
kind
of
compress
them.
I.
D
I,
don't
think
we
need
to
support
per
router
interface.
Sonic
doesn't
do
that.
A
A
A
Okay,
okay,
so
it
looks
like
okay,
so
maybe
I
will
open
the
issue
on
the
this
stuff
if
this
field
is
redundant,
so
we
we
can
for
everyone
to
make
it
clear
that
the
source
Mac
address
should
be
the
mock
address
of
the
switch.
In
this
case,
we
can
also
the
fix
the
test
cases
correctly
and
again.
There
is
another
question
about
the
destination,
so
it
should
result
based
on
the
next
hope
and
neighbor
right.
H
So
destination
so
I'm
still
confused
here
and
I
apologize
for
this
I'm
trying
to
figure
out
for
the
dash
data
plane
in
the
hardware
not
not
to
be
mv2,
but
in
the
the
real
product
we
put
in
a
cap
on
the
packet
for
the
v-neck
to
v-neck
case.
H
We
know
what
pack
what
ports
the
packet
came
in
on.
Do
we
need
to
do
an
LPM
lookup
on
the
destination
IP
of
the
encap
we
just
put
on
and
do
routing
on
that
yeah
is
that
is
that
the
intention.
D
But
the
problem
is
that
100
percent
of
the
time
you
will
end
up
with
the
result
that
you,
you
have
a
CMP
of
both
ports
like
any
LPM
lookup,
will
result
in
the
CMP
group
that
contains
both
ports
and
then
you
can
choose
according
to
hashing,
whichever
of
these
ports
and
that's
it.
D
I'm
not
saying
I'm
not
saying
that
we
need
it
in
BMV,
too
bmv2.
E
G
The
dash
feature
set,
but
how
does
that
work
with
8K
when
you're
trying
to
have
one
port
going
to
one
switch,
another
Port
going
to
another
switch
and
you
want
them
to
stay
on
those
ports?
Why
would
you
ecmp.
G
E
C
E
D
B
So
a
Marion
since
you're
saying
what
is
the
correct
Behavior?
Can
we
have
a
bit
of
write
up
on
exactly
how
you
envision
this
to
be
working?
B
It
can
be
later
included
in
the
hld
too,
but
I
think
for
this
group.
It
will
be
very
useful
to
just
you
know,
resolve
this
current
question
that
we
have.
D
No
I
mean
I'm,
saying
again,
I'm
saying
that
there
is
a
definition
of
the
routing
and
side
behavioral
model
and
underlying
side
behavioral
model.
E
Can
we
get
a
clear
picture
of
the
top
of
the
simple
topology
right
I
mean
I.
Guess
that's
why
it
boils
down
to
what
is
the
deployment
case,
so
we
can
actually
figure
out
those
shortcuts,
because
for
me
it's
you
know
when
I
read
about
it,
there's
like
well
result.
The
neighbor,
that's
doesn't
mean
anything.
E
D
H
So
I
mean
I'm
hearing
like
things
that
might
be
well
to
me
up
here,
conflicting.
On
the
one
hand,
folks
are
saying
some
folks
are
saying:
we
need
to
do
full
routing
and
at
the
same
time
I'm
hearing,
but
whatever
routing
is
configured
due
to
the
topology.
It
just
boils
down
to
sending
the
packet
out
the
interface
it
came
in
on
yeah,
so
I
mean
I'm,
not
sure
those
two
things
aren't
the
same.
D
The
thing
here
is
that
Sonic
doesn't
know
that
if
you
have
a
simplified
routing,
you
send
to
the
same
port
or
you
actually
decide
to
do
ecmp
and
calculate
the
hash,
and
all
that
the
the
sonic
will
configure
the
same
apis.
And
that's
where
Voldemort's
concerned
about
the
test
came
from.
A
D
Now
the
question
is:
what
would
be
assuming
we
have
this
configuration?
What
would
be
the
correct,
Behavior
and
the
correct
behavior?
Is
it
doesn't
matter
if
we
really
do
a
CMP
or
if
we
send
the
packet
on
on
the
same
port,
it
came
from
or
like
send
a
port
send
a
packet
on
the
other,
Port
always
doesn't
matter
as
long
as
this
configuration
is
preserved.
E
D
A
A
If
you
talk
about
the
topology
So,
currently
the
PDF
test
cases
that
we
have
in
the
desk,
so
they
assume
that
we
have
a
very
simple
topology.
So
just
you
know
when
the
the
host,
with
students
connected
with
your
device,
it's
two
ports,
and
currently
we
can
send
the
traffic
from
one
port
to
another
Port
but
I.
Think
but.
A
G
You
could
send
large
numbers
of
packets
and
do
a
statistical
look
at
them
and
make
sure
that
it's
not
all
in
one
port
I
mean
we've
done
tests
like
this
at
line
rate,
so
yeah
one
packet
at
a
time
not
helpful,
sending
many
packets
with
large
numbers
of
incrementing
fields
Etc
to
get
entropy.
You
can
do
some
tests.
G
Not
for
Hardware
you
can
do
you
can
do
those
things
you
can
do
that
all
the
time
I'm
still
a
little
bit
hung
up
on
that
when
someone
was
sharing
their
screen.
Where
that
paragraph
below
the
table
of
attributes
said
you
know,
the
dpu
will
do
ecmp
towards
the
two
tours.
But
where
are
the
attributes
in
the
table
above
that?
Let
you
set
those
ecmp
groups.
You
know
the
the
Swiss
light
table
of
attributes
didn't
seem
to
have
things
to
configure
pcmp.
G
D
Agent
has
already
like
it's
just
inherited
implementation
from
the
switch
to
configure
this,
but
to
configure
a
CMP
same
ipdb
schema
same
size.
Apis
can.
G
G
D
G
Yeah,
we
shouldn't
say
a
thing
and
we
shouldn't
have
to
say
things
like
well,
it
inherited
inherits
them
from
the
regular.
You
know
Sonic
requirements.
The
point
of
this
document
is
to
specify
specifically
so
you
know,
otherwise
people
will
get
caught
off
guard
Implement
everything
in
here
and
think
they're
done.
A
D
Yeah
just
open
a
request
that
works
next
to
group
member
yeah,
yeah,
okay,.
A
Okay,
so
do
you
know
if
there
is
some
any
top
issue
that
we
can
use
it
for
discussion?
I
mean
to
agree
that
the
list
of
attributes,
let's
say,
needs
to
be
added
to
being
V2.
A
D
D
We
assumed
that
with
the
required
configuration
such
and
such
attributes
will
be
called,
we
missed,
I,
guess
ecmp.
Maybe
something
else.
D
There
is
no
issue,
it
was
just
added,
based
on
based
on
the
occasion,
implementation
that
we
have
that's
how
this
table
came
out
to
be.
A
D
G
D
The
thought
process
is
the
following:
we
have
a
real
life,
topology
right,
a
dpu
connected
to
two
switches,
blah
blah
blah
bgp
running
there.
Based
on
that,
we
know
that,
based
on
this,
we
know
which
fdp
tables
will
be
populated
and
the
underlay
Sonic,
based
on
that
we
know
wage
apis
will
work
agent
call
and
which
attributes
we
need
to
support.
B
For
the
previous
topic,
just
sorry
you
want
to
summarize
because
it's
10
57-
and
we
will
probably
need
to
continue
this
in
the
next
meeting.
B
Just
to
summarize,
as
the
next
steps
for
the
previous
topic,
maybe
it
is
good
to
add
a
line
in
the
list.
It's
saying
a
list
of
items,
to-do
list
or
bmv2
saying
the
next
top
Mac
address
portion
of
the
routing
or
Dash
pipeline
needs
work
or
basically,
basically
I,
add
that
into
the
internet.
B
Okay,
that
sounds
great
any
other
topics
and
some
notes
that
you
really
would
like
me
to
capture.
Please
do
send
it
to
me
and
I
will
capture
that
and
send
it
to
Christina
I
have
my
own
notes,
but
if
you
like
something
specific
to
be
added,
please
send
it
to
me.
I
Yeah
thanks
vishma
I,
know:
I,
don't
talk
very
often
in
the
meeting.
Just
want
to
introduce
myself
again
as
Yousef
joining
new
on
the
serious
Dash
team,
which
might
have
some
notes
that
to
send
over
I'll
be
sending
you
those
offline
and
we
can
kind
of
connect
on
those
also
want
to
give
a
heads
up
for
everybody.
I
I
think
we're
gonna
the
next
time
we
kind
of
all
get
back
together
for
the
work
group.
A
weekly
meeting,
we're
gonna
do
like
just
a
quick
review
of
the
project
queue
and
a
lot
of
those
a
little
bit
of
those
action
items
haven't
been
looked
at
in
a
few
months,
so
just
want
to
get
an
update
just
from
you
all
and
kind
of
get
a
little
bit
of
feedback
to
see
if
we
can
take
some
things
off
or
just
update
a
few
of
those
line.
I
Orders
but
just
want
to
say
thank
you
for
everybody
just
hopping
on
the
call,
and
thanks
Chris
and
Richmond
for
starting
off
the
call
for
me
kind
of
hopped
on
late.
There
was
in
a
previous
meeting,
but
just
want
to
say
thanks
to
everybody,.