Skip to content

Actions and other NetworkImpl-defined objects could expose simple K/V property reads #960

@FelixMcFelix

Description

@FelixMcFelix

If we want to know what VNI a given port operates on, opteadm won't really help us figure this out. The actions which are guaranteed to know this all reside in the overlay layer:

BRM42220057 # opteadm dump-layer -p opte1 overlay
Port opte1 - Layer overlay
======================================================================
Inbound Flows
----------------------------------------------------------------------
PROTO  SRC IP  SPORT/TY  DST IP  DPORT  HITS  ACTION

Outbound Flows
----------------------------------------------------------------------
PROTO  SRC IP  SPORT/TY  DST IP  DPORT  HITS  ACTION

Inbound Rules
----------------------------------------------------------------------
ID   PRI  HITS  PREDICATES  ACTION
0    1    98    *           "Static: Decap"
1    2    0     *           "Meta: mcast-vni-validator"
DEF  --   0     --          "deny"

Outbound Rules
----------------------------------------------------------------------
ID   PRI  HITS  PREDICATES  ACTION
0    1    117   *           "Static: Encap"
DEF  --   0     --          "deny"

However, Static: Encap tells us nothing about what the action is programmed to do, what its parameters are, etc.

It would be nice if actions on a rule could list out their fixed propertes, analogous to dladm show-linkprop (potentially with a view towards being machine-readable if requested). In this scenario, we would want to query overlay/out/0:vni.

We could probably extend this to ports themselves having a K/V map to hold various optional facts the control plane may want to stash for other diagnostic tools to make use of. Generally we want to make things work such that we're not putting oxide-vpc specfic information into opteadm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions