►
From YouTube: DASH Workgroup Community Meeting Aug 3 2022
Description
Counters presentation
Intel SAI PTF test demo
A
Third
session
of
dash
community
call,
so
today
we
are
going
to
talk
about
we're
going
to
have
some
preliminary
counters
that
we
were
wanting
to
present,
and
I
will
share
my
screen
here
and
we
also
had
reshma
who
wanted
to
respond
her
team
who
wanted
to
give
a
talk
about
my
ptf.
A
So
guys
in
the
normal
general
folder
design,
the
packet
transform
document,
there's
a
section
that's
been
empty,
except
for
a
brief
description
called
counters
over
the
last
nine
months,
and
I
put
some
information
in
here
last
night-
the
counters
that
we've
been
going
over
internally
and
wanted
to
share,
and
so
this
is
what
we've
come
up
with
and
it's
published
and
shy.
I
don't
know
if
we
want,
we
probably
don't
want
to
go
through
every
single
one,
but
I
have
jay
on
the
call
here
to
talk
a
little
bit
about
him.
B
Hi,
this
is
jay
from
microsoft,
yeah.
We
have
come
up
with
some
counters
for
the
dash
community
and
we
I
would
like
to
go
over
these
counters
with
you
guys
to
see
what
do
you
guys
think
of
it.
This
is
very
first
draft
of
this
counter,
so
feel
free
to
comment
on
anything.
B
Some
of
that
I
may
not
be
able
to
answer,
but
I
will
be
happy
to
bring
it
back
and
then
I'll
get
back
with
you,
of
course,
for
the
answers
so
basically
yeah
we
can.
I
think
we
can
go
over
some
colors
and
then
see
what
it
feels
like.
B
So,
let's
go
starting
from
the
beginning.
I
think
we
have
the
total
packets.
This
is
just
the
total
pack
in
front
of
vm
exposed
to
customer
this.
We
have
in
inbound
and
outbound
packet
counters.
Similarly,
we
have
total
bytes
how
many
bytes
are
sent
from
the
vm.
Also
it's
both
the
customer
and
then
we
have
total
unicast
packet
or
multicast
packets
for
ipv6,
tcp
connection.
B
Yeah
tcp
connection
they
had
reset
and
ttl
cut
down
to
five
seconds.
We
have
offline
cars
for
that
and
then
non-seen
stateful,
which
is
nonsense.
Tcp
packets,
that
are
not
dropped
on.
B
We
also
have
counters
for
this
and
feel
free
to
comment
if
these
are
going
to
be
useful
or
not,
or
if
you
want
to
add
more
colors.
In
addition
to
what
I
have
it.
B
C
A
C
Yeah
hi
jay,
what
multicast
packets
are
we
talking
about.
B
So
vm
is
able
to
send
some
multi
multicast
packets
out
right.
We
are
just
calculating
with
multicast
packets.
B
Yeah
multicast,
I
think,
has
the
messages
of
the
most
multicast
packages.
I
think
you'll
want
to
do
something
like
that.
D
B
D
B
When
you
say
our
network,
it's
part
of
the
network.
D
A
D
A
B
A
number
of
flows
we
simulated,
so
this
is
when
some
configuration
change.
This
is
triggering
resimulating
of
the
flows.
We
should
be
counting
how
many
flows
have
been
resimulated
to
because
of
this
configuration
change.
B
B
When,
when
there's
a
flow,
when
there's
a
tcp
connection,
there's
a
flow
that
has
been
set
up
of,
it's
like
on
action
match
right
from
if
the
vm
is
sending
a
packet
to
another
vm
there's
a
the
the
dpu
will
have
an
action
match
like
this.
B
This
address
to
this
destination
address
will
need
to
be
maybe
encaps
to
some
other
addresses,
and
then
this
connection
is
set
up
with
the
flow
and
if
there's
some
kind
of
configuration
change
like
mapping,
change
or
some
other
changes,
then
they
will
re-simulate.
B
D
D
D
If
you
make
a
policy
change,
you
don't
know
how
many
flows
in
that
table
need
to
be
modified.
You
have
no
idea,
so
you
actually
need
to
re-simulate
the
entire
connection
table.
You
have
to
go
through
it,
one
by
one.
You
have
to
see.
You
basically
have
to
re-simulate
the
flow
path,
to
be
honest,
to
figure
out
whether
that
connection
should
exist
and
if
anything
else
has
changed
about
that
connection
like
the
forwarding
or
the
transformations
they
need
to
be
fixed,
and
so
that's
why
you
don't
really
want
to.
D
You
know:
do
one
policy
change
and
re-simulate
the
whole
table
immediately?
It
should
be
done
and
after
receiving
you
know
so
many
policies
over
a
period
of
time.
Don't
know
what
that
should
be,
but
it
shouldn't
be.
Every
time
you
get
a
policy
change
because
the
you
have
to
go
through
a
table
which
is
64
million
deep,
but
you
don't.
F
D
E
D
E
Then
we
need
to
talk
about
this
feature
first
right,
so
they
introduced
the
concept
to
the
community,
because
I'm
not
sure
you
know
the
community
fully
aware
of
it,
and
you
know-
let's
not
discuss
this
briefly
right.
So
you
know
if
we
want
to
set
this
as
a
you
know,
mass
must
require
features
and
we
need
to
have
a
session
dedication
to
discuss
is
what
is
the
scenario
you
know
why
we
need
it
right.
So
those
kind
of
things
before
we
discuss
the
counter
for
this
one.
Oh.
D
E
D
B
B
This
is
explicitly
blocked
by
the
policy
also.
C
B
B
So
if
the
source
is
unknown,
I
think
we
are
thinking
this
packet
is
spoofed
and
we
are
dropping
this
packet
unless
there's
a
explicit
policy
to
allow
this
voting
package.
A
G
So
jay,
you
know.
D
I
don't
think
by
the
way,
there's
any
thing
in
our
pipeline
that
allows
you
to
do
that.
Exactly
you
look
at
the.
If
you
look
at
the
rules,
rules
are
an
ended
list
of
many
destinations
and
sources.
You
don't
know
which
one
it
only
takes
one
to
make
the
rule
positive
in
each
of
the
buckets
and
so
in
the
end.
Rules
cannot
tell
you
that
you
know
if
it
passes
or
fails,
they
fund
long
lists
and
end
functions
right
and
after
that
you
do
forwarding
and
transformations.
D
C
Now
gerald
I
disagree
with
that.
We
explicitly
put
that
kind
of
table
for
checking
pa.
D
Okay,
let's
check
it.
I
could
be
wrong.
I'm
not
aware
of
that,
but
we'd
have
to
make
sure
that's
plumb,
because
the
only
way
you
could
have
got
that
information.
If
somebody
built
the
table
because
it
can't
be
learned.
D
Okay,
let's
check
that
make
sure
that
it
exists
if
it
exists
at
that
point,
but
that's
also
another
lookup
that
needs
to
be
added
into
the
pipeline.
H
Right
and
what
about
the
eni
lookup,
if
it
fails,
will
it
become
part
of
this
counter?
If
there's
a
if
we
are
just
forwarding
the
packet
when
there
is
no
match
with
the
eni.
H
B
But
yeah,
I
think
we
maybe
it
might
make
more
sense
to
at
the
drop
prepend
in
the
low
enough
match
also
because
they
will
be
dropped.
Also,.
I
I
just
wanted
to
make
kind
of
a
meta
comment
here.
I
think
it
would
be
a
good
idea
that
we
someone
tried
to
put
these
counters
in
the
p4
model
code
to
find
out
if
there's
a
major
discovery,
surprise
or
mismatch,
because
sometimes
these
look
good
on
paper,
but
then
trying
to
get
to
the
pipeline.
You
realize
there's
a
technical
problem
or
an
inconsistency
or
impossibility.
I
B
Okay
on
and
then
we
have
some
other
job
packets,
tcp
connection
by
reset
tcp
connection
reset
by
injected
reset.
I
think
this
is.
B
Take
the
pm
injecting
the
reset
packet
for
tcp
connection,
but
actually
I'm
not
100
sure
on
this
one
I'll
I'll
actually
get
back
on
better
description.
With
this
we
have
more
drop
packets
here.
Redirect
packets
pa
discover
packets.
D
Remember
we're
we're
not
the
end
points
so
counting
the
resets
for
that
are
received
on
it
me
and
I
for
its
connections.
It's
pretty
useful,
because
if
somebody's,
if
somebody's
phoning
in
and
saying
hey,
you
know
I
lost
connections
or
whatever
at
least
we
know
that
recently
a
panic
thing
right.
So
I
I
think
that
one
is
very
useful,
but
always
remember
we're
the
in
between
guys,
we're
like
in
the
middle.
We're
not
points
so
we're
just
monitoring
things
that
one
sounds
super
useful
for
debugging.
B
D
And
saying
that
remember,
we
are
a
bump
in
the
wire.
We
are
not
the
tcp
endpoints.
So
what
we
do
is
we
monitor
things
and
we
keep
connections,
no
open
so
that
they
can
go
through
and
then
we
close
them,
but
we're
not
the
end
point.
But
what
is
super
useful
is
if
a
customer
is
having
issues
where
they
say:
hey,
you're,
losing
connections,
and
I
don't
know
why.
At
least,
if
you
have
a
reset
counter
that
tells
you
that
hey
you
know.
D
We
know
that
we,
we
were
receiving
a
lot
of
resets
at
that
point.
That
would
come
from
the
end
points,
but
it's
useful
information.
At
least
we
know
that
there
was
a
bunch
of
connection
resets
done,
and
so
that's
why
it's
useful,
because
we
can
okay
then
go
look
at
the
end
points
and
we
can
see.
A
C
Can
I
yeah,
can
I
ask
one
question
because
we
briefly
went
over
those?
I
don't
think
there
is
any
definition
in
dash
community
of
pa
discovery.
So
I
don't
know
what
pa
discover.
Dropd
discovery
packets
mean
and
the
same
goes
for
redirect.
D
Redirects
happening
in
the
ilb:
that's
how
ilp
works.
You
basically
go
through
an
srv
and
then
the
sob
sends
a
redirect
in
both
directions
for
iob
and.
C
Yet
ilb
in
general
was
not
yet
I
I
suspect.
D
That
it
will
come
yeah,
that's
where
it's
gonna
come,
I'm
just
saying:
that's
where
that
counter.
So
when
you're
doing
dna,
you're
not
going
to
see
that,
but
as
soon
as
you
do
iob,
which
is
part
of
being
it,
but
it's
like
a
future
workplace,
then
you
will
see
that
you
will
see
for
sure.
H
Also
drop
the
drag
packet
right.
We
thought
that
fragmentation
wasn't
going
to
be
applicable.
A
B
Yeah,
we'll
just
get
back
to
get
back
with
some
answers
about
pa
discovery.
I
also
don't
have
a
clear
idea
on
what
the
spectre
does.
B
Anybody
else
have
a
question
on
the
counters
that
is
being
shown
on
the
screen
right
now.
I.
F
I
I
have
a
question
like
so
these
are
like
a
set
of
defined
counters
that
are
per
eni,
but
there
are
other
counters
for
eni
right
like
for
you
know
like
the
route
entry
can
index
a
counter,
maybe
maybe
even
the
acl
acls
can
index
counters.
F
Am
I
correct
on
that
and
like
it
would
be
useful
to
understand
like
what
the
scale
of
those
would
be,
so
that
we
understand
like
how
many
total
counters
we
need
per
per
eni.
D
E
D
A
D
D
Maybe
forwarding
I
don't
know,
but
we
should
christina
have
another
meeting
on
like
the
pipeline
itself.
What
counters
do
we
need
from
the
pipeline
directly.
F
Right,
like
I
thought
that
there
were
counters
like
associated
with
billing
right,
like
these
counters,
seem
to
be
associated
with
just
you
know,
debug
and
overall
status,
but
like
I
thought
that
there
was
a
whole
another
set
of
counters
like
associated
with
billing,
depending
on
like
where
the
traffic
is
being
routed.
There
are
different
counters
that
have
to
be
incremented.
F
D
D
A
And
so
the
billing
work
is
happening
right
now,
john
james
grantham's
team
is
working
to
try
and
define
that.
D
A
Yeah,
this
is
just
the
first
swing
of
what
we
have
right
now,
I'm
wondering.
If
maybe
could
we
could
we
go
back
with
our
questions
and
maybe
let
reshma
do
her
presentation
now
and
wrap
this
up,
and
maybe,
if
there's
more
questions
you
know,
give
me
some
issues
or
pr's
against
it
or
email
me
and
I'll.
Do
it
something
like
that
or
do
we
want
to
talk
about
this
for
a
couple
more
minutes.
D
I
think
we
can
do
restaurants
but
make
sure
that
if
you
guys
just
send
out
the
questions
christina
and
let
people
respond
hey,
I
mentioned
this.
One
just
make
sure
we
collect
all
of.
A
A
And
if
you
have
any
advice,
please
give
it
to
me
or
give
it
to
us
me
and
jay.
A
Okay,
I'm
gonna
stop
presenting
and
freshman.
Do
you
want
to
go
ahead?
Yeah
sure,
thank
you
christina.
Okay
and.
A
B
H
You
voldemort
nick
would
like
to
present.
H
Hi
everyone,
I
think
we
have
discussed
it
a
few
times
earlier,
but
you
know
just
a
quick
recap
is
that
intel
has
developed
a
python
test
framework
test
harness
and
has
upgrade
upstreamed
it
to
cpc.
It's
an
auto
python
based
data
plane,
testing
framework.
H
H
We
have
been
adapting
this
framework
to
work
with
dash
devices
with
fewer
ports
and
a
lot
of
test
cases
that
we
have
also
have
been
adapted
to
the
dash
use
case
as
well,
and
the
dash
device,
mainly
in
today's
demo,
we'll
be
showing
this
test
harness
working
on
dash
device,
real
hardware,
the
intel
ipu.
H
G
Yeah
so
hi
everyone
so
yeah.
Today,
as
much
said,
we
are
going
to
talk
about
the
running
pdf
test
on
ipu,
so,
first
of
all,
the
brief
for
you
of
the
ptf
and
or
size
rift
server
and
client,
so
we
already
presented
what
it
is
and
how
to
generate
automatically
the
size
server
and
the
psi
client
from
the
your
sci
library.
So
here
we
just
you
know,
put
some
brief
explanation
of
what
is
happening
here
when
you
use
the
generation
framework
and
yeah.
G
So
for
this
demo
we
prepared,
like
a
few
scenarios,
very
short
scenarios
and
to
run
on
the
ipu.
So
we
are
going
to
show
the
end
cap
and
and
decap
the
scenarios
in
case
of
the
v-net
use
case,
and
also
we
are
going
to
run
everything
using
the
ptf
test
case
framework.
Also,
we
will
run
everything
on
the
apu
and
also
at
the
end
we
will
show
the
some
someone
simple,
stateless
acl
example
at
the
end,
so
for
today's
demo
we
prepared
the
simplified
setup
just
to
show
this
use
case.
G
Also,
we
have
the
site
street
server,
which
has
been
generated
using
the
auto
generated
scripts
that
we
just
discussed
before
and
also
it
is
linked
with
the
ipu
libside,
which
uses
before
usd
to
control
the
ipu
yeah
and
the
flow
from
the
pdf
framework,
or,
let's
say
from
the
test
case,
to
the
ipu
and
from
the
ipu
is
explained
here.
H
You
like
to
show
the
other
diagram
how
it
maps
to
the
ptf
framework
itself.
The
the
diagram
in
the
document,
the
pdf
server,
where
the
rpc
server
is
in
the
client
is.
G
G
G
So
yeah,
so
this
is
absolutely
let's
say,
aligned
with
what
I
showed
on
the
official
site,
ptf
documentation.
So
on
the
right
side,
we
have
the
site
street
server
and
on
the
left
side
we
have
the
client
and
the
ptf
framework
which
have
the
test
cases
which
uses
the
site
rivet
client
to
execute
the
exact
test
case
scenarios.
G
Okay.
So
let's
move
on
so
for
the
invent,
let's
say
traffic
flow
scenario.
So
what
we
will
do,
we
will
configure
the
invention
rules
on
the
ipu
using
the
auto
generated
python,
size,
strict,
client
apis.
We
will
send
the
excellent
packet
to
the
network
to
host
direction.
With
the
pin
attach
heater,
we
will
check
that
it
matched
the
e9.
G
G
What
is
happening
during
this
use
case
from
the
right
to
the
to
the
left,
so
we
assigning
the
vxlan
packets
to
the
to
the
physical
interface
and
it
goes
through
the
ipu
through
the
configured
tables,
and
then
it
goes
as
a
decappt
if
it
will
be
matched
the
ee9
and
pi
validation
tables
and
let's
go
to
the
scenario
itself.
G
G
On
the
port
9092
on
the
bottom
left,
so
I
start
the
tcp
dump
on
the
one
on
the
port,
where
we
will
be
sending
the
traffic
and
on
the
right
bottom.
So
we
start
the
tcp
dump
on
port,
where
we
will
receive
the
traffic
okay,
let's
go
back
to
the
site,
pdf
and
let's
run
the
inband
test.
So
before
running
the
invent
test,
I
will
show
the
test
case
itself,
so
we
I'll
be
prepared
for
this
demo
test
case.
G
This
is
the
pdf
this
case,
which
uses
the
new
class,
which
is
it
can
be
used
for
the
dash
okay.
So
we
are
using
just
the
two
ports
so
we're
defining
the
direction.
Look
up
in
ipa
validation
source
ip.
G
Also,
we
we
creating
the
v-net
configuration
which
is
described
over
here
so
like
deep,
so
direction.
Lookup
like
create
a
dna,
we're
creating
the
unite
to
mark
mapping,
creating
in-band
routing
with
a
d-copy
validate
action,
and
then
what
we
do
here.
G
So
we
we
set
up
everything
and
we're
sending
the
vxlan
packet
with
the
invalid
destination
mac
address
with
the
invalid
pe
validation,
ip
and
then
we're
signing
with
the
vxlan
and
expect
that
it
will
be
decapped
and
if
you
go
back
to
the
direct
to
the
console.
So
let's
start
at
this
case,
so
I
added
the
pdb
traces
just
to
stop
the
test
case
and
show
what's
happening
a
little
bit
so
on
the
right
top.
We
saw
that
that
hardware
has
been
programmed
with
the
correct
values
based
on
our
configuration.
A
G
G
G
Okay,
so
let's
go
back
to
the
next
scenario,
so
it's
related
to
the
outbound
traffic
scenario.
So
we
do.
We
configure
the
outbound
rules,
we
use
different
setup.
We
send
the
packet,
the
cupped
packet
to
the
net,
to
the
unique
itself
and
then
with
the
v-net
one
in
our
case,
and
then
we
check
that
the
packet
is
kind
of
encapsulated
based
on
cap
mapping
configured
in
the
test
case
and
again,
this
is
the
packet
details.
G
What
is
happening
with
the
packet
from
the
left
to
the
right,
so
we
send
the
ip
package
without
the
encapsulation,
then
we
it
goes
through
the
ipu.
We
have
the
cp
mapping
table
here
explained
over
here
and
then
it
goes
with
the
vlan
tag,
which
is
also
presented
on
the
right
and
yeah
and
let's
go
to
the
live.
E
G
So
I
will
just
scroll
out
a
little
bit
and
then
test
case,
so
once
we
start,
the
configuration
will
be
applied
and
on
the
right
bottom,
we
observe
that
we
programmed
the
device
through
the
libside
and
sidestreet
server
and
if
we
go
to
the
outband
test
case,
so
we
decided
to
use
absolutely
separate
test
case
for
the
inventory.
G
So
again
we
configure
like
direction
lookups
here
and
let
me
go
on
next
yeah,
so
we're
creating
the
underlay
routing
for
us
just
to
populate
the
mac
addresses
correctly
and
configuring
the
neighbors,
and
we
also
configuring
the
direction
lookups
and
e9,
creating
the
nightmare
mapping.
Outland
e99
and
I've
been
routing
and
cp
entry.
What
we
are
testing
today
with
this
ap
address,
so
if
we
back
to
the
console,
so
configuration
has
been
applied
so
right
now
we
are
going
to
send
the
traffic
and
we
expect
that
it
will
be
encapsulated
based
on
our
tables.
G
So
we
have
some
another
the
test
case.
So
it's
just
a
regular,
a
stateless
ico.
You
know,
so
we
can
just
demonstrate
that
we
can,
you
know,
just
deny
over
me
the
packet,
so
we
implemented
just
simple
dmoc
matching
here.
So
what
this
test
case
is
doing,
and
so
for
now
we
send
the
the
packet
before
anything
is
configured
on
the
device.
G
So
nothing
is
received
and
then
we
will
send
the
correct
packet
with
the
right
destination
mark
address
entry
like
here
and
as
you
can
see
from
the
left
to
the
right,
we
send
the
packet
and
received
on
the
right
and
if
we
right
now
we
are
sending
the
packet
after
the
entry
has
been
removed
from
the
device
and
the
the
packet
has
been
sent,
but
nothing
have
been
received
on
the
right
yeah
and
the
test
case
has
been
passed.
So
everything
is
okay
here.
So
I'm
done.
I
Well,
that's
great.
I
have
a.
I
have
a
few
questions
if
I
can
ask
yeah
yeah
chris.
First
of
all,
it's
awesome
to
see
it
running
on
a
real
piece
of
hardware.
Well
done.
Yeah
yeah
does
so
does
the
psi
api
that
you
generated
correspond
match
pretty
well
to
the
bmv2
p4
model
in
the
dash
repo
there's
the
same
tables,
the
same
elements.
H
G
I
Do
you
think
we
can
try
to
get
these
running
in
the
bmv2
model?
Some
of
these,
the
ones
that
you
know
the
b
and
b
can
support.
I
G
H
The
test
case
right
yeah,
the
test
case
is
very
new
and
we
have
just
tested
it
and
we
plan
to
upstream
it
for
sure.
We
can
actually
add
it
to
our
dash
branch,
where
the
rest
of
the
ptf
framework
is
already
upstream
to
the
dash
branch.
We
can
just
upstream
it
there
and
have
you
take
a
look
at
it
and
everyone
and
we
can
enhance
it
together
as
well
in
the
community.
I
Yeah,
I
think
we're
at
a
really
good
point
here,
where
last
night
that
I
wanted
to
mention
to
the
group
we
we
merged
my
pull
request
for
the
scythrift
framework
for
dash,
and
that
means
we're
ready
to
we're
ready
to
now
get
your
dash
branch
of
psy
kind
of
harmonized
with
that.
And
then
then
we
can
have
the
best
of
both
worlds
right.
We
could
actually
pull
in
your
psy
branch
into
dash
and
use
these
tests,
because
they're
already
going
to
be
part
of
you
that
repo
right.
E
Yeah,
I
I
this
is
prince
it's
it's
really
great,
so
yeah
richmond!
I
have
one
question.
So
these
test
files
right
the
threats
test
files-
maybe
I
missed
where
you're
planning
to
upstream,
is
it
to
the.
H
Side
or
so
so
yeah
the
final
destination
will
be
psi
at
this
time.
What
we
have
is
a
separate
you
know,
branch
under
dash,
where
we
have
the
all
the
changes
that
we
have
done
for
the
dash
related
changes
that
we
have
done
for
the
auto
generated
test
framework,
it's
already
there
under
dash,
so
we
can
all
collaborate
and
work
on
it
together
and
you
know
especially
for
chris's
work,
etc,
and
anyone
in
the
community
would
like
to
use.
H
But
as
we
complete
that-
and
you
know,
whenever
you
know,
we
think
that
enough
number
of
test
cases
are
also
upstream
there.
We
can
actually
bring
it
all
into
actual
into
ocp
sign
all.
I
Yeah
and
prints
to
that
point,
the
way
that
the
sci
thrift
framework
is
for
dash
right
now
it
actually
pulls
in
a
branch
of
the
sci
repo.
It
could
be
a
fork
like
intel's
fork,
or
it
could
be
the
official
upstream
one.
It
doesn't
matter
at
any
point
in
time.
We
can
be
using
development
branches
like
this
and
all
that
all
the
test
cases
are
sucked
right
into
the
dash
repo,
so
they
can
be
used.
I
So
it's
already
kind
of
set
up
to
be
convenient,
there's
no
copying
or
adapting
it's.
It's
linked
right
in
as
a
sub
module.
E
So
for
the
psy
api,
are
we
bringing
in
all
those
you
know
the
header
files
from
the
experimental
directory
for
for
this
purpose.
H
I
H
H
Yeah
that
was
our
next
thing
that
we
were
going
to
also
discuss.
We
have
this
discussion
with
chris
and
keysight,
and
you
know
the
ci
cd.
Maybe
if
you
want
to
show
the
diagram
mithnik,
it's
it
may
it
may
be
more.
You
know
easier
to
visually
see
how
everything
fits
together,
but
definitely
we
have
plans
to
integrate
with
the
ci
cd.
H
G
G
So
we
have
like
the
ptf
or
unit
test
framework
running.
This
is
what
we
should
show
today
on
the
left,
which
is
using
the
ptf
trafficgen,
but
it
also
has
the
some
example
that
chris
is
using,
for
example,
pi
test
using
the
snappy.
So
this
is
what
we
have
today,
so
everything
and
both
of
them
can
be
used
on
the
ci
right
chris.
I
Yeah
so
we'll
you
could
actually
run
snappy
in
the
ptf
test,
which
you
know
I
demonstrated
that
over
a
year
ago,
and
so
we
could
do
flow
based
testing
where
it's
more
interesting
to
have.
You
know
large
numbers
of
packets,
with
patterns
in
the
header,
fields,
etc,
and
then
also
the
single
packet
at
a
time
type
test
that
ptf
is
excellent
at
and
have
both.