►
From YouTube: DASH High Availability Working Group Oct 25 2022
Description
-Suggestions & Comments added to https://github.com/Azure/DASH/pull/244/files
-Heartbeat process and format: Message format is in the header file (flow sync message notification data)
-SAI_DASH_HA_REGISTER_CP_CHANNEL_ATTR_NAMED_PIPE
-Get from named pipe, or standard SAI notification?
-Callback function, is this defined? So SyncD can register (b/c ReDis is not used)
-Should we use 2 different channels? Named pipe for data, another for all control messages?
-HB messages are over UDP for this paper. Should we use BFD? Need to think more on this…
-Multi-path vs Single-path - need to think through this problem. We should have options to choose
-Come to next session w/ideas :)
A
A
And
so
we
did
have
some
comments
on
I
think
it
was
pr244
to
address
some
comments.
There
did
you
guys
have
something
you'd
like
to
cover
first,
or
should
we
jump
into
looking
at
that.
A
B
Oh
yeah
I,
you
know
I
remember
last
time
using
that
the
you
know
we'll
add
more
metadata
information
or
is
that
is
that
going
to
be
discussed
in
this
video?
Are
we
ready
or
no.
C
B
So
that
party's
not
ready
right,
so
they
you
know
what
what
else
you
know
we
we
can
discuss.
B
E
Oh
just
stated
verbally
so
I
looked
at
the
chase
session,
and
my
understanding
is
that
there
are
a
few
assumptions
made
when
this
API
was
defined
and
I
think
that
it's
better
to
add
more
information
to
session
apis.
Instead
of
like
trying
to
to
make
these
assumptions.
So
first
is
that
session
doesn't
have
a
source
IP.
Only
a
pure
IP
I.
A
E
Then,
with
regards
to
encapsulations,
so
there
is
a
diagram
that
shows
the
basically
UDP
encapsulation,
if
I'm
not
mistaken,
for
a
tunnel
between
active
and
standby.
This
could
also
be
generalized
as
a
choice,
because
we
potentially
could
have
other
options
like
some
of
the
standard
encapsulations
which
wouldn't
really
change
anything.
Just
different
encapsulation
and
same
thing
for
heartbeat
I
think
we
should
either
try
to
provide
a
clear
understanding.
E
What
kind
of
heartbeat
is
used
for
this
should
be
used
for
the
AHA
session,
either
in
terms
of
again
encapsulation
or
maybe
more
specifically,
in
terms
of
the
protocol,
because
right
now
it
just
has
Target
and
provides
the
intervals
and
that's
it
so
for
the
for
the
network
for
the
management,
it's
also
important
to
understand
what
kind
of
encapsulation
is
used
for
harmony.
C
C
Right
so
I'd
left
that
end
cap
to
the
this
thing.
Okay,
I
can
add
an
end
cap
there,
which
will
make
it
this
thing,
but
yeah
make
that
makes
sense.
I
can
I
agree.
D
C
F
No
no
I
think
heartbeat.
Actually,
there
are
two
places.
I
was
little
confused
at
one
point
where
it
said
the
heartbeat
will
go
through
the
control
Channel.
But
then,
when
I
looked
at
some
of
the
state
machine,
it
was
actually
coming
in
the
when
the
heartbeat
basically
expired
expires.
The
the
it
is
communicated
through
the
data
plane
deep
from
the
dpu
side,
and
then
it
just
goes
up
from
the
bottom
up
to
inform
it
that
hey.
You
know
that
we
have
lost
the
heartbeat
and
we
should
now
initiate
it
switch
over.
C
Yes,
we
say
somewhere,
let
me
check
and
see
if
we
say
that
it
is
through
the
control
plane.
But
this
thing
is:
if
it
is,
then
it
must
be
a
typo
somewhere,
but
it
is
through
the
it
is
handled
via
the
the
dpu
itself
directly,
not
the
state
machine.
Basically.
D
C
Right,
yeah
yeah.
This
thing
is
right.
So
when
we
lose
heartbeat,
there's
a
notification
that
comes
to
the
state
machine
that
we
lost
the
peer
itself.
F
Actually
it's
in
the
beginning,
the
document
yeah
I
mean,
if
you.
C
D
C
C
C
C
Oh,
is
this
no,
no
I
think
this
would
be
off
the
distinguished
of
the
pr
Snapchat
okay.
B
D
B
I
think
you're
someone
mentioned
like
heartbeat,
you
need
to
you,
know
the
packing
need
to
be
prioritized.
You
know
certain
DHCP
value,
but
they
didn't
really
see
that
you
know
you
have
a
way
to
specify
the
DHCP
in
your
hybrid.
D
B
C
Is
the
Stream
when
we
are
syncing
the
packets?
We
want
to
have
a
stream
between
so
I
think
this
is
the
one
I
was
saying
in
the
beginning
right.
If
there
is
any
other
suggestion,
please
do
but
I
think
we
need
some
stream
between
in
this
I
API
from
the
dpu
implementation,
so
we
can
send
the
closing
packets
up
via
the
control
plane.
B
This
attribute,
what
does
it
mean?
I
mean.
C
Oh,
this
is
the
name
the
this
thing
for
the
named
pipe.
C
This
is
the
stream
Gohan,
so
we
need
stream
of
messages.
For
example,
when
we
are
doing
the
flow
sync,
the
bulk
sync,
this
thing
we
want
to
be
able
to
send
a
stream
of
messages
up
to
the
to
Sonic,
so
Sonic
can
pass
it
on
to
grpc
channel
right.
So
this
is
that
stream.
C
Go
up
okay,.
C
We
are
looking
for
that
picture
of
bulb
singer
where
it
shows
the
cultural
plan,
control,
plane,
sink
and
DP
science
sync
channel.
Oh.
C
One
more
one
picture
yeah,
so
this
is
this
between
the
DPO
and
the
Sonic
go
on,
so
they
need
this.
There
is
a
stream
of
messages
that
go
through
from
the
TPU
Sonic
and
Sonic
needs
to
relay
this
messages
to
the
other
DPO.
So
the
relay
happens
through
this.
A
C
B
What
what
messages
from
image
is
it
relate
from
the
control
plan
to
the
data
plan.
I'll
choose
from
the
data
plan
to
the
control
plan.
F
So
Gohan,
what
what
really
happens
is
that
if
you
want
to
do
this
bulk
scene,
you
are
just
taking
a
snapshot
of
your
flow
table
and
then
just
taking
those
entire
flow
snapshot,
and
then
you
are
syncing
it
between
active
and
standby,
and
that
information
needs
to
go
from.
You
know
at
really
retrieved
through
some
side
site.
F
You
know,
call
and
be
able
to
bring
bring
it
up
to
the
Sonic
level
in
order
for
you
to
really
sink
across
right
and
that's
where,
basically,
you
know
this
whole
information
is
that
this
is
how
you
do
it
there
is.
There
is
not
no
information
that
is
coming
in,
so
to
speak
from
the
DP
sync
and
then
to
the
dpu
and
then
going
to
the
CP
right
to
the
control
plane.
It's
just
that
there
is
already
a
data
in
the
flow
table
that
needs
to
be
brought
up
and
be
able
to
be
synced.
C
We
have
defined
the
format
it's
visible,
but
the
format
is
visible.
This
is
whatever
is
the
flossing
message
for
the
bulk
sync
that
we
are
defined
both
in
grpc
and
in
PSI.
C
What
I
meant
Krishna
was.
It
was
one
to
encourage
it's
the
same
info
yeah
but
you'll
see
the
fields
so.
C
Until
you
guys
have
more
this
thing,
because
this
is
the
bulk
correct,
we
will
be
syncing
millions
of
flows.
B
Okay,
so
we
open
this
name
the
pipeline.
Then
we
get
the
messages
and
the
message
to
format
is
this
defined
in
this,
which,
which
is.
B
As
a
header
file
this
this
flow
sync
message:
notification,
data,
correct:
oh,
we
don't
really
have
a
callback
mechanism
right
so
for
that
right,
so
it's
more
like
okay!
I
have
to
open
this
name.
The
pipe
and.
C
C
Yeah
I
think
Gohan
was
thinking,
swss
I
think
right,
lab
I
think
we
had
some
discussion
we'll
go
on
with
suggesting
it.
No.
B
B
C
Yeah,
so
my
this
thing
was
I
think
the
this
is
the
bulk
of
the
messages
where
I
think
we
need
to
be
more
efficient,
so
I
thought
the
the
fifo
would
be
much
faster.
There
are
other
notifications,
for
example,
HS
State
notifications,
Etc
that
can
come
as
regular
PSI
notifications.
B
Okay,
but
I
didn't
see
the
Callback
functioning
strategy.
Is
there
a
callback
function
to
send
those
notifications?
My
understanding,
okay,
you
are
saying
like
for
the
you
know
flow
sync,
since
it's
a
bunk
of
data,
so
we
use
the
name
pipe
to
get
it
right.
So
for
other
states,
you
know
state
where
we're
getting
from
the
notification,
but
it's
it's
a
notification
also
defined
in
the
side
attribute
either
a
callback.
What
is
it
where
is
it?
Where
is
the
notification
call
back.
C
The
notification
itself,
the
structure
is
defined
right
there,
the
DP
message
and
then
there
is
one
more
below
just
you
know.
You
see
the
TPU
control
message:
notification.
B
C
And
then
there's
one
more,
which
is
the
role
status.
So
what
do
you
suggest?
Can
we
take
these
also
on
the
same
name,
pipe
gone?
Is
that
better
thing,
instead
of
doing
a
separate
two
different
mechanisms
so.
C
B
Understand
right,
so
you
know
if
it's.
If,
if
is
in
no,
if
is
you
know,
I'm
fine
I
think
you
know,
there's
a
two.
You
know
there's
a
boxing,
you
know
wire,
more
efficient,
Channel
versus
you
know
slow
messages,
but
I'm
just
wondering
like.
If
it's
going
through
the
standard
side
callback
is
those
callback
functioning,
also
Define,
the
no.
So
that's
part
I'm
trying
to
understand.
D
B
Yeah
I'm,
just
trying
to
you,
know
see
if
this
you
know
there's
a
you
know
in
this
size
switch
attributors
that,
like
FTB
event,
notification,
other
notification
right
so
usually
come
come
with
a
callback
function.
If
we're
going
some
of
the
notifications
going
through
that,
you
know
the
way
the
final
callback
function
so
that
you
know
the
sync
D
can
register
and
then,
if
there's
a
notification,
you
can
get
those
right.
C
B
So
that
part
I
I,
you
know,
maybe
you
can
help
me
here
right.
So
usually
you
know
when
you
have
a
you
know,
large
data
versus
some
control
messages
right,
so
usually
the
control
message
is
a
higher
priority.
You
know
you
need
to
get.
You
know
like
a
quicker.
You
know.
D
B
The
for
the
for
the
data
right
so
because
it's
about
bulk
right
so
is
your
name
pipe.
We
also
have
a
priority
setting
there.
You
know
like
you,
can
we
can
you
know
if
there's
some
messages,
we
need
to
process
more
quickly.
Does
it
get
the
head
of
some
of
the
flow
data
there.
C
We
can
construct
something
on
top
of
the
fifo
we
could
do
if
we
wanted
to.
We
could
put
Priority
to
go
on,
but
I
think
we'll
need
to
put
one
layer
on
top
of
the
fiber.
B
Then
maybe
you
know
if
it's
better,
to
use
two
different
channels
so
that
you
don't
you
don't
need
to
like
this
priority
scenes
right.
So.
D
B
I
mean
the
name,
the
pipe
which
is
getting
all
the
data
into
the
you
have
another
to
get
all
control,
control
messages.
C
Yeah
I
didn't
see
any
these
things.
I
thought
it
might
be
okay
to
put
it
but
I
think
in
a
longer
this
thing
it
might
be
good
to
keep
it
separate
sure,
so,
I
think
I've
defined
the
structures
here.
The
actual
content
of
each
of
the
notifications
I
think
we
need
to
define
the
the
Callback
function,
also
right
in
below,
if
you're
going
to
use
the
other.
C
This
thing
I,
look
at
some
examples:
I
haven't
done
it
myself
before,
like
I,
can
look
at
some
examples
to
add
a
callback
function
into
this
thing:
yeah
but
yeah.
This
is
the
content.
I
thought
this
would
be.
You
know,
give
an
idea
on
what
we
are
trying
to
communicate.
B
D
B
If
this
for
this
you
know
this
is
a
hard
beat
right,
so
I'm
just
curious,
you
know
maybe
why
we
didn't
reuse
the
BFD
for
the
heartbeat,
because
that's
what's
will
Define
then
you
can
use
that
to
get
the.
You
know
same
mechanism
to
get
notifications
if
it's
been
lost
right
so.
C
C
C
Yeah
multi-part
I'm
not
sure
if
the
multi-hub
actually
does
probing
of
multiple
parts,
or
is
it
just
non-local
more
than
TTL,
zero
or
I'm,
not
sure
if
it
does
probes
multiple
parts
to
check
patents.
D
Can
you
add
the
time
unit
for
your
heartbeat
interval?
Is
that
a
maybe
second,
it's.
D
Yeah
I
think
it's
supposed
to
mention
that
in
the
comments.
A
C
It
got
it
okay,
could
you
just
leave
a
comment?
There
too
I'll
note
it
down.
If
anything
else,
please
leave
a.
B
Comments,
yeah
I
I
just
did
I
just
did.
If
you
refresh
you
know
later,
you
can
get
those
comments
yeah
so
because
time,
granularity
right
so
yeah.
D
Yeah
to
clarify
the
name
pipe
is
opened
when
Sonic
requests.
The
boxing.
C
It's
close
does
not
necessary,
it
is
when
the
pulsing
gets
open.
The
channel
gets
open.
D
Unless
the
pipe
contains,
if
there
are
separate
callbacks
implemented
for
non-flow
related
information,
that
needs
to
be
passed
from
dpu
to
control
plane,
what
is
the
use
of
having
the
pipe
open
after
bulk
sync
is
completed.
C
B
But
every
I
mean
because
there's
a
you
know
bunch
of
how
how
do
I
know
you
know
I'm
getting
all
the
flow
data
you
know
gives
a
name
pipe,
but
how
do
I?
You
know,
know
that
you
know
I
have
get
all
the
data,
and
now
we
can
close
the
name.
The
pipe
foreign.
C
If
you
wanted
to
close,
there
is
a
notification
which
says
complete
in
the
state
Mission.
If
you
see
there
is
a
notification
that
comes
from
the
dpu,
because
only
the
DPO
knows,
if
everything
is
the
this
thing
right,
the
data
part
knows
whether
it
synced
all
the
bulk
sync
is
complete.
There
is
a
notification
that
comes
up
that
says
bulk
sync
done
so.
F
F
You
know
the
state
machine
yeah
Sonic,
because
the
state
machine
is
running
in
Sonic.
He
is
going
to
initiate
it
and
when
it
is
going
to
initiate
this
thing,
it
is
actually
reading
this
entire
flow
table.
The
snapshot
of
the
flow
table
in
batches
right,
because
it's
gonna
get
some
and
then
it's
going
to
go
again
and
then
start.
You
know
from
the
offset
that
it
basically
so
it.
C
F
So
this
is,
is
this:
is
this
I
believe
that
probably
go
on
is
asking
like
this,
but
then
eventually
you
know
there's
a
last
one
so
either
you
know
it
that
you
have
this.
You
know
the
total,
the
total
number
of
entries
in
the
flow
table
snapshot
and
then
it's
all
maintained
at
the
at
the
Sonic
level
or
so
so
why
why
the
notification
has.
C
To
come,
so
that
is
yeah,
so
that
is
where
the
stream
comes
into
this
thing.
So
what
happens
is
once
you
start
closing
right?
You
can't
I.
Think
I've
explained
that
in
the
top
right,
it's
better.
We
cannot
it's
not
like
just
reading
a
bulk,
read
and
dumping
to
the
other
side
right,
so
the
that
is
up
I
mean,
like
we
have
talked
within
before
meetings
right.
So
there
is
this
thing
where
we
don't.
C
There
is
optimizations
where,
in
the
dpu,
you
could
request
flows
for
a
particular
slice,
for
example
right,
so
the
next
one
next
view
have
to
be
from
this
slice.
So
that
is
where
the
stream
comes,
helps
where
there
is
some
feedback
coming
back
from
the
other
side,
dpu
the
standby
DP,
which
is
receiving
a
sync
which
comes
via
this
DP
using
message
and
the
the
implementations
can
control
which
flow
sync
messages
are
going
at
what
time
right?
C
What
is
the
sequence
of
the
closing
messages,
so
it
can
be
optimized
on
the
other
side,
and
so
once
that
is
complete,
the
DP
knows
that
it
has
run
through
the
whatever
the
perfect
sync.
We
have
run
through
the
whole
thing
once
and
any
once
you
complete
the
perfect
thing,
there
might
be
any
catch-up
thing
that
we
need
whatever
is
needed
once
that
is
done,
the
implementation
knows
the
all.
The
flows
have
been
sync.
All
the
bulk
Sync
has
been
completed
once
that
is
done.
C
The
dpu
notifies
that
the
pulse
link
is
done.
So
if
you
look
from
Sonic
there's
a
bulking
stat,
the
actual
sequencing
of
what
what
flow
sync
messages
go
at.
You
know
in
what
sequence
right
that
is
controlled
by
the
data
part
and
once
the
data
path
completes
all
the
flow
sync
messages.
There
is
a
notification
that
says
the
pulsing
is
done.
F
C
F
When
you
said
when
you
say
data,
but
essentially
it's
PSI
right,
so
you
were
expecting
yeah,
so
you
yeah,
so
you
are
expecting
Psy
to
keep
the
state
of
this
entire
thing
that
hey
you
know
what
it
has
been
sending
it
out
above
to
Sonic
to
be
synchronized
to
the
other
side
and
then
eventually,
when
it
basically
sees
that
okay,
it
is
done
giving
it
out
everything.
Then
it's
going
to
say
that
I'm
done
right
right.
So.
F
C
Yeah,
no,
no,
no
I,
think
yeah
terminology
wise
what
happened
to
us.
This
is
the
actual
per
implementation.
Whatever
we
developed
right,
that
is
the
site
right
right.
D
D
F
So
I
I
want
to
really
just
clarify
one
thing
when
I
started
out
in
the
documentation,
so
so
Krishna,
if
you
don't
mind,
searching
for
the
heartbeat
and
then
there
is
a
section
there.
D
F
Yeah
this
one
thank
you,
so
this
one
I
think
I
I,
probably
either
misread
or
misinterpreted
the
last
couple
of
sentences
in
this
section,
which
says
that
you
know
it
can
be
quite
aggressive
and
can
be
sensitive
to
such
delays.
If
you
use
the
same
channel
as
other
other
control,
plane
messages
right,
correct,.
D
F
I,
what
I,
what
I,
probably
misread
or
misinterpreted,
was
that
you
probably
meant
that
use
dscp
to
really
differentiate
heartbeat
from
other
control,
plane
messages
and
everybody
still
use
the
control,
plane
Channel,
but
I
guess
you
know
there
wasn't
your
intention
right
that.
C
Is
not
no,
it
cannot
be
the
time
it
should
not
be
the
control
plane,
Channel
itself.
Okay,
it's
okay.
What
I'm
going
to
say
here?
Okay,
because
you
would
have,
if
you
had
a
very
large
batch
of
say,
flow
sync
messages
which
is
going
as
one
message
out
right
in
the
grpc
channel
between
the
two,
your
heartbeat
would
get
blocked
behind
that
right,
which
would
like
the
idea.
Yes,.
F
Yeah,
so
then,
then
you
are
right.
Actually
you
have
it
correct
in
the
documentation.
Probably
there
is
no
need
to
to
reason,
but
the
only
thing
I
guess
you
know
we
need
to
really
Define
the
DHCP
part.
So
in
other
words,
what's
going
to
happen,
is
that
I
will
add
yeah
sure
so
in
the
DP
sync
channel,
right
or
or
sorry
in
in
the
in
the
yeah,
the
dpacing
channel,
there
will
be
heartbeat
messages.
F
There
will
be
the
messages
which
are
doing
the
inflow.
Sorry
inline
flow
synchronization
and
there
will
be
messages
that
are
also
doing
any
synchronization
of
those
flows
which
have
been
re-evaluated
because
of
perhaps
you
know,
flowy
simulation
right.
C
F
Right
and
then
then,
just
one
quick
question
on
this
update
of
flow
due
to
flowy
simulation
or
whatever
right.
You
know
when,
when
those
flows
get
updated,.
B
And
you
can
ask
a
follow-up
question
on
the
heartbeat
yeah.
Is
this
Harpy
just
the
purpose
to
make
sure
the
network
connectivity
is
there
or
does
he?
Does
he
go
through
more?
You
know
things
to
check.
I
mean
is
it
is
the
whole
purpose
to
make
sure
the
network
connectivity
is?
Is
there
between
the
between
the
peers
right
so.
B
Is
more
to
check
I
mean
basically
I
mean?
Does
he
it
sounds
like
it
doesn't
really
go
through
the
you
know,
single
process
to
make
sure
sync
process
is
running
right.
So
just
the
heartbeat
is
just
checking
the
network
connectivity
you
see
or
not
right
so
correct.
B
B
To
publish
we
Define
the
you
know
the
now.
B
B
I
I,
I,
okay,
I
think
you
know
if
it's,
if
it's
just
to
check,
never
connect
you,
maybe
you
know
using
the
bft,
is
well
defined.
It
would
be
better
right.
So
then,
because
that
that
t-shirts,
you
know,
abilities-
and
you
know,
because.
C
C
C
F
B
You
should
think
more
on
this
one
right,
so
I
think
yeah,
I,
guess
you
know
the
the.
A
C
So
I
think
bft
if
the
multipath
actually
does
the
PFT
multi-hop
right,
it's
called
My,
bft,
multi-hope
I
think.
If
that
does
multipath
probing,
probably
we
could
use
bfp.
That
sounds.
B
Oh
you're
you're.
This
probe
used
a
modipas
probe
yeah.
D
C
Yeah
so
now
that's
the
thing:
do
we
need
to
specify
the
source
Port
range,
or
we
just
dashboard
right?
Is
that
do
we
also
have
firewall
rules
which
kind
of
look
at
the
source,
port
and
drop
it
or
it
will
be
just
desperate
if.
B
C
B
B
C
No,
no,
no,
no!
No!
What
I
meant
was
Source.
Port
will
change.
So
when
you
say
Define,
you
saying
in
the
administrator
has
to
Define
what
is
the
range
of
source
ports
or
is
the
admin
specified
just
the
dashboard
left
to
the
this
thing
to
change
the
source
portrait?
If
we
really
want
entropy
yeah.
B
Maybe
I
I
think
actually
maybe
we
think
more.
You
know
you
are
talking
about
this
money
pass
right,
so
you
know.
Isn't
that
the
you
know,
maybe
the
format
should
be
similar
to
the
the
flow
that
you're
trying
to
encapsulate
so
that
you
share
the
same
fate
with
with
those
flow
right.
So
you
know
the
encapsulated
flow,
maybe
that's
better
or
we're
just
trying.
B
Yeah,
but
you
are,
you
are
encapsulating
them
as
show
me.
You
know
that
is
that
the
also
going
maripa.
So
that
is
a
standard
you
know
like
a
vxline
headers
or
some
some
kind
of
headers
so
that
all
the
flow
you
know
all
this.
You
know
the
DP
sync
flow
are
going
through
one
part,
so
they
are
actually
going
through
multiple
paths.
C
Yeah,
that
that
is
a
good
bulky.
Do
you
I,
just
I,
don't
expect
that
we
in
the
deepest
sync
itself,
then
outer
end
cap
packet.
B
C
D
B
B
D
Beginning
of
the
edger
discussion,
I
think
initially,
if
it
was
said
that
we
will
have
a
specific
path
but
I'm,
okay
with
any
part
actually
yeah.
A
E
B
Easy
is
this
special
pass
better
or
malipas
better,
because
I
I
I,
don't
know
like
which
one
because
I
think
the
the
data
is
not
huge
right.
So,
but
if
it's
going
multi-pass,
maybe
some
past
goes
wrong
and
you
would
have
a
trouble
for
those
flows
right.
So
if
it's
going
through
one
person,
you
know
user,
all
of
them
good
or
one.
You
know
none
of
them
good
right.
So.
D
F
So
are
we
suggesting
that
we
have
to
pin
apart
because
I
mean,
if
you
look
at
the
picture
that
initially
is
shown
for
this
one?
The
connectivity
is
through
the
fabric
right
yeah,
the
connectivity
is
through
the
fabric,
then
we
don't
have
any
say
in
you
know
what
path
the
packet
is
going
to
take.
So
all
the
DP
sync
or
heartbeat,
or
even
all
the
control
panel
back
control,
Channel
packets,
they're,
all
going
to
take
basically
go
through
the
fabric
right
yeah.
B
B
Yeah,
but
we
do
have
a
choice
that
we
can
tell
tell
all
this
package
to
go
to
a
specific
pass
or
you
know
they
can
go
multiple
us
right,
so
we
do
have
a
choice
on
that
part.
You
know
whether
we
want
all
of
them
go
to
a
specific
pass
which
we
don't
know.
What
is
that
special?
But
we
know
always
go
to
a
specific
path
versus
where
I
randomize,
those
entropy
and
let
them
go
to
all
the
paths
right.
So
we
we
we
do
have
we
can
make
that
choice
right.
B
So
it's
just
one.
You
know
think
that
you
know
when
we.
What
what
choice
do
we
make
on
that
front
right?
So
there's
a
problem
concept.
I
think
you
know,
because
if
it's
going
through
all
paths
right
so
maybe
one
pass
will
be,
you
know
will
be
we
will
have
issue.
Then
you
have
some
flow,
nothing,
but
not
all
the
flows
right.
So
then
you
know:
if
we
go
to
a
pass,
then
you
know
at
least
it's
a
it's
a
it's
a
binary
failure
right.
B
So
both
your
probe
and
the
the
sorry,
the
heartbeat
and
do
the
flow
sync
message
will
share
and
your
heartbeat
can
detect
that
issue.
E
B
Yeah,
you
see
yeah
yeah.
Basically,
you
know,
go
to
you
know
a
set
of
switch
okay
right.
So
you
know,
don't
don't
you
know
because
I'm
saying
like
if
you,
if
you
go
into
multiple
parts
right
so
then
you
know,
for
example,
some
parts
field.
Then
your
heartbeat
is
going
to
have
a
you
know
like
a
10
percent
of
failure.
B
Let's
say
you
know
you
have
eight
parts
and
one
of
the
parts
few
and
you
have
you
know
one
eighth
of
the
failure.
Then
what
we're
going
to
do
in
that
case
I
mean
that's
going
to
be
you
treat
it
as
a
failure
or
treated
as
a
it's,
not
a.
C
C
Something
yeah
the
retransmit
will
handle
that
the
problem
is
one.
This
thing
right:
every
switchover
is
expensive
right
from
the
it's
not
like
a
customer
will
see
it.
The
end
user
will
see
a
switch
over
so
I
think
if
we
preemptive
list,
which
are
let's
say
out
of
the
hundreds
of
path,
One
path
is
flaky
or
not
this
thing
right
and
we
detect.
We
see
the
see
that
we
lost.
You
know
for
600
milliseconds
and
we
foreign
for
some
time,
and
then
we
do
a
switch
over
right.
C
You
might
see
a
few
seconds
of
drop
for
the
end
user.
This
is
yeah.
You
will
see
a
few
seconds,
so
switching
over
is
not
a
really.
If
we
could
not
switch
over.
It
might
be
better
because
if
there
were
some
flows
which
are
not
getting
synced,
let's
say
a
flow
cut
created,
and
it's
not
getting
synced.
The
DP
sync
mechanism
handles
that
right.
There
will
be
a
re-transmit
on
the
tcpcn,
for
example,
from
the
client
side,
which
will
catch
it
up
after.
B
The
network,
okay,
that
parts
right
but
I,
think
the
problem
is
that
okay,
so
because
you
know
you
you
have
this
three
times
you
have
some
threshold
to
detect
the
RPD
loss
right.
So
if
there's
only
one
percent
of
failure,
probably
you
will
never
kiss
that
such
notification
to
your
control
plane
would
not
initially
switch
over
right.
B
D
B
Yeah,
so
in
that
case,
but
your
customer
is
kind
of
experiencing
some
kind
of
issues
right
to
retransmit
right
so
that
that
kind
of
things
it's
happening
right.
So
you
just
didn't
get
noticed
because
you
are
probably
multiple
parts
and
the
only
one
pass
is
failing,
but
your
customer
is
is
suffering
you.
B
Yeah
yeah
yeah,
and
maybe
you
know
that
part
is
a
hundred
percent
failure
and
the
day
you
know
you,
you
have
a
you
know.
Whatever
the
flow
landed
on
that
path,
we're
getting
lost
right,
so
you
will
see
passenger
constantly,
not
able
to
connect
right,
but
you
know
on
on
your
detection.
You
just
you
know,
you
know
the
failure
is
just
not
significant.
You
cannot
detect
it
right.
So.
D
A
B
D
B
B
B
See
see
right
so
here,
of
course
you
know,
you
know
the
the
if
if
one
of
the
link
is
dropping
right,
so
you
know
maybe
it's
a
because
we're
seeing
so
many
you
know
different
kind
of
dropping
balance
right,
so
sometimes
it
does
affecting
a
particular
flow.
You
know
it's
not
saying.
Okay,
if
there's
a
job,
it
will
affect
all
the
flows.
I
mean
usually
it's
the
case,
but
the
you
know
seeing
so
many
fader
patterns
in
the
in
the
cloud.
You
know
there
are
some
cases
where
you
know
some
weird
case.
B
You
know
it's
just
specifically
dropping
a
particular
flow
right.
So
but
anyway,
so
you
know
that
detection
I
think
you
know
there
is
some
other
detection
mechanism
to
detect
that
kind
of
failure
right.
So,
but
you
know
you
I
think
it's
always
good
that
your
system
right
while
I'm
running
this
system
I,
can
detect
those
failures.
Myself
not
rely
on
additional.
B
You
know
indicator
to
do
that
because
you
know
there's
always
question:
how
do
you
integrate
those
things
together
right?
So
you
know
what
I
mean.
Is
that
you're
always
better?
You
know
our
goal
is
to
achieve
self-contained
solution.
Right
so
I
mean
that
that
should
be
our
goal.
So
you
know
in
this
I'm
just
one
one.
You
know
this
community
to
be
able
to
you
know
to
think
through
this.
B
You
know
this
Mighty
partial
single,
pass
problem
right
because
usually
when
we
do
the
ecmp
we're
trying
to
optimize
for
the
bandwidth
right
so
because
it's
just
simply
that
one
link
cannot
handle
all
the
loads
who
are
doing
those
are
doing
those
ecmp
right
so
but
for
the
control
messages
right.
So
if
it's,
the
bandwidth
is
not
really
a
concern,
you
know,
I
think
a
simpler
filler
model
is
is
better
right.
So.
C
Bandwidth
also
can
be
this
thing
going.
For
example,
if
you
are
talking
about
5
million
CPS
or
4
million
CPS
or
3
million
CPS
or
somewhere
somewhere
in
the
millions
yeah,
this
is
CPS
right,
so
yeah
across
multiple
dpus
it
can
be
total.
Pps
can
be.
Quite
it's
not
small
is.
B
What
I'm
saying?
No?
No,
no
but
but
I!
Think
the
you
know
those
deep
Hues
right
so
different,
the
dpu
sink.
They
don't
have
to
take
the
same
pass
right,
so
each
GPU
they
can
have
a.
B
C
Between
the
bandwidth
twice,
if
you
are
thinking
from
an
appliance
and
it's
quite
it's
not
a
small
amount.
It's
not
just
since
we're
talking
about
a
large
buckets.
C
So
the
other
thing
I
was
trying
to
what
I
meant
was
I
mean
whatever
it's
not
really
small,
it's
it's
a
little
bit
of
it's
not
completely
negligible.
The
second
thing
is
I
think
that
is
the
more
important
I
mean
in
my
this
thing
or
the
trade
office
between.
So,
if
you
switch
over
when
it
is
not
necessary
right
in
the
sense
where
we
could
have
continued.
B
C
Got
it
so
now,
if
you
switch
over,
if
you
go,
take
them
taking
the
two
options
right,
if
you
do
a
single
path,
where
you
say
that
okay,
if
a
one
eye
choose
one
path,
if
that
path
fails
and
I
will
I
will
call
it
a
failure
and
do
a
switch
over
right,
because
then
your
heartbeat
fails
and
then
you
switch
over
then
what
ends
up
then?
Is
you
affect
if
you
have
multiple
customers
on
the
card,
all
of
them
get
affected
for
two
seconds.
C
B
The
other
side,
but
it's
kind
of
an
explosive
failure
right
so
I
think
the
the
the
the
I
mean
from
the
experience
point
of
view
right.
So
it's
not
really
a
you
know
it's
more
about
the
okay.
You
have
some
problem,
but
you
don't
detect
the
customer
detect
for
you
right,
so
they
they
kind
of
mad
about
it
right.
So
why?
Why
can't
you
detect
those
issue
before
I?
Detect
it
right?
So,
but
you
know
so.
B
B
Oh
yeah
yeah,
no,
as
I
said
right,
so
they
definitely.
You
know
there
are
other
fabric
mechanism
to
detect
right.
So
but,
however,
you
know
integration
is
that
with
your
specific
solution
is
also
a
challenge.
Therefore,
you
know
always
we're
trying
to
teach
trying
to.
You
know
develop
a
self-content
system
where
we
do
not
have
you
know
we
do
not
have
to
rely
on
the
external
and,
and
we
can
make
our
own
self
better,
but
I
I
think
maybe
you
know
at
least
we
should
make
some
options
right.
B
D
C
So
I
think
the
specification
itself
here,
I,
don't
call
out
anything
any
restriction
on
it
needs
to
be
this
way
or
that
it
is
this
thing,
but
it's
yeah.
A
So
I'm
wondering
it's
been
an
hour
I'm
wondering.
Should
we
keep
going
or
pick
this
up
next
week
and
then
we
do
have
a
question
in
the
chat
window
about
this
BFD
running
on
Sonic
between
the
pairs.
Is
it
more
of
a
thorough
connection?
Checker.
A
We
want
to
end
on
that
where
we
maybe
answer
the
question
in
the
chat
and
then
and
go
for
next
week.
A
Yeah
you
guys,
as
always,
it's
awesome
conversation.
I,
learn
a
lot.
Every
time.
I
talk
to
you
guys,
I'm
gonna,
stop
the
recording.