►
From YouTube: SONiC DASH Workgroup Community Meeting Jan 18 2023
Description
PR289 - Still needs volunteer
PR296 from AMD: Add DASH metering to Sonic HLD
https://github.com/Azure/DASH/pull/296
Slides reviewed
DASH moving to Linux Foundation
Q&A
A
Camera
off
this
is
our
52nd
meeting
together.
That's
like
a
year
of
meetings
technically
so
a
lot
of
different
meetings
together,
I'm
gonna
stop
the
camera
here.
So
last
week
we
talked
about
Chris's
PR
that
we
merged
and
we
had
prune
297
that
got
merged.
We
talked
about
metering
a
lot
and
we
talked
about
the
the
new
construct
from
AMD
and
we
talked
about
moving
to
the
Linux
foundation.
So
I
was
wondering
this
week
did.
Did
anyone
have
a
PR
first?
They
wanted
to
cover
or
something
they
wanted
to
cover.
A
Believe
they
did
prints,
did
they
I
can
look
through
my
email
to
look
for
the
GitHub
notifications,
but
I
know
that
a
lot
of
comments
came
in
and
Prince
was
doing
a
lot
of
updating
yeah.
C
I
I
updated
based
on
our
feedback
and
and
the
pr
is
also
updated.
I
I'm
just
waiting
for
that
that
CLA
thing
to
pass
for
the
merge
looks
like
after
we
migrate
to
Sony
the.
D
B
A
What
I
was
going
to
do
here
so
because
we
did,
we
did
talk
about
you
share
my
screen
again.
We
did
talk
about
moving
to
Linux
foundation
and
then
so.
Over
the
last
week,
that's
actually
happened
where
we've
we've
migrated
the
dash
repo
to
Sonic
net
and
the
new
URL
I'll
post
it,
but
it's
going
to
be
github.com
forward.
Slash
sonicnet,
forward,
slash
Dash,
so
here.
B
Then,
when
they
does,
this
affect
how
they
communicate
to
this.
E
The
mailing
list,
Etc
will
change.
It
will
be
Sonic
the
next
Foundation,
something
like
that
is
yeah.
A
A
Yeah
so
right
now
we're
a
Sonic
hyphen
dash
at
Google
groups.com,
and
that
will
change,
but
that
that'll
take
a
little
more
time.
But
in
the
meantime
we
can
still
use
what
we
have
Gerald
for
sure.
E
Yeah,
it
will
change
to
Foundation.
G
B
A
D
Yeah
and
a
couple
line
said
script
could
replace
everything
globally,
I,
don't
mind,
taking
a
look
at
that.
It's
kind
of
thanks
Chris,
my
mindless
got
work.
A
Right
right
so
and-
and
we
won't
okay,
any
other
questions
on
that-
Community
team,
sorry,
I'm,
managing
multiple
windows.
So,
if
I
sound
a
little
distracted.
B
E
No
yeah,
that's
true:
we
just
merged
the
dash
API
file
to
ocp
sign.
E
And
the
PDF
also
is
still
hosted.
The
test
framework
is
also
still
hosted
inside
for
dash.
F
B
B
A
A
Okay
and
any
PRS
we
want
to
cover
today.
H
H
So
this
is
our
extended,
we're
not
doing
Netflix
cases
right
now
after
Gohan
merged
script.
So
it's
passing
on
CI,
so
I
need
to
fix
the
CLA.
A
H
Yep
and
I
also
updated.
You
know
the
brv's
test
plan
only
217,
so
right
now
it
exclude
eni
this
plan
because
you
and
I
have
been
merged
in
the
217
right
now
includes
only
like
new
stuff,
after
merging
I
will
update
217
once
again,
but
just
want
to
let
everybody
know
that
2017.
It
contains
also
changes
in
some
good
documentation
and
some
links
and
so
on.
So
it's
anyway,
it's
needed.
H
I
I
mean
I
join
us
a
little
bit
later.
I
saw
today
we're
going
to
talk
about
the
metering
AMD
folks,
we'll
talk
about
metering
right,
so
we.
A
I
A
J
I
have
a
question
earlier
with
the
site
API
for
dash.
What
is
the
whole
site
API
for
that?
How
do
I?
How
can
I
find
everything
that
is
supposed
to
be
supported
in
a
dash
device?
I
even
referenced
some
documents,
but
it's
like
bits
and
pieces.
So
if
I
go
to
extensions,
experimental
under
assign
I
can
find
some
Dash
apis,
but
then
the
underlay
is
from
Sonic.
Then
I
found
another
document
that
specifies
underlay
portion,
but
I
don't
see
any
like
Port
step
even
like
I,
don't
know.
Bytes
TX
bytes
are
excellent.
Port.
J
J
I
I
think
that
here
we
have
this
right,
so
you
know
the
other
one
I
think
is
you
know
all
the
automatically
generated
that
you
know
those
attributes
has
to
be
supported
right.
So
that's
that's
a
key
part
of
the
overlay,
so
then
underlay
I
think
has
been
listed
in
this
document.
J
C
I
think
the
initial
idea
was
to
have
stats
and
counters
based
on
eni
those
things
right.
So
we
didn't.
J
C
Yeah
I
I
think,
if
that's
something
missing,
then
this
is
the
place
that
we
need
to
add
like.
C
Right,
that's
all
the
extension
headers
at
least
one
thing
that
I
can
suggest
is
Marion
has
provided
a
app
DB
to
psi
mapping.
So
if
you
look
at
the
same
document,
there
is
a
mapping
section
so
for
the
current
scenarios,
it's
it's
already
covered,
so
I
think.
H
F
F
E
The
API
should
be
standard,
though
to
refer
to,
and
it
should
definitely
as
you're
saying,
should
have
the
latest
from
the
behavioral
model
and
that's
exactly
what
we
had
asked
for
about
a
week
or
so
ago,
during
the
break
and
Marianne
generated
a
new
set
of
apis
based
on
the
current
behavioral
model,
and
that's
the
one
that's
been
reviewed
and
checked
in
now,
but
but
the
community
will
refer
to
the
API
header
file
inside.
You
know.
I
So
I
think
that
you
know
in
the
document
for
the
overlay,
you
can
just
point
the
link
to
the
latest.
You
know
the
master
for
the
for
the
generated
API
right.
So
then,
then
you
know
we
won't
be
able.
So
then
we
we
get
we'll
get
rid
out
of
this.
You
know
outdated
these
things
right
so
she'll
be
always
the
latest.
I
I
C
B
Foreign
I
I
agree,
but
in
the
future,
that's
probably
true,
but
I.
Think
at
the
beginning,
it's
nice
to
have
these
documents
and
yeah
I
have
another
concern,
though,
is
when
we
keep
saying
Marion
compiled
this
like
do
we
have
a
compiler?
Do
we
have
the
the
API
generator?
There
is
only.
I
I
E
C
Now,
for
underlay
we
have
this
section
right:
I
mean
I,
I'm,
not
sure
what
you're
looking
for,
because
all
the
supported
underlay
is
part
of
this
document
and
for
overlay
it's
the
auto
generated
files
because
underlay
there
are
many
other
attributes
inside
which,
which
probably
is
not
applicable
to
Dash,
and
that's
why
we
explicitly
called
out
here.
C
J
F
There
is
an
auto
generated,
I,
don't
think.
There's
an
auto
generated
thing
for
the
underlay,
so
underlays
are
are
manually
defined
apis.
They
are
generated
like
you
know,
you
know,
sort
of
like
they
are
referred
back
to
the
you
know
some
Visio
document
as
opposed
to
the
behavior
model.
But,
however,
these
these
documents
are
not
no
no
way
is
auto-generated,
as
we
have
it
for
overly.
J
C
C
D
A
A
Gonna,
go
in
and
either
I
can
do
it
or
someone
can
do
it
and
you
know,
do
a
suggestion
to
the
document
of
the
pr
so
report
stats,
okay,.
A
Okay,
do
we
want
to
do
different
PR
shift
over
to
metering
which
Gohan
wants
to
talk
about.
A
Going
once
going
twice
or
PRS:
okay,
okay,
maybe
we
can
shift
over
and
talk
about
metering
then.
So.
Last
week
you
joined
a
little
bit
late
Gohan.
So
last
week
we
talked
about.
Let
me
pull
this
up
here.
A
A
K
To
no
I
shared
my
screen.
A
K
All
right,
yeah,
so
I
think.
Last
week
we
had
the
metering
requirements
that
was
presented
by
Prince,
so
that
kind
of
gives
the
background
for
this
proposal,
which
lays
out
the
MTP
objects
for
the
metering
based
on
the
requirements
that
was
presented
so
I
think
last
time
when
we
covered
this
beer,
there
were
a
bunch
of
questions
around
this,
so
just
to
give
a
higher
level
idea.
We
came
up
with
a
bunch
of
slides
just
to
give
overall
picture.
K
So
I
think
we
can
go
through
this
slides
first
to
discuss
the
some
of
the
concepts
and
then
go
back
to
the
PR2
look
into
the
details.
So
so
this
is
the
dash
outbound
packet
processing
pipeline.
So
so
there
is
an
extra
metering
policy
that
is
being
introduced
right
after
the
routing
lookup,
and
this
is
separate
from
the
security
policies
which
have
been
allowed
in
action.
K
So
the
metering
point
and
the
result
of
this
metering
policy
is
a
metering
bucket
ID
and
the
meeting
bucket
IDs
come
from
routing
policy
and
mapping
and
then,
finally,
final
bucket
ID
is
fed
into
the
metering
update
block
which
actually
updates
the
the
metering
bucket
TX
and
RX
bytes,
based
on
the
bucket
ID
derived
in
the
pipeline
beforehand.
K
So
this
is
just
a
high
level
picture,
so
I
guess
the
outbound
packet
processing
pipeline
is
being.
There
is
a
small
update
to
this.
By
introducing
this
policy
block
foreign.
F
K
So
yeah
I
think
this
block
was
already
present
in
the
picture.
So
this
is
this
is
the
block
which
actually
updates
the
once
the
bucket
ID
is
derivation
happens
from
routing
mapping
and
the
policy
blocks,
and
once
the
bucket
ID
is
derived
the
actual
metering
update,
as
in
the
incrementing,
the
counters
happening
happens
in
the
meeting
update.
F
K
L
F
K
Yeah
so
yeah.
That
is
one
way
to
look
at
it,
but
I
think
overall,
the
placement
of
the
table
really
doesn't
it's
not
mentioned
here,
because
I
think
that's
implementation,
specific,
but
semantically
yeah!
You
want
the
bucket
the
final
bucket
ID
before
you
actually
go
and
update
the
meter
table.
K
Yeah,
so
this
is
just
a
zoomed
in
view
of
the
pipeline
changes,
so
you
have
the
eni
table
which
now
derives
a
meter
policy
ID.
So
a
policy
is
attached
to
a
particular
eni
and
you
also
have
the
outbound
routing
table,
which
is
now
driving
the
meter
policy
enable
and
meter
bucket
ID.
So
the
meter
policy
look
the
result
of
the
meter
policy.
Lookup
is
also
a
meter
bucket
ID.
K
So
if
the
policy
is
enabled,
then
the
bucket
ID
coming
from
the
meter
policy
table,
takes
precedence
over
the
bucket
ID
coming
from
the
routing.
So
this
is
in
line
with
the
requirements
that
were
established
last
time
right.
So
we
want
the
policy
route
and
mapping.
This
is
the
Precedence
requirements
according
to
the
according
to
the
Azure
requirements,
and
also
there
is
a
override
flag
that
mapping
gives
in
which
gives
the
final
control
over
whether
mapping
Bucket
over
right,
so
that
that
part
is
coming
here.
K
The
mapping
table
also
gives
a
meter
bucket
ID
and
an
override
Boolean.
So
if
the
mapping
override
Boolean
is
set,
then
the
mapping
bucket
ID
takes
precedence
over
the
policy
or
the
routing
bucket
ID.
So,
and
going
further
in
the
pipeline,
the
final
meter
bucket
ID
is
derived
based
on
this
decision
graph
and
that
goes
and
indexes
into
a
meter
table
which
is
on
a
per
eni
basis,
and
you
have
the
TX
and
RX
byte
accounting
happening
in
that
meter.
Table.
I
K
Yeah
so
I
think
yeah
I
think
we.
The
reason
why
the
txrx
terminology
is
used
is
because
I
think
in
dash.
When
we
refer
to
inbound
and
outbound
we
are,
we
are
referring
to
the
first
packet
or
the.
K
If
the
VM
reaches
out,
then
it
is
referred
to
as
outbound
and
that
itself
can
create
a
the
initiative
flow
and
the
responder
flow
and
bytes
corresponding
to
the
initiative
flow
is
is
accounted
as
TX
bytes
and
the
bytes
are
corresponding
to
the
responder
flow
is
accounted
as
RX
bytes.
Similarly,
the
inbound
itself
can
create
its
own
two
flows
if
the
Inca,
if
the
first
packet
is
an
incoming
packet
to
the
VM
and
the
txrx
is
coming
from
the
initiator
or
the
responder
flow.
K
That's
why
we
thought
just
with
disambiguate
right.
We
can
use
txrx
here
and
inbound
output
in
the
other
case,
so.
I
No,
no
sorry,
this
part,
I,
I,
didn't
understand.
I
think
it
may
be
more
I
mean
trying
to
make
it
more
consistent
right.
So
because
sometimes
the
flow
is
initiated
by
the
you
know
from
the
internet,
sometimes
the
initiated
by
the
VM.
Are
you
saying
you
know
you
know
if
the
if
the
flow
initiated
by
the
VM,
then
the
TX
means
the
you
know
from
the
VM
to
the
internet?
I
But
if
the
flow
is
initiated
by
the
internet,
then
the
TX
means
that
the
the
the
the
the
the
packages
from
Internet
to
the
VM
I
thought.
That
was
a
little
bit.
What
I
mean
I
I
in
my
in
my
thinking,
I
saw
you
know.
Maybe
we
should
be
more
consistent,
saying,
okay,
so
if
we
are
counting,
you
know
if
it's
a
VM
going
out
he's
always
the
out
outbound,
verse
and
otherwise
he's
always
inbound.
I
You
know
makes
the
direction
to
the
VM
so
that
in
this
case
we
can
make
sure
you
know
when
we
say.
I
It's
regardless
of
the
the
initial
packet
Direction.
K
Yeah
I
think
the
yeah
I
guess
that
the
reason
is
I
Prince
also
added
a
clarification
here
in
terms
of
the.
C
G
C
Vijay
I
agree
with
Gohan,
because
if
we
always
set
outbound
does
TX
right.
There's
no
ambiguity
there,
because
if
we
say
TX
just
t
x
right,
then
it
depends
on
which
direction
the
packet
is
coming
and
then
from
internet.
So
that
means
it
will
become
TX
right.
L
Yeah,
that
is
fine,
I,
think
right
in
terms
of
referring
to
TX
as
outbound
and
RX
as
inbound.
Only
probably
only
this
thing
is.
We
need
to
be
careful,
because
the
outbound
pipeline
is
very
different
from
the
inbound
pipeline
right,
so
the
same
terminology
outbound
inbound,
is
used,
but
this
Pi,
this
metering,
derivation
that
we
are
talking
about
here-
is
purely
outbound.
For
example,
if
you
see
in
the
pipeline,
we
are
starting
from
an
eni
that
cannot
happen
when,
when
the
packet
comes
inbound
right,
we
start
from
a
VPC.
We
start
from
from.
L
Inbound
routing
comes
the
other
way
around,
so
the
I
think
we
need
to
be
careful
about
outbound,
inbound
I.
Think
if
we
agree
that
we
understand
the
difference
between
outbound
Pipeline
and
the
inbound
Pipeline,
and
it's
not
confusing
to
use
the
same
terminology
here
then
I
think
we
can
use
it
I
think
about
this
thing.
Idea
was:
if
you
use
outbound
inbound
STX
RX,
then
it
gets
a
little
confusing
on
how
the
inbound
metering
gets
derived.
But
that's
yeah.
That's
yeah!.
F
Yeah
but
I
think
the
distinction
needs
to
needs
to
happen
based
on
where
these
buckets
or
these
meters
are
tied
to
right,
because
at
one
point
we
talk
about
Connections
and
then
connections
have
flows,
and
then
you
know,
but
it's
not.
They
are
not
tied
to
flows
as
I
see
it
yeah
they
are
tied
to
routes
or,
or
you
know,
mapping
entries
right.
L
Isn't
it
that
once
we
do
this
derivation
right,
this
is
the
potentially
the
first
packet
path
right
after
that,
once
you
have
established
the
flow
you
don't,
you
can
just
use
the
flow
to
Short
Circuit
everything.
I
I
Map
to
the
same
meter
bucket,
but
in
this
case,
if
we
are
deriving
that
using
that
will,
you
know,
count
the
txrx,
you
know
differently,
but
before
into
the
same
package,
so
some
you
know
TX,
sometimes
can't
you
know
from
VM
to
internet,
sometimes
comes
from
the
internet
to
the
VM
using
that
will
cause
confusing.
L
So
there's
still
this
thing
right
there
still
for
your
the
example.
The
take
it
with
an
example.
Let's
say
the
VM
is
establishing
a
TCP
connection,
a
web
connection
out
right.
So.
G
L
In
this
this
thing
there
are
potentially
the
way
to
look
at.
The
connection
is
two
flows
right.
There's
one
flow
with
desk
Port
80
and
some
Source
port,
and
then
there
is
a
reverse
flow
when
the
for
the
packet
to
come
back,
which
I
think
we
are
referring
to
the
r
flow
which
is
dashboard
whatever
is
that
Source
Port
we
used
and
Source
Port
is
80
the
traffic
coming
back
right,
yeah.
F
I
But
no,
no,
but
there's
another
flow
right,
so
one
flow
is
initiated
by
the
VM
to
the
internet.
Another
flow
is
from
the
internet
to
the
VM,
but
if
your
txrx,
depending
on
the
initial
Direction
They
you
know
on
one
floor,
the
TX
is
counting
as
going
out
from
the
real
other
flow
is
THC
is
coming
from
Internet
to
the
VM,
but
they
fall
into
the
same
metering
bucket.
So
in
that
case,
the
meter
in
the
txc,
sometimes
you
know
count
the
packet
from
you
know
in
two
differentiate
in
two
different
direction.
E
C
Clarify
but
I
think
I
think
the
Gohan
the
way
I
look
at
it
is
you
have
a
meter
table
or
a
bucket
ID
Associated
to
an
eni
right?
That's
the
combination
and,
in
that
context,
right
any
packet
that
is
going
out
of
the
dni
will
be
the
txr
outbound
and
yes,
incoming
is
rx
so
because
this
is
the
eni
and
the
meter
bucket
right.
It's
just
not
meter
bucket
alone.
I
Could
have
a
you
know,
out
of
all
the
traffic
could
have
inbound
traffic
right.
H
K
Right
but
I
think
the
first
initiator,
so
if
the
first
packet
happens
to
be
an
outbound
packet,
you
have
already
established
the
reverse
flow
right.
So
when
the
incoming
traffic
from
internet
to
VM
in
your
example,
will
get
accounted
against
the
RX
bytes
in
that
same
bucket
ID.
So
it's
not
like
it'll
go
to
different
bucket
idols.
L
Is
yeah
so,
let's
say
a
VM
to
internet
right,
so
just
sorry
I
interrupted
so
let's
say
we
have,
but
the
traffic
is
80
to
Port
2000
right
from
Source
Port
2000
to
80.,
so
that
one
let's
say
we
derive
a
bucket
ID
of
10
right.
So
in
that
all
the
TX
bytes
going
from
the
from
the
VM.
I
L
The
internet
we
accounted
against
TX
and,
on
the
same,
whatever
traffic
coming
from
Port
80
to
2000
will
go
on
the
RX
bytes.
Yes,
now,
let's
say
you
are
going
to
understand
your
question.
So
let's
say
there
is
another
connection
coming
from
some
Port
5000
to
8080,
8080
being
on
the
on
the
VM
right.
So
if
this
is
the
case,
we
will
derive
another
bucket
ID
20,
which
is
not
shown
here
right.
L
That
is
the
inbound
inbound
pipeline
right
that
will
come
from
either
the
peering
or
the
or
the
inbound
routing
yeah
right.
So
from
there
we
derive
a
metering
ID,
let's
say
20
right
in
that
we
will
have
t
x,
r
x
again
right.
The
TX
could
still
have
the
same
notion
that
DX
is
going
from
the
eni
out
and
RX
is
received
by
the
VM
if
it.
If
now,
if
you
have
to
be
clear,
being
VM
Centric
right,
but
it
will
be
two
different
buckets.
L
I
Okay,
so
but
I
I
think
maybe
the
missing
part
is
this:
you
know
it's
a
metering
table
right,
so
it
doesn't
tells
you
on
what
base
is
used
to
determine
whether
it's
called
TX
or
arcs.
Maybe
you
know,
because
you
only
have
two
input:
Emi
ID
and
the
meter
bucket
ID,
and
then
you
get
two
output
TXI.
Maybe
you
need
a
certain
input
to
say:
okay,
what
is
the
melody
that
we
use
to
determine
TX
and
arcs?
That
makes
me
right
here
right
so.
K
Yeah
yeah
so
I
think
so
that
that
the
direction
itself
coming
comes
from
the
connection
right.
So
once
that
the
connection
has
the
TX
and
RX
flows
established.
So
there
is
a
yeah
you're
right.
There
is
a
direction
component
in
the
actual
implementation
pipeline
which
goes
into
the
meter
table
which
actually
tells
whether
to
increment
the
TX
or
RX,
based
on
which
flow
it
hit.
F
So
no
I
don't
get
I,
don't
get
the
direction.
Part!
Sorry
guys,
I
think
what
happens
is
that
for
when
you
basically
have
a
bucket
bucket,
has
RX
and
TX
at
certain
point?
What
is
it
because
in
your
example,
when
you
mentioned
about
you,
know
going
from
VM
to
the
web
from
Port
2000
to
Port
ad,
you
are
essentially
are,
are
counting
TX
that
are
getting
transmitted
out
of
eni
and
an
RX
is
the
one
that
is
coming
into
the
eni,
which
is
the
VM
right.
F
But
but
you
know
if,
if
you
flipped
it
into
your
second
example,
you
know
when
the
connection
is
originated
from
the
web
coming
into
8080
on
the
eni,
then
you
know,
are
the
TX
is
still
eni.
Centric,
essentially
saying
that
okay,
the
or
or
they
are
essentially
saying
that
they
are
web
Centric?
What
is
it.
K
Right
so
so
I
think
the
txrx
here
is
based
on
the
first
packet
right,
so
for
the
so
that's
where
that
inbound
outbound
versus
txrx,
the
disintegration
applies.
So
for
the
second
case
where
the
internet
is
reaches
out
to
the
VM.
You
have
the
first
packet
as
Internet
to
VM
case
and
the
responder
flow
as
the
VM
to
internet
case.
So
in
that
case,
the
bucket
the
same
bucket
is
associated
with
both
the
flows.
K
So
if
it
is
so
I
guess
it
depends
on
how
the
direction
is
derived
in
the
pipeline
so
which
is
fed
into
the
meter
table
so
I
I.
Think
yeah,
probably
we
can
add
some
clarification
there.
When.
C
F
C
K
F
Right,
yeah
I
think
this
needs
to
be
spelled
it
out
because
otherwise
it
just
basically
says
you
know
I,
don't
think
it's
sufficient
to
say
that
we
initiated
because
that
information
is
lost.
I,
don't
think
this
information
is
basically
carried,
or
at
least
you
know
is
known
so
to
speak,
so
I
think
there's
some.
Something
else
needs
to
give
right
sure.
So.
K
I
think
yeah.
We
can
add
clarification
on
that,
but
I
think
the
scope
of
this
discussion
was.
We
were
just
focusing
on
the
outbound
site
pipeline
right.
So
inbound
is
something
that
I
think
we
haven't
actually
looked
at,
but
yeah
I
think.
Once
we
look
at
inbound,
we
can
add
that
clarification.
I
I
keep
hearing
that
you
know
the
inbound
is,
is
not
discussed
or
is
not
is
subject
to
further
discussion.
I,
actually,
don't
understand.
Certainly
you
know
this
is
the
covering
both
team
by
now,
but
I'm
sure,
at
least
that
part.
So
what
is
well,
each
party
is
not
covered.
Why
why
the
inbound
is
not
covered
here
so.
K
Yeah,
the
inbound
I
mean
the
inbounder
pipeline
itself,
looks
different
because
in
inbound
we
have
the
inbound
routing
table.
Currently
the
inbound
routing
table
is
giving
the
bucket
ID,
but
we
also
need
to
introduce
the
policy
into
the
team,
Bond
Pipeline
and
also
go
through
the
cases
right.
So
that
is
the
part
that
Prince
was
also
referring
to
that.
K
We
need
to
just
go
through
all
the
cases
from
the
requirements
point
of
view
and
make
sure
that
the
metering
bucket
and
policy
at
the
inbound
routing
level
is
indeed
sufficient
to
cover
all
the
requirements.
So
that
is
an
exercise
which
is
kind
of
pending,
so
we
are
trying
to
do
it
in
phases
right
so
just
make
sure
that
all
the
outbound
requirements
are
satisfied
and
then
come
to
the
inbox.
I
When
you
see
all
the
outbound
requirement
is
satisfied,
but
here
the
the
countries,
both
the
txa
arcs.
Are
you
saying
that
currently
we
only
cover
the
cases
where
the
initiator
of
the
connection
is
from
the
VM
to
the
outside,
but
we
do
not
cover
the
cases
where
the
initiator
is
from
the
internet
to
the
VM.
K
Yeah
I
think
essentially,
the
outbound
pipeline
is
when
the
initiator
is
from
the
VM
to
outside.
So
that's
the
part
we
discovered
in
this
particular
outbound
pipeline.
I
K
I
think
the
thing
is
yeah
we're
just
trying
to
go
in
phases
right.
G
What
has
been
covered?
What's
not
covered
yeah.
G
I
I
K
I
K
Yeah
I
mean
not
in
this
proposal,
not
yet,
but
it's
we
have
to
address
that
as
well
in
the
next
one.
L
From
the
requirements
Gohan
I
think
we
have
left
in
the
hld.
The
requirements
also
leaves
the
this
thing,
as
we
will
I
think
we
just
have
to
look
through.
It
looks
similar,
but
the
way
we
derive
right
here
we
are
starting
from
the
eni
there.
We
don't
start
from
the
eni,
we
start
from
the
inboard
routing
table.
So
there
is
some
slight
differences,
I
think
enumerating
all
the
cases
that
are
there.
I
think
in
the
hld
also
I
think
Prince
left
it
as
we
will.
C
Do
it
one
clarification
there
is
even
in
the
inbound
flow
it
is
tied
to
the
eni.
If
we
look
at
the
the
hld's
last
requirement,
so
we
have
the
the
type
to
the
route
Rule
table
and
Route
Rule
table
is
part
of
the
eni.
So.
L
C
F
Yeah,
correct
I
think
you
know
one
of
the
things
that
I'm
basically
grappling
with
here
is
that
you
know
without
actually
thinking
end
to
end
or
having
a
holistic
view
of
it.
We
just
cannot
design
what
the
bucket
and
what
the
buckets
values
are
like
txrx,
as
as
I
was
trying
to
basically
say
before.
How
do
you
really
determine
you
know
what
is
TX
referring
to?
Is
it
TX
to
the
eni,
or
you
know,
TX
to
the
web
right?
F
F
We
should,
we
should
think
end
to
end
and
and
really
taking
into
account
of
these
scenarios
before
we
start
to
really
come
out
with
these
data
structures,
or
at
least
start
referring
to
certain
fields
which
may
end
up
need
to
be
revised,
because
the
fact
that
you
know
we
have
really
not
take
into
account
of
other
things
as
well.
I,
don't
know
if
all.
L
Of
this
thing
makes
sense:
yes,
and
if
I'm,
are
you
saying
that
whether
TX
should
count,
for
example,
for
inbound
traffic
in
which
direction
TX
should
account
and
which
are
which
direction
RX
should
account?
Is
that
what
you
are
referring
to.
C
I
thought
that
is
clarified
in
the
the
requirement
right.
If
we
go
back
to
the
requirement,
we
clearly
state
that
out,
TX
is
outbound
for
an
eni
anti-metering
bucket.
I
I
No
I
think
a
prince
I
think.
The
problem
with
this
statement
is
that
why
this
this
only
cover
the
outbound
flows,
to
see
with
the
metering,
but
I
mean
it
should
I
mean
create
it
as
a
part
of
the
VM
initiative.
Travel
I
think
there's
too
many
qualifiers
in
the
in
this
statement.
Can
we
get
rid
of
those
qualifier
and
say
just
planning
say
the
statement
that
okay,
so
you
know,
TX
means
outbound
traffic
means
VM
to.
C
C
Yeah
I
think
that
that
makes
sense
I'll
just
rephrase
that
statement
and
and
update
the
pr
yeah.
J
I
J
J
I
K
Yeah
yeah
I
think
that
can
happen
at
a
higher
Lane,
but
yeah
I
think
we
cannot.
We
need
to
just.
K
More
clarification
about
what
the
xrx
and
probably
just
keep
it
unified
for
outbound
and
inbound,
irrespective
of
who
is
the
initiator
right.
That
seems
to
be
the
feedback.
L
I
think
more
so
it
has
to
be
yeah
for
the
inbound.
Also
right.
We
need
to
make
sure
how
it
is
being
built
today
right,
but
for
the
serious
pipeline.
What
they
mean
is
if
the
accounting
system,
whatever
is
existing,
is
I
hope
it
is
billing
the
correct
we
can
go
back
and
look
at.
We
probably
need
to
reconfirm
that
right
for.
L
L
Whatever
is
I,
don't
know,
I
think
today,
if
it
is
being
used
as
a
bucket,
ID
and
Azure
is
already
billing
in
some
way
right
just
to
make
sure
that
the
txrx,
the
notion
that
we
are
talking
about
here
is
exactly
how
it
is
built.
Otherwise
it
will
be
built
the
other
way
in
your
Azure
Building
Systems
right
now,.
L
Correct,
for
example,
if
it
is
a
peering
thing,
if
there
is
a
peering
Rule
and
then
they
have
inbound
outbound,
then
the
direction
in
which
the
traffic
is
going
I
think
we
need
to
make
sure
it's
not
eni.
Centric
I
mean-
or
it
is
eni
Centric
like
we
are
talking
about
here,.
K
M
I
I'd
like
to
just
understand
something
better
I
thought
I
heard
earlier.
You
say
that
on
the
first
packet
of
the
flow
you
establish
the
bucket
ID
and
then
for
all
packets
of
the
flow
after
that
that
bucket
ID
is
used,
but
there's
two
counters
in
there
one
for
each
Direction.
M
But
if
a
packet
came
in
the
opposite
direction
of
the
initial
packet
like
there's
also,
you
know
bucket
IDs
based
on,
for
example,
the
inbound
route
table
and
stuff.
Would
those
not
get
you
to
the
same
bucket
or
they
would
get
you
to
a
totally
different
bucket?
Like
that,
you,
you
have
to
use
the
bucket
that
was
established
on
the
very
first
packet.
L
M
About
yeah
the
same
connection,
so
so,
let's
say
the
first
pack
of
the
connections
outbound,
and
we
follow
this
Pipeline
on
this
slide
and
we
get
to
a
bucket
ID.
If
a
packet
comes
in
the
reverse,
Direction
I
thought
it
was
said
that
you
would
just
use
the
same
bucket
ID,
but
with
like
the
opposite
counter
got
it.
But,
however,
if
a
packet
came
in
the
inbound
direction,
there's
also
a
way
to
get
to
a
bucket
ID
right,
like
the
inbound
route.
C
M
Sort
of
a
high
level
question
like:
is
there
a
way
based
on
get
on
receiving
a
packet
to
get
to
a
bucket
ID
like
like
sort
of
a
a
stateless
way
to
get
to
a
bucket
ID
or
like?
Do
you
have
to
use
the
bucket
ID
of
the
fir
that
you
established
from
the
very
first
packet.
L
So
the
but
see
I
one
thing,
one
thing:
let's
say
in
the
ACL
case:
right,
let's
say
we
allow
the
this
is
not
I
mean
it's
a
stateful.
This
thing
right
so
let's
say
there
is
a
allow
statement
in
the
outbound
Direction
right
now,
I'm
leaving
meeting
aside
right,
if
you
just
take
ACL
right.
So
if
you
allow
the
connection
out,
then
the
incoming
the
reverse
traffic
is
also
allowed.
Irrespective.
L
Are
in
in
the
same
way
it's
the
same
thing
applies
to
the
metering
bucket
too.
So
once
we
derive
a
metering
bucket
for
a
connection
on
the
outbound
Direction,
the
same
metering
is
applied,
it
is
accounted
against
the
same
connection.
Now,
if
you
have
a
new
connection
that
is
coming
that
might
derive,
the
pipeline
itself
is
very
different,
so
the
bucket
ID
that
is
derived
the
mechanism
is
very
different
than
what
is
shown
here
so
that
would
potentially
I
would
expect
it
to
derive
a
different
bucket
ID.
Okay,.
M
Okay,
that's
my
question
so,
depending
on
like
which
direction
the
first
packet
is,
you
might
get
to
a
different
bucket
ID.
F
G
F
Yeah,
great
okay,
so
in
in
that
case
you
know
if,
let's
say
I'm,
going
to
the
same
port
80
on
the
same
server
but
I'm
initiating
a
new
connection
from
my
VM,
and
it
is
let's
say
you
know
it's
Port
3000
to
Port
80
now.
So
it's
a
new
connection
but
to
the
same
destination,
would
I
be
going
to
the
same
bucket
ID
or
is
it
will
be
a
different
bucket
ID.
L
K
F
L
Actually,
here
I
think
it
would
be
the
same.
The
reason
is
because
the
metering
policy
is
based
on
the
destination
IP
right,
which.
L
A
mapped
to
this,
it
should
map
to
the
same
thing
or
it
could
come
from
a
I
mean
if
it
is
not
it's
not
going
to
the
internet
or
it's
not
the
policy,
but
it
is
mapping
entry
mapping.
Entry
is
also
destination
IP
based
so
I
think
it
would.
The
pipeline
would
derive
the
same
bucket,
not
as,
as
you
know,
as
a
factor
of
where
the
bucket
IDs
are
derived
from
right,
yeah
right
so.
F
Know
your
destination
is
based
on
on
on
the
route
entry
or
is
actually
the
ultimate
IP
address.
L
So
that
depends
on
the
I
think
that
is
the
whatever
the
prince
had
mentioned
right
in
terms
of
so
there
are
three
different
ways
and
there
is
priority.
So
there
is,
there
is
a
bucket
ID
that
can
be
put
on
the
route
entry.
There
is
a
bucket.
There
is
on
the
route
entry,
you
could
enable
policy,
and
you
could
also
have
the
route
entry
would
point
to
a
good
one
that
any
particular
route
entry
could
point
to
a
mapping
table
and
that
mapping
table
destination
IP.
L
The
slash
32
could
have
a
metering
bucket
idea
Associated
to
it.
So
it
depends
on
what
case
we
are
talking
about.
Are
we
talking
about
being
inside
the
v-net
intravenet
case?
Are
we
talking
about
intravenet
different
azr?
Are
we
talking
about
peanut.
K
Peering,
okay,
I
think
yeah.
So
this
pipeline
is
just
kind
of
catering
to
all
the
requirements
and
based
on
the
what
is
the
exact
scenario
you
have
to
configure
the
routing
or
mapping
entry
accordingly
to
derive
the
right
bucket
that
you
want
right.
A
I
K
Yeah
so
I
think
we
just
wanted
to
introduce
this
other
thing.
I
mean,
like
just
I
mean
this
is
just
kind
of
explaining
how
the
bucket
IDs
are
mapped.
So
probably,
we've
entered
some
of
these
things.
Yeah
I
can
probably
just
quickly
go
over
this,
so
this
is
essentially
showing
where
like.
If
you
have
that
n
bucket
IDs,
you
can
have
one
bucket
ID
in
this
particular
example,
which
is
referring
to
appeared
being
at
one
traffic
bucket
id2
refers
to
Pure,
we
met
two
traffic
and
so
on
right.
K
So
now
each
of
the
bucket
IDs
are
mapped
to
Enis,
where
they
need
to
be
accounted
so
in
this
example,
the
eni
one
you
have
bucket
ID,
1
and
3,
which
is
mapped
to
that.
So
when
you
map
this
bucket
ID
internally,
what
you're
telling
is
that
I
need
to
account
this
these
types
of
traffic
on
this
particular
eni,
so
these
dotted
boxes
are
essentially
the
hardware
resource,
so
to
speak,
where
the
actual
accounting
will
happen.
K
So
now,
okay,
let's
address
the
fact
that
why
this
particular
mapping
is
required
right.
So
if
you,
the
billing,
is
done
at
upper
eni
level
and
but
if
you
look
at
the
bucket
IDs,
the
the
bucket
IDs
themselves
can
be
associated
with
mappings,
which
are
at
a
v-net
level.
Now,
because
the
bucket
IDs
are
associated
at
a
mapping
level,
not
all
the
mappings
which
are
associated
not
all
the
bucket
IDs,
which
are
associated
with
the
mapping,
are
actually
required
on
every
Ena
right.
K
So,
for
example,
you
might
have
eni
one
v-net,
a
having
a
peering
relationship
with
the
v-net
B
and
v-neck
B
might
have
a
bunch
of
mappings
and
a
whole
bunch
of
bucket
IDs,
but
only
a
small
subset
of
those
bucket
IDs
are
actually
relevant
on
eni.
I
One
hey
so,
which
is
sorry
I,
think
people
may
start
to
get
the
job,
but
I
think
looks
like
this
is
not
a
very
straightforward
concept
that
you
know
people
can
comprehend
in
about.
You
know
two
or
three
minutes:
I
suggest
you.
Let's
talk
about
that
next.
I
Seems
here
is
like
a
really
something
that
is
not
very
straightforward
to
to
come.
Complex,
yeah.
F
Okay,
yeah
sure
I
think
that's
so
that's
I
think
one
other
thing
is
that
let's
make
sure
that
we
basically
talk
about
in
the
next
one,
but
at
the
same
time,
if,
if
you
are
able
to
you,
know,
put
some
write-up
a
little
bit
on
this
one
like
on
the
pipeline
and
and
these
things
that'll
be
great
I
think
these
slides
are
excellent,
but
if
there
is
happens
to
be
a
little
bit
of
a
detailed
description
of
that,
that'll
probably
help
as
well,
but
it
in
another
thing
is:
you
know
thanks
a
lot
really
appreciate
all
the
hard
work
on
you
know
explaining
this
thing,
but
do
you
guys
plan
to
share
these
slides?
F
K
I
was
planning
to
just
put
all
these
diagrams
into
the
hid
as
well,
but
yeah
we
can
share
the
slides.
Definitely.