►
From YouTube: DASH Behavioral Model WG Aug 4 2022
Description
Underlay PR176 Marian - fixes
Mukesh: PR167 Fix SAI object create error in libsai adapter
Vijay Srinivasan: PR163 add vnet table to the pipeline; bring into line w/gNMI wrt VNET_ID and VNET_Table
A
A
B
B
So
previously
we
had
source
ip
after
ncop
disconnected
from
the
virtual
ip
that
the
packet
came
with,
so
they
could
be
theoretically
programmed
different.
B
B
B
So
now
it
is
solely
based
on
the
web
table.
So
we
have
already
apis
to
program
that,
and
now
we
are
just
making
sure
that
it
will
be
the
same
in
the
end
cap
yeah
and
the
small
comment
for
the
appliance
table
that
this
table
should
be
implemented
using
underlying
size.
So
this
is
still
a
pending
work.
There
are
still
attributes
to
this
table.
If
you
see
there
is
the
underly
source
mac,
which
corresponds
to
to
size
switch
attribute
default
mac,
something
like
that
and
also
we
should
probably
properly
program
the
neighbor
max.
B
So
this
will
be
added
later
for
now,
I'm
just
removing
the
sim
because
it
belongs
to
the
virtual
ip
table
this
value.
Yes,
so
there
is
no
api
changes.
This
table
is
not
generated
api,
so
it
doesn't
affect
anything
yeah.
So
it's
just
the
behavioral
model.
C
D
D
B
I'd
say
we
we
are
pretty
close
on
vinnie
to
venus.
What
we
are
still
missing
is
one
pull
request
by
if
I'm
not
mistaken,
vj,
which
is
to
add
an
abstraction
for
venus,
which
will
be
exactly
mapping
psi
apis
and
behavioral
model
to
control
plane
to
the
gmi
apis,
and
then
we
are
pending
some
of
the
clarifications
and
examples
for
inbound
routing.
B
Maybe
it
will
require
some
change,
and
after
that
I
am
almost
confident.
We
can
declare
that
v-net
to
v-net
flow
is
pretty
much
finalized
apis
at
least
then
in
the
behavioral
model.
We
can
still
improve
on
that,
but
it
will
be.
Just
I
don't
know
stuff
like
maybe
ipv6
support
somewhere
is
missing,
like
connection
tracking
is
not
yet
fully
implemented,
so
we
don't
have
stateful
acl,
but
just
for
testing
one
packet,
I
think
being
a
tv
net
is
like.
I
don't
know
one
to
two
weeks
away.
D
Well,
that's
good
because
it
would
be
probably
a
waste
of
effort
to
do
any.
Let's
say
comprehensive
test
cases
until
some
of
these
things
are
stable
right,
because
every
test
would
break
every
time.
We
do
change
like
this
or
some
would
so.
We
need
to
pick
a
point
where
we
say:
okay,
we
think
we're
you
know
95
stable
on
the
on
some
things.
We
can
always
be
adding
features
later
that
require
new
test
cases,
but
we
don't
want
to
have
a
lot
of
churn
right.
D
B
Yeah
exactly
and
the
interface
for
tests,
since
it's
psy
we're
talking
about
side.
Thrift,
as
I
said,
seems
to
be
like
we
have
redone
acls.
This
is
by
mukesh,
looks
like
that's
the
how
they
how
they
should
be.
It
supports
all
of
the
atomic
updates,
all
that,
so
I
don't
expect
much
more
changes
and
it
was
helpful
for
to
have
a
reference
from
sonic
design
to
cd,
to
see
the
control,
plane,
apis
and
schema
and
to
be
able
to
cross
reference
that.
B
So
we
that
way,
we
found
everything
that
was
still
not
okay
with
the
behavioral
model,
and
now
I
am
much
more
confident
and
can
say
that
it
it
almost
matches.
We
are
a
few
comments
away.
D
Good,
we
can
maybe
somehow,
as
a
team
collaborate
on
defining
some,
let's
say,
exemplar
test
cases
that
make
a
nice
vertical
slice
through
everything
and
expose
all
the
assumptions
right
just
to
make
sure
like
a
sanity
check
and
then
once
we
think,
that's
good.
We
can
then
elaborate
on
test
cases
right,
yeah,.
B
I
think,
as
a
base
point,
there
is
a
nice
kind
of
test
case
description
in
the
sonic
design.
We
just
need
to
expand
on
that
by
using
the
conversion
to
sci
apis
and
but
it's
an
base
that
I
probably
will
start
with.
E
So
in
the
same
way-
and
you
know
I
just
want
to
oh
sorry,
chris
yeah-
sorry
so
in
the
same
vein,
I
just
wanted
to
find
out
as
we
are.
You
know,
uploading
psi
apis
in
ocp
repo,
and
I
guess
I
I
heard
in
one
of
the
calls
that
microsoft
is
picking
up
some
of
those
header
files
and
integrating
into
the
sonic.
You
know
for
dash
use
case
and
then
testing
them
out.
E
B
E
B
I
think
we're
talking
about
the
same
thing.
If
you
go
to
the
there's
repo
there
is,
I
will
be
updating
it
today
by
the
way,
but
there
is
this
table
fdb
to
science
mapping.
This
is
basically
both
my
feedback
to
sonic
and
microsoft's
feedback
to
psy.
B
The
goal
of
providing
this
table:
where
is
it?
Oh,
it's
not
at
the
end
here
it
is,
you
see
there
is
a
mapping
from
the
fdb
table
to
psi
attributes.
This
is
essentially
what
the
sonic
implementation
needs
to
code
and
all
of
the
blank
spaces
comments
in
this
pull
request.
B
Questions
in
line
this
is
everything
that
is,
that
was
not
yet
finalized.
So
all
the
feedback
was
contained
in
this
table.
You
can
go
to
the
school
request
and
check
check
the
feedback
from
both
sides.
B
It's
called
good
good
fdb
to
sci
mapping
yeah.
Please
review
that.
It's
it's
very
useful
to
understanding
how
the
sonic
design
maps
to
our
site
apis.
E
E
A
E
So
my
question
is
that
you
know
some
some
internal
integration
happening
at
microsoft,
as
we
all
know
right,
taking
all
the
psy
apis
from
those
you
know,
ocpsi,
repo
and
then
integrating
with
sonic
and
then
validating
the
we
need
to
minute
use
case.
So
I
just
wanted
to
understand
what
is
the
timeline
by
which.
A
We're
trying
to
go
as
fast
as
we
can
for
sure
you
know
prince.
Do
you
have
any
ideas.
F
Yeah,
so
so
this
implementation
of
of
appdb
and
and
invoking
the
psi
apis
that
we
are
targeting
for
end
of
august
and
and
with
that
we'll
try
to
do
as
much
as
testing
possible
like
using
the
virtual
switch
and
and
the
behavioral
model
like
or
maybe
like
sciatica,
if
we
haven't
finalized
on
that.
But
but
the
implementation
completion
plan
is
by
end
of
august.
F
A
Will
include
prince
the
controller
part
as
well.
F
Right
so
so
the
controller
part
is
attract
separately
by
by
like
as
part
of
the
gnmi
integration.
So,
oh
I
I
heard
I
I
had
a
conversation
with
them
last
week,
so
it's
almost
ready
and
they
have
given
me
a
like
a
not
a
fully
g8
version
of
the
the
gnmi
docker,
but
like
a
test
docker,
so
that
I
can
verify
all
our
gnmi
apis
but
yeah,
but
that
time
not
completely
sure
of
the
timeline
like.
When
can
we
be
like
production,
ready
or
gi
ready,
but.
F
Yeah,
it's
it's
both
are
in
progress.
Actually.
E
Yeah,
so
I
I
guess
in
in
that,
in
that
sense
the
question
would
be
that
as
princess
you
guys,
are
doing
this
integration
with
sonic.
A
E
How
are
you,
how
do
you
plan
to
test
it,
in
other
words
like
what
rachel
was
asking
if
there
is
a
controller
or
any
any
docker
gnmr
docker
making
making
jnama
calls
to
sonic
and
then.
E
F
Got
it,
but
typically
what
we
do
for
these
kinds
of
testing?
We
don't
rely
fully
on
that
controller
right
because
we
can
generate
all
the
the
app
db
by
through,
like
you,
know,
json
and
push
that
to
the
sonic
device
right,
the
appliance
card
that
is
running
sonic
right.
So
so
we
we
are
not
blocked
or
totally
dependent
on
the
controller
to
come
and
push
the
configs
right.
So
so
that's
once
it
is
ready.
Of
course
we
can
use
that,
but
but
otherwise
we
will
use
some
json
configurations
to
to
push.
F
A
Okay,
once
we're
done
sure
pj
do
you
have
a
question.
G
Hey
yeah
marion,
so
you
mentioned
last
time
that
you
had
some
pa
validation,
inbound
site
changes
too
right
for
behavioral
model.
Is
that
something
that
you're
gonna
be
raising
up
here?.
B
B
G
Yeah,
the
other
thing
is,
I
I
just
wanted
to
discuss
the
we
need
table
pr,
also,
maybe
yeah.
We
can
do
that
later.
We
can
go
in
sequence.
Maybe
we
can
discuss
mukesh's
pr.
First.
B
H
Yeah,
so
this
pier
is
to
fix
the
libsar
error
that
we
get
when
we
try
to
create
a
psy
object,
for
example,
the
eni
object.
H
So
what
is
happening
is
that
for
the
psi,
b4
tables
that
are
actually
psi
objects
we're
returning
an
object
id
from
sky,
and
this
object
id
is
something
that's
generated
by
the
lib
style.
H
So
today,
in
our
lip
sci
reference
implementation
for
bnv2,
we
don't
actually
push
this
id
into
p4
itself,
so
that
was
the
error.
So
so
I
had
raised
an
issue
for
this
one
and
basically
the
fix
is
to
change
the
api.cpp
template
to
fill
in
the
p4
key
by
first
generating
that
object
and
then
filling
it
into
the
key.
H
This
does
not
change
any
psi
apis
or
anything.
It's
just
a
implementation
change
and
the
utils
have
changed
a
bit
to
like
kind
of
generate
an
object
without
inserting
it
constantly,
but
first
we
need
to
generate
the
index
alone
today.
The
way
it's
done
is
along
with
the
table
insert
the
index
is
also
generated,
so
I've
separated
out
the
api.
H
So
one
one
issue
that
I
I've
been
facing
with
this
side:
thrift
is
that
the
there
was
another
table
that
was
added
recently
is
the
actual
group
table
and
the
eni
is
now
having
references
to
that
table.
So
I
changed
the
when
I,
after
I
rebased
to
the
latest.
I
change
the
eni
create
to
include
references
to
the
actual
group,
so
this.
B
H
It's
not
managing
I'm
just
trying
to
say
that
when
I
tried
to
do
this
it
there
was
an
issue.
Currently
I
have
it
empty,
but
what
I'm
saying
is
there
is
some
issue
with
the
dash
aqua
group
create
in
the
thrift
alone.
H
The
we
net
out
test
works,
so
I
was
able
to
create
a
dash
aqua
group
and
then
get
the
group
id
and
fill
it
into
the
different
stages
here
for
the
eni
and
it's
passing,
whereas,
if
I
do
the
same
in
the
thrift,
this
create
dash,
active
group
fails
or
actually
it
doesn't
even
reach
the
server
for
some
reason
so
and
it
returns
a
null
object
id
and
then
it
fails
here.
So
currently,
I've
just
had
coded
the
group
id
and
the
eni
create
goes
through
in
the
thrift
as
well.
D
Yeah,
just
yeah,
we
can
try
to
work
offline.
I
just
wanted
to
ask
you
know,
while
marion's
on
the
call
too,
is
there
any
fixed
psi
api
that
might
be
involved
in
this,
as
opposed
to
auto-generated?
That
comes
from
the
code,
because
I've
had
to
manually
create
some
fixed
apis
like
switch
attributes
and
things
like
that.
Could
we
be
running
into
anything
there.
D
H
H
H
B
H
So
I
I'm
just
doing
it
based
on
how
it
was
already
done,
except
that
so
it
was
just
generating
a
unique,
a
global
variable
with
an
incrementing
id.
H
F
B
To
your
pull
request,
just
thinking
out
loud
because
sometimes
the
object
id
is
used
not
only
for
creating
up
for
referencing
an
object
but
for
other
instances
which
might
not
be
relevant
yet
so
yeah
not
a
big
deal.
H
A
H
I
added
marion
and
chris
okay.
D
I
I
had
a
couple
questions:
okay,
but
someone's
ahead
of
me.
D
One
question
is
to
prince
you
mentioned
in
passing
that
you
might
be
integrating
the
sonic
vs
and
you
also
might
be
integrating
against
this
behavioral
model.
So,
given
all
the
talks,
we've
had
about
the
current
behavioral
model
structure
with
the
dockers
and
the
workflow,
is
there
enough
there
that
you
can
integrate
to?
As
is
or
will
you
need
some
kind
of
changes
to
make
it
easy
to
integrate?
Your
stack.
F
So
I
think
from
my
current
understanding
we
have
we
have
everything
that
is
required,
but
one
thing
is:
we
haven't
started
on
on
that
that
integration,
yet
so,
maybe
once
we
start,
that
process
is
when
we
realized,
probably
some
missing
pieces.
So.
D
D
D
So,
okay,
good.
Let's
have
that
chat
when
the
right
the
time
is
right.
The
other
thing
I
wanted
to
just
ask
the
team
at
large
there's
been
a
lingering
issue
with
which
port
we're
sending
packets
out
in
the
behavioral
model.
It's
always
sending
them
out
port
one
just
because
no
one's
ever
bothered
to
look
at
that
piece
of
code,
but
can
someone
along
the
way,
just
change
to
egress
spec,
to
equal,
the
ingress
port
or
something
because
all
the
packets
are
coming
out
part
one
right,
we're
not
really
no
one's
ever
really
pay
attention.
D
D
H
I
noticed,
while
doing
the
pr
was
that
the
recent
make
it
takes
a
while
to
complete.
I
know
it
was
very
fast
before
yes,.
D
The
scytheriff
server
compile
is
large.
Now,
if
you
want
to,
depending
on
what
you're
doing-
and
I
wanted
to
spend
a
little
time
trying
to
document
typical
workflows
for
developer,
like
you're
just
compiling
the
p4
code,
you
want
to
see
if
the
code
works
just
type
make
p4,
you
don't
have
to
wait
for
everything.
D
H
It
but
I'm
not
sure
if
the
dependency
is
all
like
the
fastest,
that
it
can
be,
because
sometimes
we
see
that
the
meta
thai
meta
is
getting
built
multiple
times,
maybe
at
least
more
than
one
second
vijay
also
probably
noticed
this
yeah.
D
Yeah
five
minutes
being
done
to
create
libside
and
then
it's
also
being
called
to
do
the
scithrift
server.
But
it's
like
a
whole
separate
process.
I'm
sure
there's
room
for
optimization
and
I
welcome
people
to
to
get
under
the
hood
and
start
doing
that.
D
It's
a
lot
of
work
right
to
really
fine-tune
it
and
help
is
welcome.
Yeah,
look.
A
At
that
look
at
it
as
well,
you
look
at
it
as
well.
D
G
Yeah
yeah,
I
think,
like
especially
when
you're
incrementally
making
changes
to
the
scythe
rift
tests
like
the
python
test.
Then,
if
you
want
to
test
something
and
do
make
all
yeah,
it
gives
an
error
at
the
end
of
a
long
make
run
and
then
you
go
fix
it
and
then
run
it
again,
so
that
yeah
those
iterations
are
kind
of
longer.
Now
that's
the
thing.
D
Because
it's
breaking
every
time
well,
if
you're
doing
iterative,
pi
test
changes
like
you're,
just
writing
scripts
and
you
don't
need
to
change
libs,
psi
or
p4
code.
Then
you
don't
need
to
make
all
at
all.
You
can
keep
the
switch
and
the
server
running
the
whole
time
and
just
edit
the
ptf
test
in
real
time.
I
don't
know
if
people
caught
me
demonstrating
that
last
week,
but
I
actually
showed
how
I
was
inside
the
side.
D
It's
like
you
know,
30
seconds
cycle,
there's
no
need
to
make
all
when
just
writing
ptf
tests,
and
so
if
people
have
questions
on
that
and
need
a
refresher
first
of
all,
maybe
check
out
the
video
where
I
show
that-
and
you
know
you
can
always
just
contact
me
but
make
all
is
like
only
when
you
really
need
to
it's
pretty
slow,
but
we've
got
a
big
system
now
and
and
and
if
there's
questions
about
the
best
way
to
do
certain
workflows,
I'd
like
to
capture
some
of
that
in
a
quick.
D
You
know
quick
start
for
developers,
you
know
just
like
bullet
list
of
the
best
workflows
and
then
you
can
always
deep
dive.
If
you
need
to
learn
more
just
it's
it's
hard
to
capture
it's
hard
to
perceive
all
the
questions.
People
will
have
when
you're
doing
this
stuff,
but
once
people
start
using
it,
it
becomes
clear
what
the
pain
points
are
so
be
vocal.
G
G
But
I
think
there
is
one
when
I
was
trying
to
modify
the
test.
There
is
a
eni
to
vna
table
which
is
removed
now,
so
I
cleaned
up
the
v-net
out
test
and
also
the
scift
v-net
test,
but
there
is
I'm
not
able
to
add
the
outbound
v-net
entry
because
we
don't
have
that
object
id
fixed
yet
which
is
coming
from
mukesh's
pr.
So
for
now
I've
cleaned
up
all
the
references
to
eni
to
vienna
entry,
and
I
have
not
yet
added
the
outbound
v-net
table
entry
create.
G
So
is
this:
should
we
like
merge
it
as
is,
and
then
add
the
v-net
entry
create
in
a
separate
pr
or
do
you
want
me
to
wait
for
locations
pr
to
go
in
and
then
make
changes
to
this?
On
top
of.
B
G
Yeah
yeah
sounds
good
yeah,
so
I
liked
a
few
more
tests
here
to
create
the
vena
table
entry
and
then
update
the
peer.
A
Sorry
have
to
learn
how
to
filter
here,
so
how
about,
if
we
filter
on
waiting
for
resource,
so
it
looks
like
at
some
point
we'll
need
to
write
apis
for
state
machine
testing.
We
were
supposed
to
check
back
today
on
connection
tracking
and
compiler,
which
is
dependent
on
the
simulator
how's
this
one
going.
B
Yeah,
it's
not
really
dependent
on
the
simulator,
but
yeah
we
have
all
of
the
patches.
I
will
be
adding
this.
H
Great
hey
marion
regarding
this
connection,
tracking,
we'll
be
looking
at
the
p4
side
of
the
strength
from
amd
pencendor.
Can
we
sync
up
with
you
on
what
changes
is
going
into
the
bmv.
H
H
B
D
B
So
there
is
still
some
work
to
be
done,
specifically
the
compiler
generates
for
for
each
apply
of
the
table.
It
generates
another
instance
of
the
table
and
when
the
table
is
self-learning,
we
need
to
maintain
all
of
them
simultaneously
like
update
all
of
them
at
one
time
when
there
is
a
add-on
miss.
B
B
B
D
Okay,
so
putting
that
aside
for
the
moment,
you're
thinking
you
want
to
just
get
it
stabilized
a
little
bit,
get
the
big
problems
out
of
the
way
and
then
somehow
transfer
that
to
the
stash
repo
and
we'll
build
build.
Yeah
yeah
probably
build
a
docker
file
out
of
it
like
we're
doing
and
then
just
integrate
into
this
workflow.
B
B
D
D
D
It
won't
just
be
or
clipped
it
over.
We'll
have
to
do
some
yeah
massaging.
E
So
does
this
so
does
this
bm
b2
that
we
are
using
right
now?
Does
this
match
the
current
pna
spec.
B
D
E
D
Are
we
planning
to
that's
what
people
have
been
working
on
kind
of
in
a
fork?
It's
not
really
visible
to
everybody,
but
there's
been
this
ongoing
development
championed
by
nvidia
with
other
people
helping
now
that's
going
to
be
the
properly
modified
behavioral
model
that
has
the
pna
foot
connection.
Oriented
enhancement
we'll
need
to.
You
know
basically
build
bmv
2
from
source
because
it's
modified
turn
it
into
a
docker
image
that
we
can
then
run
in
the
dash
repo
to
replace
the
vanilla
one.
A
That's
this
one:
I'm
displaying
right
here
right,
aligning
with
dna,
yeah,
yeah.
D
B
A
G
Yeah,
I
think
this
is
just
removing
the
ena
id
from
the
key.
The
change
itself
is
simple,
but
since
marion
had
mentioned
that
he
had
more
changes
coming
in
in
that
pa
validation
area,
so
we're
just
holding
off
on
this.
A
A
I'm
sorry,
okay,
I
have
to
turn
it
into
an
issue
I'll.
Do
that
later.
Okay,
I'll
do
that
brian
and
then
the
other
one
was
did
we
want
to
look
at
anything
that
was
blocked.
F
A
A
So
the
history
of
this
was,
we
were
trying
to
decide
on
connection
tracking
and
they
dug
up
a
piece
of
existing
open
contrail.
I
believe
it
was.
We
decided
we
should
probably
use
that,
and
so
the
decision
was
made
and
then
mario
baldy
was
going
to
actually
do
the
coding.
Do
I
have
that
right
guys
and
then
we
kind
of
got
stuck
yeah.
C
C
So
so
we
were
wondering
and
honestly
unfortunately,
I
don't
remember
if,
in
the
past
discussions
we
ever
discussed
is
whether
there
is
an
interest
also
in
having
actual
connection
and
tracking.
A
I
believe
gerald
had
wanted
connection
tracking
and
then
we
could
actually
test
for
whether
the
connections
were
being
tracked
through
the
model
as
well
remind
me,
you
guys,
can
you
help
me
remember
yeah,
but.
C
Number
acknowledgement
numbers
the
contrail
model.
The
control
code
is
not
doing.
That
is
just
dealing
with
adding
connection
to
the
connection
table
and
removing
them
handling
the
timers,
which
is
already
a
lot.
We
have
discussed
a
lot
about
it,
but
there's
no
actual
tracking
of
the
connection.
While
it
is
open.
C
B
Yeah
yeah
right
right,
you,
mario,
what
we
are
talking
about
mainly
is
connection
learning
for
stateful
acl.
It's
not
really
connection
tracking,
with
sequence
numbers
with
window
validation
and
so
on.
I
don't
believe
there
is
such
a
thing
required.
C
Yeah
but,
but
I
don't
know,
it
could
be
interesting
to
consider
because,
especially
in
the
context
of
of
firewalling
and
security,
if,
if
we
keep
track
of
the
connections
but
then
allow
packets
that
are
not
conformant
with
with
tcp
could
be
a
security
threat
and
and
the
possible
denial
of
service
attack.
C
So
I
know
I
mean
I
just
wanted
to
to
raise
the
point
because,
as
we
were
discussing
internally
on
what
was
there
to
implement,
we
we
got
to
this
point,
and
I
couldn't
remember
if
this
was
ever
discussed
and
I
guess
it
was
not.
But
it
may
be
worth
discussing.
A
We
set
that
up
for
the
next
call,
then
you
guys,
you
know,
because
it's
10
49
now
and
we
could
talk
about
this
specifically
in
the
next
call.
If
you
like,
or
I
can
do
a
separate
meeting
with
us
and
gerald
yeah.