►
From YouTube: DASH Behavioral Model WG Meeting July 21 2022
Description
PR Review: 141, 149, 152
P4 bugs/issues needing volunteers
A
Hi
everyone
I'm
starting
the
recording
and
today's
the
july
21st
version
of
the
behavioral
model
meeting,
and
unless
anyone
had
something
high
priority
to
discuss,
I
thought
today,
maybe
we
could
go
through
the
the
items
here
in
the
list
that
are
blocked
or
waiting
for
a
resource
to
see
how?
Maybe
we
could
make
progress
on
these?
What
do
you
guys
think.
B
B
B
Yeah
for
now,
that's
it.
Let's
stick
to
those
two,
so
I
have
reviewed
this
one.
There
is
my
approval.
We
discussed
it
last
time,
mukesh
presented
it,
it's
direct
being
indirect
and
drop
actions
for
a
routing
table.
So,
from
my
point
of
view,
everything
was
fixed.
There
is.
B
There
are
those
three
new
actions
done
separately.
All
the
infrastructure
in
place
is
is
more
cash
on
the
call,
by
the
way.
B
So
what
about
the
duplicate
attribute?
Was
that
fixed
as
well.
C
Yeah
that
is
fixed
I'll,
raise
one
more
follow-up
here
for
the
the
comments
in
the
side,
with
the
generated
editors
right.
If
there
is
an
ad
condition
and
those
kind
of
things
where
we
have
to
just
say
both
conditions,
both
actions
are
have
to
be,
can
be
allowed
for
this
parameter
right.
So
those
kind
of
things
I
have
to
fix
yet,
but
in
terms
of
the
ipa
header
generation
itself,
it
compiles,
and
it's
fine
now.
B
Yeah,
okay,
so
I
will,
by
the
way
there
is
a
parallel
work
that
needs
to
be
done,
so
I
will
be
doing
it
today.
Based
on
those
pull
requests,
I
will
regenerate
psi
apis
and
submit
will
request
to
cyber
repository,
but
to
finish
on
this
one,
it
has
my
approval.
So
everyone
else
please
take
a
look.
I
will.
B
I
will
give
it
another
day
to
provide
comments
so
yeah.
If
there
are
any
change
requests,
please
submit
this.
One
looks
good
to
me:
I'm
willing
to
merge
it.
So
that's
that's
number
one.
D
B
It
is
on
the
dash
branch
it
already
is
there
you'll
go
to
github,
github
or
cpsi
res
branch
dash,
which
has
apis
over
here,
aligned
with
the
latest
master
master
on
the
dash
repo
like
oh
here,
they
are.
D
B
B
D
So
if
this
were
suddenly
in
the
sai
repo,
let's
say
you
know
tomorrow,
which
I
know
won't
be
how
we're
going
to
integrate
that
into
the
dash
pipeline,
build
system,
because
right
now,
that's
generating
these
and
sort
of
appending
them
or
inserting
them
into
the
files.
What's
what's
your
feeling
that
how
do
we
reconcile
those
two
sources
of
truth.
B
Well,
this
is,
let's
say
a
snapshot.
The
behavioral
model
will
always
have
the
latest
one.
Any
changes
would
be
done.
We
need
to
take
the
all
the
behavioral
model.
Tests
needs
to
be
done
based
on
the
latest
auto
generated,
because
we
are
doing
change
to
the
behavioral
model
first
and
we
get
the
apis.
We
run
the
tests
here.
It
is
a
little
bit,
maybe
a
little
bit
behind.
I
try
to
keep
them
up
to
date.
B
Yeah,
okay,
we're
not
yeah.
So
this
one
is
there's
still
one
source
of
truth.
This
one
may
be
just
a
little
bit
behind
in
time.
That's
it.
B
Yeah
yeah
I'm
trying
to
do
that
to
reference
one
from
another
and
github
displays.
All
of
that.
Let
me
see
comments.
Let's
go
to
the
comments.
D
B
Yeah
so
let's
see
comments.
The
last
change
that
was
done
and
submitted
to
the
behavioral
model
was
remove
inbound
vm
table
yeah.
I
don't
remember
which
one
is
referencing
which
one
but
you're
right.
It's
a
good
thing
to
do.
Probably
that's
something
that
we
will
need
to
have
like
best
practices
on
as
well.
B
Yeah
also
true,
okay,
it's
not
this
one.
Maybe
it's
this
one.
B
Also
then,
I
guess
I
forgot
to
do
it
as
well,
so
probably
yeah.
We
need
to
come
up
with
some
way
to
reference.
Those
two
because
they
are
one
is
result
of
another.
The
ocp
cycle
request
is
the
result
of
this
one.
They
are
not
referenced
in
any
way.
D
Even
just
a
comment
for
now:
you
know
that
has
the
commit
of
the
dash
repo,
it
would
be
minimum.
You
could
always
regenerate
everything.
You
don't
want
to
lose
historical.
You
know
bookmarks,
so
to
speak.
D
B
All
right,
so
probably
we'll
start
with
this
one.
Sorry
on
this
one.
Where
was
that?
Let
me
go
back
to
so
we'll
start
this
process.
I
guess,
with
this
pull
request
to
keep
track
of
them.
I'll
reference
put
the
references
involved.
B
Then,
okay,
there
is
another
pull
request.
Fix
duplicate
fans
is
vijay
on
the
call.
Can
we
talk
about
it.
E
Yeah
hey,
so
this
was
the
build
issue
that
we
were
seeing
because
some
of
the
psy
attributes
from
the
p4
are
getting
appended
multiple
times.
Basically,
when
you
run
make
psi
all
of
the
attributes
and
object
id
and
so
on
in
the
header
files
was
getting
appended
every
time
you
run
make
size.
So
if
you
run
make
side
like
five
times,
there
would
be
repeated
five
times
and
that
would
lead
to
a
compilation
failure.
E
So
I
guess
we
were
not
seeing
this
earlier
because
when,
when
you
do
make
all
the
first
time
we
net
out
builds
and
let's
say,
you're
starting
on
a
clean
repo,
then
you're
only
generating
it
one
time
and
the
c
compiler
doesn't
complain,
but
there's
a
particular
sequence
where,
if
you
do
make
sci,
let's
say
two
times
and
then
try
to
do,
make
we
net
out,
then
the
compilation
was
failing.
B
Oh
sorry,
uh-huh
it
depends
duplicate.
Let
me
see
you
mean
that
what
files
are
affected.
E
This
is
the
the
auto
generated
files,
the
side
size.
B
D
B
Yeah,
well,
I
can
comment
on
that.
This
is
actually
really
good
change
and
forward
looking
because
what
you
may
have
noticed
is
that
the
current
structure
is
the
following:
we
have
master
branch
inside
repo
that
doesn't
have
dash
apis
and
we
have
dash
branch
inside
repo
that
has
right
now
dash
apis.
B
So
every
time
we
do
header
auto
generation,
we
clone
master
branch,
which
means
that
we
have
a
clean
psy,
and
then
I
append
everything
and
if
you'd
do
this
trick,
as
you
mentioned
more
than
one
time,
you'd
get
duplicates
the
plan
for
sonic
integration
is
that
we
will
merge
dash
apis.
B
I
believe
it
will
be
more
or
less
stabilized.
After
we
have
the
v-net
routing
and
acl
changes
merged,
we
will
have
the
dash
branch
merged
into
master
branch.
So
we
end
up
with
the
situation
where,
at
the
point
that
you,
cloned
sci-repo,
you
already
get
previous
version
of
dash
apis.
B
So
we
don't
really
want
to
do
the
let's
say
the
the
flow
will
change
from
appending
new
apis
to
actually
doing
a
modification
where
you
already
have
those
object
types
and
you
might
need
to
clean
them
up
beforehand.
You
might
need
to,
let's
say,
remove
the
duplicates
that
this
pull
request
is
doing.
So
this
is
partial
work.
B
One
second,
one
last
sentence
which
we
will
take,
but
I
think
it
is,
it
will
have
to
be
completed
with
more
logic,
to
actually
be
able
to
regenerate
dash
apis
based
on
the
already
existing
api.
So
we
don't
leave
some
non,
not
non-existing
apis
that
were
present
in
the
previous
behavioral
models.
B
D
We
can
we
can
do
one
better
if
you
want
now.
We
can
merge
this
as
is,
but
we
could
also
do
a
trial
run
of
what
you're
talking
about,
because
right
now
in
the
current
dash,
it's
importing
psi
as
a
sub
module
and
in
fact
the
current
dash
repo
is
not
using
the
psi
main
branch.
It's
using
my
dev
branch
because
of
all
the
fixes
for
psi
thrift
generation.
D
D
And
then
you
know
change
it
as
we
need
to.
But
if
someone
wanted
to
go
to
that
even
more
forward-looking
scenario,
we
could
actually
try
that,
on
a
trial
basis
to
see
if
it
blows
up
yeah,
what's
what
where
people's
preference
you
want
to
do
this,
as
is
because
as
a
workaround
right
now,
you
can
just
do
make
clean,
make
cycling
psy
and
it
will,
you
know,
not
have
the
repeated
headers,
it's
just
a
workflow
command,
so
you
know
we
can
do
it
any
way
we
want.
E
Right
right,
yeah
yeah-
I
was
just
thinking-
maybe
we
take
this
in
as
is
and
then
do
incremental
changes
on
top
whatever
enhancements.
I'm
sure,
like
more
enhancements,
would
be
required
to
this
generator
right
going
forward.
D
A
B
Okay,
so
everyone
else
please
review
this
one
again,
probably
like
in
a
day
it
will
be
merged.
If
you
have
any
comments,
all
right,
thanks,
yeah,
sorry
and
this
one,
there
is
a
problem
with
this
pull
request.
I
haven't
gotten
to
it
yet
like
to
the
full
review.
B
The
problem
is
that
I
have
a
very,
very
similar
pull
request
and
let
me
explain
why
we
need
it.
So
previously
we
had
a
behavioral
model
of
acls.
B
The
problem
is
changes
to
the
configuration,
because
acls
are
really
a
security
table
security
group
that
needs
to
be
bound
to
eni
and
unbound
atomically,
which
neither
the
before
runtime
nor
the
psy
apis
allow
to
do
in
a
way
that
the
behavioral
model
is
defined
today.
So,
instead
of
having
let
me
show
that.
B
So
this
is
mukesh
did
exactly
what
I
have
in
my
pull
request.
However,
I
still
haven't
compared
them,
but
if
we
go
to
the,
let
me
just
jump
to
dash
acl.
B
B
B
A
new
group
id
as
a
parameter
of
vni,
like
your
set
in
I
attributes,
just
set
a
different
acl
group
id.
We
can
switch
atomically
from
one
group
to
another
group
of
the
of
the
acls,
so
we
won't
end
up
in
a
situation
where
one
packet
matches
on
a
bunch
of
rules
from
previous
table
and
then
on
a
bunch
of
rules
from
the
new
table,
because
we
are
still
updated
still
in
progress,
so
this
change
allows
for
the
or
the
for
the
atomic
switch
of
the
acl
groups.
B
B
C
So
I
was
also
like
trying
to
make
a
test
for
this
fight,
just
populating
the
active
tables
and
so
on.
So
while
I
was
doing
that,
I
found
some
other
issues
so
try
to
fix
them.
So
here
what
I've
done
is
so
when
I
tried
to
test
it,
what
I
found
was
that
the
p4
was
complaining.
Basically,
the
for
psi
objects
psi
apis
of
type
object
of
the
type
where
it
returns
an
object
id.
C
So
the
implementation
currently
doesn't
populate
the
table
key
the
p4
table
key.
So
basically,
what
we
are
saying
is
the
p4
table.
Key
is
also
the
object
id
right.
This
I
object
id,
so
the
psi
object.
Id
is
just
a
incrementing
number
that
we
are
returning
from
the
implementation
today
in
the
generated
code
right,
but
it
never
goes
into
the
p4
itself.
So
so
this
changes
to
generate
that
id
and
also
push
it
to
the
p4
as
a
table
key.
C
So
that's
what
this
is.
Basically,
it
just
adds
the
adds
that
generated
number
as
a
key
to
the
people
without
which
the
test
was
failing.
Uh-Huh.
C
B
So
can
we
split
this
into
two
pull
requests?
First,
one
is
the
behavioral
model
and
all
necessary
to
to
generate
site
apis
and
second
is
test
and
site
implementation.
Can
we
do
that?
Because
it's
it's
a
lot
of
things
to
to
review.
Maybe
we
could
do
it
faster
having
those
two
pull
requests
like
if
we
have
the
behavioral
model
inside
api,
I
can
then
again
generate
side.
C
Okay,
okay,
so
yeah
yeah.
My
thinking
was
that
with
the
test,
then
it's
also
validated
like
whatever
is
in
the
p4
and
just
validate
the
entire
end
to
end
but
yeah.
We
just.
B
B
Yeah
right
now
the
criteria
is
the
correct
api
and
the
test
it's
a
great
bonus,
but
we
can.
We
can
have
it
done
separately.
B
Oh,
I
I
think
it's
hard
to
answer.
You
know
if,
if
there
is
some
substantial
change
in
the
behavior
that
really
affects
tests,
especially
tests
that
we
might
have
in
the
future-
and
you
cannot
re-
you
cannot
change
one
without
changing
the
other
and
I
believe
it
will
go
as
one
pull
request.
But
here
we,
my
point,
is
that
we
didn't
have
a
test.
So,
let's,
let's
keep
it
as
small
as
possible.
D
Yeah,
it's
interesting
timing,
because
I'm
also
working
on
the
code
generator
and
the
v-net
out
cpp
and
just
started
finding
some
issues
which
I
was
going
to
file
and
do
some
fixes
for
so
yeah.
If
we
separate
out
some
of
the
infrastop
from
from
the
code
changes,
it
might
be
a
good
thing
also,
we
did
merge.
I
did
merge
the
pull
request
that
night
and
so
you'll
want
to
sync
to
that.
D
D
You
you
can
also,
I
restructured
the
dash
pipeline
tests
a
little
bit
so
that
you
can
add
more
directories
with
more
source
files
and
we'll
find
them
all
so
like.
If
you
were
to
look
under
dash
pipeline
tests,
the
structure
is
a
little
different.
Now
you
can
add
like
another
separate
test
date,
you
don't
have
to
mix
it
in
the
existing
file.
If
you
want
and
the
make
file
we'll
just
find
them
through
wild
cards
and
just
add
the
tests.
D
C
C
Yeah
yeah,
so
one
other
thing
I
did
here
is
to
change
the
match
type
to
optional.
You
know
if
you
can
go
back.
C
The
one
thing
this
allows
us
to
it
will
treat
the
table
as
a
ternary
table
right
and
then
in
terms
of
generation.
This
generates
that
sciatica
priority
attribute.
C
And
another
thing
is
making
it
optional
means
that
while
we
are
testing
also,
we
can
like
leave
out
certain
parameters.
I
mean
now.
We
are
required
to
manually
pass
every
single
match
key
here,
which
is
not
the
case
with
the
regular
record.
So
until.
B
Right,
it's
the
same
thing
as
with
list
that
we
really
want
to
achieve
at
the
end,
which
may
be
empty,
which
is
the
same
meaning
is
optional.
C
Okay
and
as
a
follow-up
to
this
another
thing
I
wanted
to
do,
this
is
more
from
the
implementation
side,
so
we
just
have
one
api
right
to
populate
the
actual
group,
whereas
we
have
five
stages
in
p4,
so
I
was
wondering
how
the
actual
population
is
going
to
happen
right.
It
is
not
going
to
populate
all
the
five
stage
tables.
B
C
Yeah,
so
the
problem
is
it's
not
just
the
group
because
the
in
the
p4,
it's
also
there
is
also
a
stage
right,
so
it's
actually
five
different.
C
So
the
way
now
it
will
look
is
each
p4
table
is
a
collection
of
actual
groups
right,
not
just
one
alkyl
group.
It
will
be
more
than
one
equal
group,
the
one
p4
table
equal
to
multiple
apple
groups,
and
there
are
five
such
p4
tables.
B
Right,
okay,
I'll
need
to
look
at
it
offline.
I
guess
I
solved
for
it
in
my
patch
yeah,
probably
I'll,
just
compare
what
I
did
in
mine
to
yours
and
I
can
leave
a
comment.
How.
A
C
C
The
stage
correct
yeah,
so
the
stage
id
was
there
previously,
so
this
used
to
identify
which
table
which
p4
table
it
went
to.
But
I
don't
think
this
is
the
correct
thing
to
do
in
this
api,
and
this
is
should
not
have
a
stage
for
the
apple
itself.
B
C
Yeah,
so
one
solution
I
was
thinking
was
to
just
for
the
behavioral
model,
so
this
is
just
a
reference
implementation
right.
This
is
not
the
actual
thing,
so
one
solution
I
was
thinking
was
to
copy
the
same
content
onto
all
five
tables
right.
So
that
way,
anyway,
it's
going
to
be
looked
up
based
on
the
group,
so
the
auto
generation
will
still
work.
C
We
just
copy
the
same
content
onto
all
tables
and
the
way
we
copy
it
is
determined
based
on
what
is
the
tag
name
tag
given
to
the
table,
so
the
style
name
tag
given
to
the
table
is
the
same
then.
From
that
psi,
api
implementation,
we
copied
onto
all
the
tables
all
the
p4
tables
associated
with
that
one
side,
api.
B
C
B
B
The
compiler
generates
multiple
instances
of
those
tables,
and
this
is
responsibility
of
a
control
plane
to
populate
them
all
at
once.
So
this
is
what
psi
implementation
needs
to
do.
I
agree
with
that.
Yeah.
F
B
You're,
probably
right
we're
talking
about
so
this
is
the
acl
table,
but
when
you
but
api
is
per
one
entry,
so
that's
really.
When
you
call
the
api
you
create
one
rule,
you
don't
create
a
table.
C
B
F
Well,
it's
not
it's
a
game,
it's
I
don't
know.
Maybe
it's
a
p4
thing,
but
it's
actually
it's
a
group
of
rules
and
yeah,
but
I
don't
know
if
you
call
it
an
echo
group.
The
rule
group.
B
No
not
really.
This
is.
B
F
Okay,
well
at
least
use
the
word
rule
because
it
is
a
rule
it's
different
than
it's
ever
been.
It's
never
been
defined
like
that
before,
so
we
got
to
differentiate
it
to
make
sure
people
don't
think
of
it
as
being
a
firewall
filter
which
it's
not
right.
It
would
be
easy
if
it
were,
but
it's
not
okay
and
it's
also
a
prior.
So
that
group,
it's
a
prioritized,
it's
a
prioritized
list
of
rules
right.
So
it's
not
just
a
list
of
rules.
It's
a
prioritized
list.
Yes,
so
just
make
that
clear.
A
Oh
sorry,
I
have
connected
a
different,
monitor
and
whatnot.
No,
I
was
just
agreeing
with
you
that
you
know
today
it's
not
there
in
sonic
and
this
concept
is
not
there.
So
if
we
start
to
use
the
word
rule,
it
will
be
much
better
yeah.
In
this
context,.
A
B
Let's
do
it
all
at
once,
so
yeah,
so
to
summarize
two
pull
requests
that
I
already
put
an
approval
on.
They
were
there
for
a
week.
So
if
anyone
wants
to
make
any
comments,
please
do
you
have
another
day
and
this
one
is
still
under
review.
It's
quite
big,
so
I
really
am
asking
for
splitting
in
it
into
two
yeah
and
that's
it.
A
E
Hey
yeah,
I
think
mukesh
and
I
we
wanted
to
bring
up
another
just
a
question
about
the
v-net
table.
So
mukesh,
do
you
want
to
just
discover
that
the
proposed
change
to
the
outbound
pipeline,
what
we
were
thinking,
whether
it
makes
sense.
C
Yeah,
so
we
had
some
questions
about
where
the
vni
is
derived
from
in
the
pipeline
and
how
it
matches
to
the
gnmi
approach.
I
mean
gma
model
and
we
wanted
to
see
if
we
can
bring
in
the
wiener
table
also
into
the
psi
api.
I
know
we
talked
about
this
marine.
I
think
vijay
had
mail
and
we
have
applied,
but
we
just
wanted
to
go
over
that
possible
in
this
meeting.
A
C
Okay,
so
I've
just
tried
to
show
the
current
model
here
and
the
proposed
model
below
so
the
current
model.
What
we
have
is
the
dust
mat
in
the
packet,
so
this
is
the
outbound
direction.
C
This
mic
in
the
packet
is
matched
in
the
ni
either
table
and
it
provides
an
eni
id
right
and
that
we
look
up
in
the
ni
table
to
get
the
cpsps
flows
and
all
those
things
also.
We
we
match
it
in
the
there's
another
eni
to
vni
table
which
gets
us
the
end
cap,
pnr
in
in
parallel,
the
eni
also
is
used
to
look
up
the
lpm
table
with
the
test
ip
and
then
from
there
we
get
a
dust
vnet
vni
which
so
we
need
to
see
if
this
overrides.
C
Connect
so
this
this
does
vn
v-net
vienna
is
used
to
look
up
the
ca
to
pm
mapping,
but
it
also
could
overwrite
the
final
encap
pni
that
goes
out
in
the
packet,
but
that
decision
is
based
on
whether
the
there
is
a
boolean
coming
out
of
the
ca
to
pm
mapping,
which
is
whether
to
override
this
or
not.
C
So
this
is
the
current
pipeline
in
in
the
dash
p4
code
now,
so
we
think
the
gnmi
is
this
way,
so
we
were
wondering
if
we
should
change
the
p4
also
to
this
way
right.
So
the
pipeline
seems
to
be
like
this
part
is
the
same.
So
we
apply
the
dust
mag
and
then
we
figure
out
the
eni
id
and
from
the
eni
id
we
actually
can
derive
a
v
net
id
from
the
en
table
and
the
v-net
id
is
looked
up
in
a
v-net
table
to
get
the
end
cap
piano
right.
C
So
finally,
we
need
to
look
up
the
v-net
id
coming
from
either
from
the
ni
or
if
the
lpm
has
overridden
the
unit
id,
then
we
use
that
minute
id
to
look
up
the
vena
table
and
get
the
end
cap
piano,
and
then
there
is
also
a
possibility
that
and
obviously
the
v-net
id
coming
from
this
is
also
used
to
look
up
the
ca
to
pa
mapping
right
and
then.
Finally,
we
there
is,
there
might
be
a
case
where
the
ca
to
pa
mapping
can
also
override
the
fincap
pnf
required.
C
So
this
part,
I'm
not
sure
if
it's
really
needed,
because
the
gnma
examples
never
covered
this
so
either
the
encorpion
is
only
coming
from
the
venus
table
or
from
the
yeah.
So
that's
that's
the
question
that
I
have
for
the
gnm
itself.
But
overall
the
question
is
to
us:
this
looked
like
a
more
clear
way
of
representing
the
gnmi
model
in
this
iap
as
well,
and
it
will
be
a
straightforward
mapping
from
gmail
to
size
what
people
and
this.
So
we
are
here.
C
B
B
Actually,
it
is
the
same.
One
thing
that
I
can
add
to
the
second
diagram
is
that
you
have
actually
two
venus
there,
one
that
is
determined
from
eni,
and
hence
you
have
two
two
vni's
in
the
first
diagram,
the
v-net
that
is
looked
up
from
the
eni
is
the
source
unit
or
the
v-net
that
this
dna
belongs
to,
and
the
v
and
the
unit
that
you
get
from
the
route.
Lookup
is
the
destination
vni
or
the
a
destination
v-net
or
the
v-net
that
this
packet
is
going
to
be
forwarded
to
so
yeah.
C
C
Thing
so
we
could
bring
another
wiener
table,
look
up
here,
just
after
the
vni
required,
but
at
this
point
it
looked
like.
We
only
need
one
lookup
in
the
peanut
table
and
whichever
v-net
I
mean,
if
the
lpm
overrides
the
v-net
id,
then
we
can
use
that
p-net
id
to
look
up
the
unit
double
because
we're
only
getting
the
end
cap
vni
in
future.
If
we
actually
need
two
lookups,
then
we
can
actually
bring
in
another
v-net
lookup
in
the
behavior
p4
code
here
as
well.
E
Right
in
the
there's,
currently
only
a
single
vni,
which
is
coming
from
the
v-net
table,
irrespective
of
the
direction.
C
C
B
C
You
know
yeah,
that's
true
so,
but
in
the
model,
ultimately
we're
just
using
it
to
derive
the
vni.
Yes,.
B
C
You're
thinking
just
use
the
deskt
v-net
id,
whichever
wherever
that
is
coming
from
and
look
up
the
v-net
and
so
the
source
v-net
lookup
is
not
yet
there,
but
we
could
bring
it
later
if
we
want
as
well.
B
Yeah,
so
that
that's
right,
that's
a
good
thing
that
you
are
pointing
out,
and
I
already
issued
a
question
or
request
for
clarification
to
to
the
guys
that
are
defining
gnmi
for
the
controller,
because
to
my
understanding,
by
default
source.
B
E
B
A
It
depends
on
the
action
when
it
is
optional
and
when
it
is
not
optional,
so
for
these
v-net
direct
to
init
actions,
it
will
be
v-net
is
required.
A
It
could
be
same,
it
could
be.
I
mean
that
that
value
can
be
same,
but,
like
marian
mentioned,
the
semantics
are
different
right
and
I
think
mukesh
I
will
add
examples
for
the
one
that
are
missing,
but
I
think
overall
I
it
looks
like
the
proposed
outbound
is
a
little
bit
cleaner,
right
or
clearer.
A
That
is,
that
is
a
little
bit
more
straightforward
right.
B
Okay,
so
well,
actually
what
will
effectively
change
is
that
we
won't
have
dni
to
be
an
ilookup.
What
we
will
have
is
the
v-net
table,
and
then
it
will
be
also
used.
Oh,
but
let
me
think
so:
there's
only
one
v-net
table
so
not
sure
how
that
will
work
in
the
p4
model.
I
will
need
to
think
about
it,
because
we
have
two
units
as
it
points
out,
and
we
need
to
have
vni
resolved
for
both
of
them.
So
yeah.
C
Concept
of
could
also
have
the
other
thing
of
like
we
could
see
once
we
have
the
tackle
solution
where
I
was
saying
like
we
could
copy
the
contents
right,
so
we
can
have
as
many
lookups
of
the
same
table
as
we
want
in
the
p4.
Oh
yeah,.
B
C
With
the
singles
type
here
so
that
way,
we
could
still
have
source
v
net
lookup
and
a
desktop
unit
lookup
in
p4,
but
it's
populated
with
a
single
control,
plane,
side,
api.
C
Yeah
so
for
now
we
could
do
it
this
way
and
then,
if
you
want,
we
can
introduce
another
unit
table
lookup
in
the
source.
Also,
if
you
need
it.
B
C
A
A
To
vienna
yield,
you
know
exactly.
A
C
A
Yeah,
I
think,
merit
that's
the
boolean
part
right
yeah
that
we
can
clarify.
I
think
the
the
other
question
is.
I
believe
what
mukesh
is
asking
from
eni
to
veenat
right.
Is
that
what
mukesh.
A
C
A
Which
is
missing
from
the
schema
which
I
like
I
mentioned
it
will
be,
it
will
add,
like
we'll,
have
to
have
some
discussions
with
the
with
michael
and
the
sdn
team,
and-
and
I
think
that's
what
marian
mentioned
about
the.
A
C
A
C
A
And
how
that
is
determined
is
what
is
the
miss?
The
gap
in
the
in
the
current
schema
like
whether
it
is
through
a
boolean
or
the
capm
mapping
itself
will
provide
the
vni
or
the
source
when
I
I'm
like,
which
is
not
clear.
So
I
I
think
that
that
part
will
be
clarified
and
I'll
put
some
examples.
All
they
need
is
the
destination
vni
right
and
just.
A
C
A
Both
vnis
are
available
here.
I
think
so.
The
only
pro
problem
is
which
one
to
choose
right,
and
it
is
the
same
I
mean
sometimes
it
would
be
the
same.
Sometimes
it
would
be
different
whether
based
on
it
is
in
vinnette
or
intervene
at
right.
Yes,
so
it
is,
we
just
need
the
lpm
lookup.
I
I
I
feel
you
know
we.
A
C
A
B
Yeah
because
look
at
it
from
basically
from
the
inbound
direction,
I
believe,
on
the
inbound
you
will
be
receiving
if
the
packet
comes
from
a
different
v-net.
You
are
receiving
usually
vni
of
that
v-net
not
of
yours
unit,
but
of
the
other.
A
A
A
A
A
C
In
the
mapping,
which
is
already
there,
but
we
can
just
convert
it
to
instead
of
directly
specifying
yeah,
we
can
use
that
to
drive
whether
the
v-net,
when
vni
from
the
source
unit
or
the
bni
from
the
dust
unit
should
be
used.
A
C
B
A
C
It's
not
before
it's
just
the
same.
This
thing
right,
there's
no,
there's
no
sequencing
there!
Okay
yeah!
I
just
moved
the
v-net
id
v-net
lookup
after
the
lpm,
because
it
can
come,
it
can
be
driven
the
vnet
id
to
look
up.
The
avenue
table
could
come
either
from
lpm
or
from
the
eni,
whereas
in
the
top
case
the
ni
to
vna
is
always
coming
from,
but
in
case
we
are
going
to
make
two
v
net.
Lookups
then
yeah,
similar
to
the
united
way.
E
C
So
one
other
thing
I
wanted
to
bring
up
was:
the
v-net
also
gives
the
inbound
vni
right.
The
same
vni
is
also
used
for
the
inbound
case.
Also
in
the
gnmi
model,
the
source
mac
will
be
used.
Sorry
for
the
inbound
direction.
C
So
it's
the
same
vmi
right,
whereas
I
think
in
the
current
p4
model
there
is
separate
vm
vni
in
the
eni
table.
C
B
A
C
C
So
in
the
gnmi
model,
where
is
this
reserve
vn?
We
didn't
see
any
vna
in
the
eni
table
in
the
gnmi.
B
Yeah,
I
believe
it's
still
needs
to
be
closed.
B
C
A
B
D
B
Way
to
do
or
another
way,
which
is
which
it
is
modeled
right
now,
is
that
there
is
really
an
option
to
have
different
vnis
between
a
host
and
an
appliance
so
that
on
the
when
the
packet
comes
from
the
host
you
have
you
have
a
table.
I
forgot
its
name.
Actually
it's
a
direction
lookup
table
right
that
all
this
special
vnis
it
tells
you
to
do
to
go
outbound,
but
it
may
be
more
than
one
right.
It
does
not
make
an
assumption
that
all
foster
will
send
the
same.
B
Vni
could
be
more
than
one
so
same
thing
in
here.
The
same
assumption
is
made
in
the
opposite
direction.
When
we
are
sending
from
appliance
to
to
the
host,
we
are
not
making
assumption
that
it
will
be
the
same
value,
although
it
could
be
like
it
is
defined
in
the
schema,
but
we
just
didn't
make
this
assumption.
We
have
vni
value
towards
each
host
individually.
B
B
C
B
C
So
one
question
is
so
from
the
controller.
The
vni
is
a
global
thing
right,
it's
in
the
appliance
table,
so
it's
not
specific
to
any
eni.
It's
a
vmware,
multiple.
C
Yeah,
so
what's
the
case
you're
saying
like
there
could
be
more
than
one
bni
right
so,
but
today.
B
B
Maybe
we
can
generalize
it
to
be
like
in
the
like
in
the
controller,
just
one
value,
but
I
don't
really
see
a
benefit
and
that
you
can
just
stay
with
with
the
assumption
that
psy
provides
like
for
more
flexibility
and
that's
it
doesn't
have
to
be
one-to-one.
A
A
C
E
No,
so
I
think
yeah
I
mean
if
this
at
least
the
concept
of
introducing
a
v-net
table
looks
okay.
We
can
actually
start
looking
at
their
model.
Related
changes.
A
Okay,
so
is
it
I'm
just
gonna
end
the
meeting
I'll
in
the
call
and
just
share
my
screen
real
quick
on
the
I
did
create
the
items
we
talked
about
last
time,
the
p4
issues
here
at
the
bottom.
If
someone
wanted
to
pick
up,
egressport
should
equal
the
ingress
port.
We
bud,
went
ahead
and
created
these
two
mukesh
picked
this
one
up
and
there's
this
one
remove
the
eni
id
from
the
pa
validation
table
keys.
So
this
is
where
I
put
these
for
now.