►
From YouTube: DASH High Availability Working Group Nov 15 2022
Description
Continued bulk sync what to do with config changes during bulk sync.
Guohan needs SAI spec to be complete, for SONiC to have logic to handle cases.
Bulk sync s/be accurate (vs. performant), w/certainty re: how to test it.
Create a lightweight bmv2 HA for experimental version to verify algorithms?
A
My
screen
is
what
we
talked
about
last
time,
where
we
went
over
the
information
in
the
Sonic
repo
and
the
bfdecmp
information
here
and
the
did.
Anyone
have
PR's
or
anything
they
wanted
to
cover
today
or
Gohan.
A
Let
me
go
so
I
think
that
was
Sanjay
and
BJ.
Did
you
want
to
cover
the
metadata
that
we
talked
about
last
time
pulling
that
forward.
C
Hey
yeah
I
think
we're
just
checking
if
Sanjay
is
going
to
join
all.
A
Okay,
well,
while
we're
waiting
for
Vijay
and
Sanjay
did
we
did
you
guys
have
other
PRS
we
needed
to
look
at
or
do
we
need
to
check
the
queue.
C
Hey,
hey
Christina,
so
it
might
take
a
few
minutes
for
Sanjay
to
join,
so
we
can
discuss
other
items.
If
anything
else
is
there.
A
A
I'll
see
I'll,
take
a
quick
second
and
see
if
James
wants
to
join
as
well.
He
mentioned
something
about
it.
This
morning,
I'm
gonna
go
on
meet
real,
quick.
B
So
I
don't
know
if
that
part
is
clarifying
the
document
or
not.
Remember
you
know
when
we
when
we're
doing
this,
you
know
the
data
plan.
Sync,
you
know
I
remember
there
were
some,
you
know,
config
version
and
you
know
if
only
the
configuration
has
been
updated
then
will
trigger
the
will
trigger
some
kind
of
resync
right.
So
I
don't
know
if
this
part
has
been
documenting
the
in
the
designs
or
not.
D
Yeah,
it
is
documented,
I
think
in
the
interaction
between
this
thing
and
that
section
it's
there
there's
a
thing
about.
While
we
are
doing
bulk
sync,
what
are
what
are
the
things
that
trigger
incremental
sync.
D
Actually,
if
you
go
to
the
open,
the
no
I'm
not
doing
the
pr,
if
you
go
to
the
the
actual
question.
D
B
Yeah
lookies
to
it
yeah
sure.
D
D
Those
case
yeah
so
I
think
there
are
two
cases
I
think
in
the
bulk
sink
itself.
When
there
is
a
config
sync
that
happens
right,
you
could
the
flow,
which
is
be
the
flow
one.
Any
of
the
flow
that
is
being
affected
could
have
been
already
synced
over
or
may
not
have
been
synced
right
it
may.
It
may
still
be
in
the
snapshot,
but
we
haven't
reached
that
Point.
Yet
right
we
haven't
gone
through
that
this
thing.
Yet
so
there's
a
differentiation
of
a
completely
new
flow.
D
There
are
three
cases
there's
a
completely
new
flow.
There
is
a
flow
that
was
there
in
the
bulsing
snapshot
inside
that
there
are
two
cases
sub
cases
one
is
there
is
a
policy
change,
but
the
flow
was
already
synced
over
I.
Think
the
bulk
sink
window
has
moved
past.
B
Done
so
maybe
the
question
I
don't
know
if
we
have
been
asked
right,
so
the
Box
sync
is
not
happening
all
the
time
right.
So
it's
only
you
know
before
you
switch
over
or
bring
up.
You
know
try
to
bring
up
your
backup
node
right,
so
why
why?
In
that
case
you
know
we
we
cannot
block
the
you
know,
configuration
I
mean.
How
long
is
that
boxing
I
think
usually
like
a
few
minutes
right,
so
why
in
that
case
we
can.
B
We
cannot
block
the
configuration
change
so
that
we
don't
have
this.
We
don't
have
this
problem
and
only
after
the
boxing
is
done,
then
we
we
do
the
configuration
change.
D
Yeah
good
question:
actually
that
was
our
initial.
This
thing
to
one
I
think
from
Microsoft
from
the
v-net
team.
It
was
a
no-go
to
block
the
config
during
the
person
getting
the
tie-in
was
not
needed.
It
was
a
requirement
given
from.
D
B
E
D
I
think
this
thing
I
got
was
90
seconds
one
of
the
tests,
but
somewhere
in
that
place
you
can
think
of
it
a
minute
to
a
couple
of
minutes.
C
B
The
client,
this
ignition
flows
that
that
I
mean
we're
mainly
talking
about
the
configuration
change
during
the
boxing
and
that's
the
reason
you
know
we
have
this
special
handling
right.
So
I'm
trying
to
understand
like
is
this
really
about
the
Comfort
green
changes?
This
is
not.
This
is
also
about
the
flow
creation.
Those
things.
D
D
All
all
three
I
think
it
could
be
Network
driven,
it
could
be.
Administrative
configuration
driven,
I,
think
the
end.
The
net
net
area
is,
you
can't
freeze,
the
networking
might
still
be,
the
clients
might
be
sending
traffic,
they
might
be
sending
fins,
nothing
might
be
change
in
the
flow
itself
and
there
might
be
flow,
slow
modifications
due
to
policy.
Both
cases.
B
E
B
Configuration
change,
yeah,
I'm,
not
quite
sure,
you
know,
or
or
maybe
we
put
this
way
right.
So
what
what
are
the
mechanisms
that
we
need?
You
know
for
the
flow
triggered
changes
and
what
are
the
things
that
we
needed
for
the
configuration
driven
changes
right?
Can
we
can
we
separate
them?
You
know.
Is
there
any
mechanism?
You
know?
Let's
say
you
know
we.
We
had
this
assumption
that
you
know
the
configuration
will
not
be
changed
during
that
boxing,
but
you
know
flow
can
still
come
in.
B
So
if
we,
if
we
have
that
assumption,
is
this
a
color
thing
still
needed
or
no.
D
You
might
still
need
it.
The
reason
is
the
same
three
right
so
I
think,
let's
abstract
out
and
say
there
is
a
change
in
the
flow
we'll
ignore
how
it
came
right,
whether
it's
to
policy
or
through
Network
event.
D
Now,
if
there
is
a
change
in
the
flow,
the
flow
could
be
of
three
classes
right.
One
is:
it
was
a
completely
new
flow
which
was
not
existing
when
we
started
bulk
sync
right,
so
it
does
not
exist
in
the
bulking
snapshot
at
all
right.
That
is
one
class.
The
second
class
is
the
other
side
on
the
it
could,
it
could
have
exit
I
mean
it
was
existing
when
we
started
the
bulk
sync.
So
that's
in
that
second
class
in
that
second
class,
there
are
two
sub
this
thing.
D
So
now
the
bulk
sink
over
that
minute
or
how
much
of
a
time
we
are
taking
the
window
is
moving
right.
It's
like
a
cursor
that
is
in
a
way
in
a
cool
way,
I'm
just
saying:
there's
a
cursor,
that's
moving
and
sinking.
First
now,
the
flow
that
got
affected
could
be
on
the
left
side
of
the
cursor
or
on
the
right
side
of
the
cursor
right,
so
that
is
the
second
subclass
I.
D
B
B
A
B
Is
it
necessary
for
us
to
to
still.
B
To
go
over
the
you
know,
the
the
the
boxing
channel,
the
the
Japanese
Channel.
D
Okay,
so
I
think
the
this
thing
is
just
go
on,
for
example,
if
it
is
if
the
first
class
right
class,
one
kind
of
I,
think
where
it
did
not
exist
at
all
right,
then
the
implementation,
like
you,
said
the
data
path.
Sync
can
take
care
of
it
completely
right
you
don't
we
don't
even
need
the
pulsing
at
all
the
it's,
not
even
there
in
the
snapshot.
So
the
data
path
is
not
going
to
I
mean
the
bulk.
Sync
is
not
going
to
sync
it.
It
was
not
there
in
that
snapshot.
D
So
I
think
this
one
falls
under
the
category
where
it
is
in
a
different
quote:
unquote:
color
right,
so
that
snapshot
was
designated
by
that
color.
So
it's
in
a
different
color,
so
it
gets
synced
by
data
part
directly
right
now.
If
it
falls
in
the
second
class.
Now
the
implementation.
D
Classes
it
was
an
existing
flow
which
had
the
color
of
the
bulk
sink
when
bulsing
started.
So
it
was
it's
not
a
completely
new
flow,
so
let's
say
at
t0:
we
started
bulk
sync
and
we
go
on
I
mean
at
t0.
If
the
flow
was
created
after
t0,
it's
a
fresh
floor
right,
then
the
data
passing
can
handle
it
completely.
There's
no
need
for
the
bulking
to
get
involved
at
all.
D
That's
why
we
do
the
data
part
sync,
while
the
bulk
sync
is
going
on
right,
so
that
all
those
flows
can
get
synchronous
now
there
could
be
a
flow
which
was
T
minus
one,
which
was
which
existed
before
t0.
We
started
Global
sync
at
t
zero.
Now
at
so
now,
bulking
responsible
for
syncing
it
right
I
mean
bulk.
Sync
is
is
going
to
go
through
that
flow,
find
that
flow
and
sync
it
across
to
the
other
side.
D
Now,
while
we
are
the
bulk
sync
is
parsing
and
then
going
through
right,
you
can
come
up
with
a
state
where
a
T1
we
have
done
with
about
60
percent,
say
of
the
flows
right
now.
That
flow
that
got
affected
could
be
within
that
60,
that's
already
synced,
or
it
could
be
in
that
40.
That
is
not
synced.
Yet
right,
yeah.
B
D
Implementation
may
choose
how
you
want
to
do
now.
If
you
just
allow
the
data
path.
Sync
to
go
through,
you
need
to
handle,
it's
possible.
I
mean
depends
on
the
implementation
right,
how
you
want
to
take
care
of
it,
but
in
the
hardware,
when
you
are
inserting,
you
should
make
sure
that
there
is
no
race
conditions
between
what
comes,
because
the
bulk
sync,
the
the
flow
that
we
are
talking
about,
might
be
in
Flight
already
in
the
bulk
sink
right.
D
It's
not
synced
to
the
other
side,
but
it
might
be
in
flight
or
we
are
just
picking
up
it
states
in
the
in
memory
on
the
center
side
or
on
the
receiver
side,
Etc
right.
So
now,
if
you
have
two
channels
coming
in
from
the
data
path
and
also
from
the
from
the
data
process,
you
can
also
from
the
boxing
I
think
we
just
need
to
make
sure
that
the
implementation
handles
the
trace,
condition
right.
You
don't
overwrite
one
from
the
other.
D
We
don't
want
the
the
new
flow
to
have
been
inserted
and
then
the
bulk
sync
comes
and
overrides
it
back
to
the
old
state
that
we
just
want
to
make
sure
of
that.
I
think
how
we
do
it.
This
is
the
case
that
needs
to
be
handled
so
that
we
don't
break
the
consistency.
B
D
B
B
You're,
saying
is
that
okay,
so
you
know
if
the
theme
packet
goes.
First,
the
data
plan
packet
goes.
First,
data
sync
goes
first,
then
it
will
delete.
It
will
delete
the
the
flow
on
the
standby
side.
But,
however,
you
know
during
that
moment
you
have
the
boxing
as
well.
Then
you
know
boxing
may
be
a
little
bit
delay.
So
therefore
you
will
say:
okay.
E
B
But
to
this
season,
but
they,
how
do
we
address
this
challenge?
I,
guess
that
you
know
the
you
know
the
the
the
the
boxing
snapshot
is
different.
You
know
the
timing
is
different
from
the
data
passing.
How
do
we
just
this
kind
of
challenge
using
the
color
to
dress
its
challenges?
So
we
know
you
know
what
is
the
version
or
how
do
we?
How
do
we
address
that
challenges
here?.
D
Yeah,
so
I
think
it
might
become
very
I
mean
it
might
be
in
the
implementation
itself
on
how
we
keep
the
flow
Etc.
You
could
the
mark
in
the
flow
whether
it's
been
synchronized
and
act
back
from
the
bulking
Channel.
If
it
is
marked
in
somewhere
in
the
flow
yeah,
then
data
path
in
the
data
path.
You
could
know
that
okay,
this
has
not
been
synced
across
so
I
will
let
the
bulk
sync
handle
it.
D
So
you
know
that
it
is
in
that
class
to
to
be,
but
if
it
is
marked
already
that
we
know
that
bulk
Sync
has
already
handled
this
flow,
then
we
could
say
that,
but
data
part
sync
will
go
ahead
and
sync
this
across
to
the
other
side,
but
I
guess
yeah,
it's
one
way
of
doing
it,
but
it
could
be
multiple
ways.
B
I'm,
not
sure
I
completely
understand
right.
If,
if,
let's
say
you
know,
if
we
want
to
handle,
float
deletion
and
the
data
passing
goes
first,
they
delete
the
flow
in
the
backup,
but
in
this
case
the
flow
doesn't
have
any
state
now
right.
So
they
you
know,
we
have
this
boxing.
You
try
to
add
this
flow.
So
what
is
what
is
the
boxing
here
is
trying
to
compare.
You
know
because
there's
no
other
recourse
saying
okay,
this
photo
has
been
deleted
before
so
we
should
not
create
it
again.
So
how
do
you
see?
B
How
does
this
I'm
trying
to
understand?
How
does
this
work
here?
Because
you
are
saying
you
know
we
mark
it
as
a
deletion,
but
that's.
D
Fine,
okay,
yeah!
No,
no,
what
I
said
was,
if
you
have
it
not
for
deletion
person.
So
there
are
multiple
ways
to
go
and
I
mean
again
mainly,
should
we
should
leave
it
to
the
implementation?
One
way
is
in
the
flow.
You
say
it's
not
about
Mark
for
deletion
or
not
you
say
yeah,
you
could
Mark
for
deletion,
and
you
could
also
say
whether
bulk
Sync
has
processed
it
or
not
processed
it
right.
So
I.
Remember
that
cursor.
That
I
was
saying
whether
where
the
boxing
cursor
is
moving
already
processed,
not
process
right.
D
So
you
could
say
whether
the
cursor
is
past
that
flow
or
not
yet
past
that
flow.
Once
you
know
that
you
know,
if
the
cursor
is
passed
already
and
volkswinc
is
already
synced
to
the
standby
side,
then
it
is
safe
to
sync
whatever
from
data
path
right,
you
can
do
it
all
incremental
thing,
because
we
are
past
that
point.
D
You
could
start
thinking
it
the
on,
but
on
the
if
it
is
not
at
sync
right,
if
it
is
cursor
is
still
on
you're
on
the
right
side
of
the
cursor,
then
the
data
path
syncing
would
actually
create
trouble
right,
because
data
path
has
the
bulk
Sync
has
not
yet
sync
to
the
standby.
Then
you
have
to
suppress
in.
If
you
are
following
this
methodology,
you
would
need
to
suppress
the
data
path
from
syncing
the
flow
and
say
that
the
bulk
sync
will
come
through
and
handle
the
flow
syncing
the
flow.
D
If
that
is
the
case,
you
would
need
to
mark
it
for
delete.
You
know
that
this
is
already
deleted
right,
so
you
can
clean
apart.
If
there
is
a
change,
I'm
delete
is
one
case.
It
could
be
delete
or
it
could
even
be
some
something
might
have
changed
in
the
flow
itself,
like
whatever
the
state
of
the
flow
might
have
changed,
depending
on
that
you
could
handle
it
appropriately.
D
Maybe
exactly
human
being
saying,
but
during
that
bulk
sync,
there
might
be
during
that
interval.
The
active
understand
by
there
is
this
thing,
but
once
boxing
completes-
and
you
have
done-
you
have
actually
you'll
have
one
spot-
the
multiple
passes
have
passed.
You'll
have
actually
achieved
consistence.
That
is
one
way.
D
Second
way
is
you
could
do
multiple
passes
or
you
could
have
on
the
stand
by
itself
if
you
had
somewhere
to
distinguish
what
is
before
and
what
is
after,
you
could
let
the
data
passing
go
through
and
then,
when
the
bulk
sync
comes
in,
you
know
whether
it
was
after
or
before
so
you
could
either
drop
it
or
actually
update
the
data
path.
You
could
do
that
way
too.
There
are
multiple
ways
you
see
what
I'm
saying
yeah.
D
Theoretically,
let's
say
there
is
a
time
stamp
on
the
flow
sync
on
when
the
flow
was
updated.
You
could
blindly
sync
if
the
implementation
chooses
to
do
so.
You
could
actually
sync
the
flow
blindly
to
the
other
side
and
on
the
standby,
you
kind
of
arbitrate
to
see
whether
the
the
what
came
from
data
path
sync
and
what
came
from
bulk
sync.
If
the
bulk
sync
was
newer
in
that
quote-unquote
time
stamp
or
whatever,
is
that
this
thing?
D
You
would
push
that
you
would
accept
the
thing
from
the
bulk
thing,
but
if
the
bulk
sink
timestamp
was
older,
you
could
ignore
it
that
you
could
drop
it
or
the
same
way
the
other
way
yeah.
You
could
do
that.
D
B
But
I
guess
you
know
the
in
terms
of
side.
Do
we
have
those
necessary?
You
know
attributes
to
to
allow
this
happen.
You
know,
for
example,
I
think
you
know
there
were
some
mentioned
about
the
timestamp
We,
compare
the
timestamp
and
there's
a
cursor
I,
don't
know
like
we.
We
have
this
cursor
to
find
in
this
IPS
so
that
you
know
both
sides
will
know
the
progress.
I
mean
sorry,
I
mean
you
know.
Basically,
the
the
standby
side
will
know
the
progress
you
know
which
has
been
synced,
which
has
hasn't
been
synced.
D
Question
yeah
I
think
this
should
be
in
the
I.
Think
it's
an
implementation,
specific
thing
Gohan
depends
right,
you,
the
implementation,
for
example,
you
could
implement
it
using
this
cursor
or
you
could
use
it
using
the
timestamp
or
maybe
I
think
this
is
what
we
are
coming
up
now.
There
might
be
other
depending
on
the
hardware,
and
this
thing
other
implementations
may
find
something
else
that
is
more
conducive
to
those
implementations.
Right,
it's
a
so
there
is
an
option
in
the
this
thing
we
have
the
vendor
metadata.
D
You
could
put
in,
for
example,
the
time
step
in
that
vendor
metadata
and
hypothetically
right.
You
could
put
the
timestamp
in
that
mental
metadata,
When
We,
sync
the
flow
so,
along
with
this
metadata,
there
is
also
the
the
vendor
specific
metadata.
B
You
know
you
you
I,
think
you
mentioned.
Is
the
implementation
specific
since
a
few
times
right
so,
but
the
problem
for
me
is
that
you
know
I
I'm
going
to
implement
this,
since
you
know
in
the
sync
D
for
the
boxing
right.
So
but,
however,
if
I
don't
know,
if
the
PSI
you
know
spec
is
complete,
then
how
do
I
address
those?
You
know
those
age
cases.
B
B
For
example,
you
know
you
know
the
with
the
type
here
we
get
the
boxing
crash,
so
you
know
we
get
on
one
side
on
the
active
side,
we
get
all
the
data
and
we
use
grpc
to
transfer
it
to
the
standby
side
right.
So
they
you
know.
Meanwhile,
the
data
data
data
processing
is
in
place
right.
So
then,
how
do
I?
You
know,
resolve
those.
You
know
those
conflict,
no,
okay.
You
know
I
have
to
a
second
pass,
or
you
know
that
kind
of
things
right
so.
D
Oh
so
that
is
being
I,
think
that's
this
thing,
so
I
think
from
the
side.
What
the
size
tells
the
data
path
is
start
start
data
passing
right,
I
mean
start
bulk
sync
and
then
once
the
implementation
is
done
with
the
bulk
sync.
However,
it
chooses
to
do
it
right
whether,
however,
it
tries
to
the
cursor
or
the
time.
Whatever,
however,
is
the
chosen
method
for
the
Hardware
friendly
implementation?
It
will.
D
The
implementation
finishes
that,
and
once
it
is
done
there
is
a
notification
that
comes
from
the
DPO
from
the
size,
data
implementation
that
says
bulk
sync
is
done
so
that
way,
the
Sonic
the
state
machine
that
is
running
knows
that
bulk
sync
is
done,
so
you
that
way,
the
state
machine
does
not
need
to
intimately
know
the
exact
mechanism
that
is
happening
in
each
implementation,
because
each
implementation
may
be
different
depending
on
how
they
want
how
it
stops,
but
it
will
get
a
notification.
D
Your
the
it
is
driven
by
the
the
the
state
machine
running
on
Sonic
via
this
I
think
you
will
say,
data
bulk,
start
pulsing
and
get
a
notification
back
from
the
mutation
when
the
bulk
sync
is
done
right
and
really
the
The
Proposal
is
leave
it
to
the
implementation
to
actually
coordinate
the
bulk
sync
and
do
it
in
the
sequence.
You
know
how
or
whatever
is
friendly
to
the
hardware.
D
B
You
know
basically,
when
when
you
take
a
snapshot
and
you
do
the
changes
and
then
you
know,
meanwhile,
the
changes
still
happens.
It's
a
generic
problem
right,
so
I,
I'm,
saying
that
you
know,
since
it's
a
generic
problem,
then
why
don't
we?
You
know
work
out
the
details
to
see
you
know.
How
do
we
address
it?
You
know
as
a
community
in
a
uniform
way
right.
So
so
maybe
I
think.
B
Maybe
maybe
maybe
you
know
I'm
not
sure,
I
completely
agree
with
with
the
approach
that
we're
we're
handling
this.
B
You
know
this
complexity
in
a
purely
Black
Box
manner.
You
know
basically
saying
okay,
you
know,
you
know
the
Sonic
doesn't
care
about
exactly
detail,
how
the
conflict
being
resolved
between
the
boxing
and
data
pass.
Sync,
it's
a
you
know.
I
think
you
know.
Basically
it
means
that
we,
you
know
at
least
on
the
Sonic
side.
We
didn't
think
you
know
enough
all
the
cases
and
we
didn't
really
have
any
logic
to
handle
those
cases
we
leave
to
the
you
know
each
year
dpu
vendors
to
handle
it.
B
However,
you
know
the
risk
is
being
that,
because
this
is,
you
know,
a
tricky
things
risk
conditions
right,
so
there
will
be
the
testing.
Metrics
should
be
huge
right
because
we
don't
know
how
exactly
each
manner
she
implements
since
and
what
are
the?
What
are
the
cases
we
need
to
test
right?
So
you
can
pretty
sure
you
know
this
is
a
very
complex
scenarios
and
you
know
if
it
seems
you
know.
If
time
is
not
happening
right,
then
we'll
lose
some
flows.
B
You
know
at
at
those
you
know
during
the
process
and
we
do
not
know
what
flows
will
be
lost
right.
So
you
know
because
it's
up
to
the
each
implementation
to
decide
what
their
mechanism
is
going
to
use.
You
know
some
use
yeah,
so
I'm,
not
sure
you
know,
like
I,
think
the
approach
is
to
we're
currently
taking
is
leaving
a
lot
of
you
know,
testing
cases
guys
you're,
basically
cheating
as
a
black
box
and
the
each
one.
Each
implementation
will
have
its
own
I.
A
A
Have
even
architected
or
designed
much
less
test
cases
Gohan
yeah.
D
Yeah,
so
that
complexity
is
also
this
thing
going
so
I,
don't
know
from
my
my
viewpoint.
Is
this
right,
for
example,
today,
when
we
are
in
in
our
implementation
at
least
right,
we
for
features
Etc.
Sometimes
we
there
is
even
using
a
few
more
bits
in
what
we
pass
from
stage
to
Stage
Etc
that
matters
quite
a
bit
right.
D
So
just
if
you
get
so
there
is
we
cut
down
produced
the
size
of
what
is
being
passed
across
Etc
and
it,
and
there
is
a
it,
practically
makes
a
huge
difference
on
how
you
get
to
that
very
high
numbers
that
we
have
scale
numbers
and
the
CPS
counts,
Etc
right.
D
So
if
you,
if
you
try
to
my
opinion,
just
my
personal
opinion
is,
if
you
try
to
make
it
into
some
least
common
denominator
kind
of
way,
then
I
think
we'll
not
be
able
to
get
these
numbers
right
because
it's
not
like
there
is
a
better
implementation
or
there
is
a
bad
implementation
right.
Each
implementation,
depending
on
how
it
is
implemented,
how
the
details
of
each
flow
table,
how
it
is
this
thing,
how
the
stages
are
designed
internally
right.
D
D
If
that
is
the
case,
if
you
have
to
when
we
are
talking
about
this
Cutting
Edge,
this
thing
where
we
are
actually
pushing
the
box
to
the
limit,
I
think
having
this
this
thing,
where
you
can
do
it
in
a
hardware
friendly
way
and
you
can
squeeze
the
most
performance
out
of
the
hardware.
It
is
very
advantageous.
I,
think
if
you
don't
have
it,
and
this
thing
it'll
it'll
affect
the
performance,
is
my
personal.
Take.
B
You
know
General
I
agree
with
the
performance,
but
you
know
for
this
particular
case
right.
So
we're
talking
about
the
boxing
and
we
already
said
the
boxing
doesn't
need
to
be
performance
right.
So
you
know
it's
not
like
CPS
right,
so
this,
so
you
know
the
boxing
can
be
a
little
bit
slower
right,
so
it
doesn't
really
impact
the
CPU.
You
know
at
this
moment
you
know
your
the
Asic,
the
GPU
is
still
managing
all
this
flow,
creating
new
flows,
it's
just
boxing
a
little
bit
more
slower
right.
B
So
you
know
the
the
this
part.
I
I
think
the
the
the
thing
here
is
more
about
the
correctness.
You
know
after
finish,
the
boxing.
How
do
we
ensure
you
know
the
the
active
and
standby
end
up
in
in
in
a
venture
consistency?
We're
talking
about
that?
You
were
talking
about
you
venture,
consistent,
meaning
that
we
it
we
can't
afford,
take
more
time
to
get
it
sync
right.
So
just
so
that
part,
I,
I,
still
I,
think
I
have
a
have
my,
but
you
you
know
the
the.
B
My
key
point
was
that
you
know
that
if
we
don't
know
how
it's
done,
I
don't
know
how
to
test
it.
B
B
Don't
have
the
full,
you
don't
have
the
full
history
of
how
flows
are
created.
You
know
those
kind
of
things
you
you
know
they
were
talking
about
millions
of
flows
right
so
get
you
know
making
records
of
all
those
flows.
You
wouldn't
exactly
happening.
It's
going
to
be
huge,
I,
don't
think
you
know
we
we
are
prepared
to
you
know
to
to
log
every
flow.
You
know
those
kind
of
things
to
to
to
be
able
to.
You
know
debug.
It
later.
B
D
Exactly
yeah
yeah,
so
I
think
this
is
what
we
have
learned,
also
I
think
even
in
our
experience,
go
and
I
think.
That
is
why
I
think
the
intent,
my
intent
was
to
put
these
at
least
enumerate.
What
are
the
issues
that
we
see
right
so
I
think
any
implementation
can
if
they
look
at
all
the
issues
that
are
noted
here,
at
least
there
is
a
whatever
we
have
learned
from
our
implementation.
Now
the
exact
mechanics
of
how
we
do
it
in
our
implementation.
D
I
think
it
is
very,
very
implementation,
specific
I,
don't
know
if
I
can
share
it
here
in
a
meaningful
way,
how
we
do
it
in
our
pipeline
itself
right.
This
is
this
thing,
so
that
is
where
I've
kind
of
drawn
the
line
and
said:
okay,
we
know
these
are
our
learnings
from
our
implementation
but
exact
mechanism
of
how
we
do
it.
How
what
we
think
across
it's
a
little
too
specific
right.
D
It
doesn't
harder
to
abstract
it
up,
but
I
think
we
can
say
possible
mechanisms
at
a
very
abstract
level,
how
it
is,
but
I'm
at
a
loss
how
else,
because
otherwise
it
has
to
be
very
implementation
specific.
We
have
to
say
in
this
floor.
This
bit
will
say
that,
and
things
like
that,
I
don't
know.
If
you
can
share
that.
H
D
So
the
behavior
model
doesn't
need
to
reflect
exactly
the
what
it's
a
behavior.
It's
a
how
we
this
thing
the
behavior
right
now.
It
won't
reflect
exactly
the
hardware
implementation.
Now
it
will.
H
B
C
D
Yeah
I
think
we
should
pick
one
pick.
One
of
the
ways
that
works
in
the
behavior
model.
I
think
we
are
saying
this
is
the
behavior
you
have
to
kind
of.
If
the
bulk
Sync
has
already
happened,
then
you
have
to
honor
what
comes
from
the
data
parsing
and
if
it
has
not
yet
happened,
then
you
could
actually
data
pass
it.
That
is
the
behavior
that
we
want.
D
Yeah,
if
it
is
depending
on,
if
it's
a
newer
time
stamp,
you
would
accept
the
flow
if
it
is
an
older
one.
You
want
kind
of
yeah
but
see
I
think,
but
what
I
was
trying
to
say
was
see.
This
is
one
way
you
could.
Each
implementation
may
have
a
good
way
of
generating
that
time
stamp
at
the
flow
and
have
enough
this
thing
to
kind
of
imprint
it
in
the
data
path
treatment.
There
is
enough,
it
is
efficient
to
do
that.
D
B
So
how
about
this
right
so
because
I
still
have
my
question
here,
maybe
you
know
I,
think
I,
I,
guess
we'll
we'll
we'll
work
with
the
percent
of
first.
You
know
flying
and
understand
a
little
bit
more
on.
D
B
Part
and
to
see
you
know
how,
how
do
we
handle,
because
you
know
eventually
rise
to
this
Sonic-
is
going
to
do
that.
You
know
this
boxing
and
you
know
we
need
to
manage
this.
You
know
these
two
channels
these
and
carefully.
B
You
know
maybe
Krishna,
you
know,
let's
set
up
a
meeting
with
with
President,
you
know
MD
and
you
know
have
an
offline
discussion
on
what
exactly
you
know
how
the
conflict
resolves
here
right.
So
yeah.
A
Has
been
kind
enough
to
submit
their
proposal,
pensando
AMD
has
submitted
their
proposal.
Marion
wrote
this
deck
I
mean
we've
had
a
lot
of
different
people
submitting.
We
just
haven't
really
landed
on.
You
know
even
the
basics
of
of
what
we're
talking
about.
Gohan
we've
been
doing
this
since
last
April.
If
I
remember
correctly,
yeah.
B
I
I
think
yeah,
it's
you
know
like
I
I
feel
like
overall
right.
So
the
the
you
know
we
we
reach.
We
have
the
agreement,
how
to
do
it
right
so
and
we
do
have
a
lot
of
details.
You
know
you
know
pay.
You
know
based
on
the
contribution
from
the
from
Sanjay
and
team
right.
So
definitely
a
lot
of
detail
but
I
feel,
like
you
know,
it's
not
a
hundred
percent.
The
spec
is
not
a
hundred
percent
clear.
B
You
know
in
terms
of
handling
those
age
cases
which
is
most
you
know,
probably
the
most
critical
things
right.
So
you
need
to
get
these
things
right
right.
So
it's
not
like
yeah,
and
you
know
that
I
understand
this
is
definitely
a
lot
of
the
challenging
in
a
lot
of
details
right.
So
so
at
this
point
right
so
I
think
you
know
I
will
definitely
you
know
follow
up
with.
You
know
presenter
separately
to
understand.
B
You
know
how
exactly
it
has
been
done,
but
meanwhile
I
think
you
know
for
the
community
members
right.
So
you
know
anyone
has
any.
You
know,
suggestions
and
proposal
because
it
probably
is
there
right.
So
you
know
these
two
channels,
things
how
to
resolve
the
conflict.
I
think
we're
willing
to
have
here
anyone
that,
having
any
suggestion
or
concrete
the
proposals
to
address
this
right
right,
so
I
I.
B
Yeah
yeah
yeah
yeah
yeah,
so
you
know
any
any
members.
If
you
want
to
bring
forward
your
your
proposals
on
this
one,
you
know
I.
Definitely
you
know
open
to
listen
to
those
and,
and
you
know
see
how
we
can
get
conversion
those
specific
problems
right
so
I
think
where
you
know
this,
you
know
made
a
lot
of
progress.
You
know
coming
from
a
generic
idea
to
a
very
specific
proposal
now,
but
we're
still
missing
some
details,
and
you
know
it
doesn't
mean
that
you
know
anybody.
B
If
we
can
fill
those
details,
you
know
have
proposals,
you
know
we.
We
should
work
together
to
to
to
get
this
back
clear
right.
So.
F
B
F
B
No
no
I
mean
this
is
a
Holy
Grail
right.
So
if
you,
yes,
if
you
want
to
ask
me,
you
know
like
what
is
the?
What?
How
important
is
a
trait
to
this
project?
I
mean
it's
a
it's
a
Holy
Grail
right,
so
yeah,
you
know
CPS,
you
know,
of
course
you
know,
but
it's
it's
a
it's
a
kind
of
different
challenges
right.
So,
but
you
know
this
is
this
correctness
I
think
yeah.
F
B
F
I
just
want
to
say
it
for
the
record
and
people
can
ride
me
out
of
town
on
a
rail
if
they
want
because
I
know
it's
a
lot
of
work.
But
you
know
at
some
point
we'll
be
talking
about
these
specs
and
then,
if
we
don't
have
anything,
we
can
share.
We'll
have
a
super,
complex,
spec
and
then
vendors
will
say:
okay,
here's,
my
Black
Box,
you
know,
try
it
out
and
and
there'll
be
a
lot
of
black
boxes,
we'll
be
trying
out
and
and
it'll
be.
B
Don't
know
I,
don't
know
how
to
exhausted
all
those
age
test
cases
you
know
if
we,
if
we
completely
like
treated
them
in
a
black
box
right,
so
I
will
be
testing
challenges,
yeah,
so
yeah
yeah.
So
I
think
you
know
what
you
you
said
is
a
is
a
is,
is
a
very
good
idea
right.
So
you
know
like
a
basic
version.
I
think.
Maybe
you
know
you
know
the
the
you
know,
especially
on
this
particular
scenes
right
so
I
think.
B
Maybe
the
you
know
the
challenges
that
the
you
know,
the
oh
there's
some
ideas
but
like
we
actually
don't
know
how
to
implement
that.
You
know
Implement
that
correctly,
you
know.
If
I,
you
know,
I
I
think
your
idea
is,
you
know,
let's,
let's
put
a
basic
version
out
and
then
you
know
then
iterate
on
that
basic
version
right
so
yeah,
I
I,
you
know
I
I,
think
my
focus
is
still
you
know,
at
least
from
my
side.
I
I
need
to
have
a
clear
view.
B
B
B
Oh
I
I
think
you
know
so
yeah,
so
you
know
there
are
two
ways
right.
So
one
way
is
that
the
you
know
we
we
will
try
to
form
a
more
clear
view.
You
know
those
age
cases
and
bring
up
those
proposals
to
the
community.
B
You
know
a
specific
proposal
right.
So
you
know,
there's
could
be
multiple
different
approaches
to
to
address
this
challenge,
but
we
will
we'll
try
to
bring
up
a
specific
proposal
and
of
course
you
know
there
there's
other
vendors
and
if
any
winners
want
to
you
know,
you
know
bring
forward
their
proposals.
I
think,
of
course
you
know
it's
certainly
will
come
right.
So
I
think
this
is
a
big
Community.
We
have
a
lot
of
experts
here.
You
know
I
understand
the
problem,
you
know
knows
how
you
know
how
to
solve
it.
B
We
just
need
to
you
know
collaborate
a
little
bit
more
to
to
to
get
to
get
some
more
information.
You
know
you
know
agreed
yeah,
so
I
don't
think
this
is
the
raw
case.
Size,
yeah,.
B
I
think
it's
maybe
it's
a
you
know.
The
radius
is
more
on
the
software
side.
I
think
the
challenging
here
is
that
there's
two
channel
in
sync,
so
this
I
don't
know
what
kind
of
existing
model
we
have
right.
So
there's
a
because
you
know
if
there's
only
one
channel,
that
there's
no
problem
right,
but
we
kind
of
have
two
channels
for
for
the
flows.
One
goes
through
the
slow
pass.
B
One
go
to
the
data
pass,
so
these
two
channels
need
to
resolve
some
kind
of
conflict
right
so
that
that
I
I
I
don't
know
like
what
what
kind
of
you
know
I
haven't.
You
know
whether
there
is
a
existing
solution,
similar
solutions
that
we
can
borrow.
B
A
Sorry,
my
dog's
barking,
so
so
it's
noon
should
we
cut
for
the
day
Gohan
or
keep
going.
B
No
I
see
we
we
need
to
actually
because
we,
we
discussed
quite
a
few
on
these
things,
but
we
do
not
have
a
solution
right.
So.
A
A
Yeah,
okay,
great
you
guys
yeah
great,
thank
you
and
thank
you
pensando
team
for
coming
on
and
everybody
else.
I'm
gonna
stop
the
recording
and
post
it
like
normal
and
I
guess,
put
on
your
thinking
caps
for
next
week
and
we'll
get
back
together.