FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
pot_profile_ Struct Reference

Usage: More...

Data Fields

u8 id: 1
 
u8 valid: 1
 
u8 in_use: 1
 
u64 random
 
u8 validator
 
u64 secret_key
 
u64 secret_share
 
u64 prime
 
u64 lpc
 
u64 poly_pre_eval
 
u64 bit_mask
 
u64 limit
 
double primeinv
 
u64 total_pkts_using_this_profile
 

Detailed Description

Usage:

On any node that participates in Proof of Transit:

Step 1: Initialize this library by calling pot_init() Step 2: Setup a proof of transit profile that contains all the parameters needed to compute cumulative: Call these functions: pot_profile_find pot_profile_create pot_profile_set_bit_mask - To setup how large we want the numbers used in the computation and random number <= 64 bits Step 2a: For validator do this: pot_set_validator Step 2b: On initial node enable the profile to be used: pot_profile_set_active / pot_profile_get_active will return the profile Step 3a: At the initial node to generate Random number that will be read by all other nodes: pot_generate_random Step 3b: At all nodes including initial and verifier call this to compute cumulative: pot_update_cumulative Step 4: At the verifier: pot_validate

Definition at line 54 of file pot_util.h.

Field Documentation

◆ bit_mask

u64 pot_profile_::bit_mask

Definition at line 66 of file pot_util.h.

◆ id

u8 pot_profile_::id

Definition at line 56 of file pot_util.h.

◆ in_use

u8 pot_profile_::in_use

Definition at line 58 of file pot_util.h.

◆ limit

u64 pot_profile_::limit

Definition at line 67 of file pot_util.h.

◆ lpc

u64 pot_profile_::lpc

Definition at line 64 of file pot_util.h.

◆ poly_pre_eval

u64 pot_profile_::poly_pre_eval

Definition at line 65 of file pot_util.h.

◆ prime

u64 pot_profile_::prime

Definition at line 63 of file pot_util.h.

◆ primeinv

double pot_profile_::primeinv

Definition at line 68 of file pot_util.h.

◆ random

u64 pot_profile_::random

Definition at line 59 of file pot_util.h.

◆ secret_key

u64 pot_profile_::secret_key

Definition at line 61 of file pot_util.h.

◆ secret_share

u64 pot_profile_::secret_share

Definition at line 62 of file pot_util.h.

◆ total_pkts_using_this_profile

u64 pot_profile_::total_pkts_using_this_profile

Definition at line 69 of file pot_util.h.

◆ valid

u8 pot_profile_::valid

Definition at line 57 of file pot_util.h.

◆ validator

u8 pot_profile_::validator

Definition at line 60 of file pot_util.h.


The documentation for this struct was generated from the following file: