NDN-DPDK
High-Speed Named Data Networking Forwarder
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
fastroute.c File Reference
#include "api.h"

Data Structures

struct  FibEntryInfo
 
struct  PitEntryInfo
 

Macros

#define PROBE_INTERVAL   1024
 

Typedefs

typedef struct FibEntryInfo FibEntryInfo
 
typedef struct PitEntryInfo PitEntryInfo
 

Enumerations

enum  StatusCode {
  S_OK = 0 , S_UNKNOWN = 2 , S_UNICAST = 11 , S_MULTICAST = 12 ,
  S_PROBE_OK = 21 , S_PROBE_ERR = 22 , S_PROBE_NONE = 23 , S_NH_SAME = 50 ,
  S_NH_CHANGE = 51 , S_NH_IGNORE = 52 , S_NH_ERR = 53
}
 

Functions

SUBROUTINE bool Unicast (SgCtx *ctx)
 
SUBROUTINE uint64_t Probe (SgCtx *ctx)
 
SUBROUTINE uint64_t RxInterest (SgCtx *ctx)
 
SUBROUTINE uint64_t RxData (SgCtx *ctx)
 
SUBROUTINE uint64_t RxNack (SgCtx *ctx)
 
uint64_t SgMain (SgCtx *ctx)
 The strategy dataplane program. More...
 

Detailed Description

The fast route strategy multicasts the first Interest, observes which nexthop replies first, and keeps using it. It then periodically probes an unselected nexthop, and switches to it if it is faster.

Macro Definition Documentation

◆ PROBE_INTERVAL

#define PROBE_INTERVAL   1024

Typedef Documentation

◆ FibEntryInfo

typedef struct FibEntryInfo FibEntryInfo

◆ PitEntryInfo

typedef struct PitEntryInfo PitEntryInfo

Enumeration Type Documentation

◆ StatusCode

enum StatusCode
Enumerator
S_OK 
S_UNKNOWN 
S_UNICAST 
S_MULTICAST 
S_PROBE_OK 
S_PROBE_ERR 
S_PROBE_NONE 
S_NH_SAME 
S_NH_CHANGE 
S_NH_IGNORE 
S_NH_ERR 

Function Documentation

◆ Probe()

SUBROUTINE uint64_t Probe ( SgCtx ctx)

◆ RxData()

SUBROUTINE uint64_t RxData ( SgCtx ctx)

◆ RxInterest()

SUBROUTINE uint64_t RxInterest ( SgCtx ctx)

◆ RxNack()

SUBROUTINE uint64_t RxNack ( SgCtx ctx)

◆ SgMain()

uint64_t SgMain ( SgCtx ctx)

The strategy dataplane program.

Returns
status code, ignored but may appear in logs.

Every strategy must implement this function.

◆ Unicast()

SUBROUTINE bool Unicast ( SgCtx ctx)