FD.io VPP  v17.07.01-10-g3be13f0
Vector Packet Processing
fib_attached_export.h File Reference
+ Include dependency graph for fib_attached_export.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void fib_attached_export_import (fib_entry_t *fib_entry, fib_node_index_t export_fib)
 FIB attached export. More...
 
void fib_attached_export_purge (fib_entry_t *fib_entry)
 All the imported entries need to be pruged. More...
 
void fib_attached_export_covered_added (fib_entry_t *cover, fib_node_index_t covered)
 
void fib_attached_export_covered_removed (fib_entry_t *cover, fib_node_index_t covered)
 
void fib_attached_export_cover_change (fib_entry_t *fib_entry)
 If this entry is tracking a cover (in another table) then that cover has changed. More...
 
void fib_attached_export_cover_update (fib_entry_t *fib_entry)
 If this entry is tracking a cover (in another table) then that cover has been updated. More...
 
u8fib_ae_import_format (fib_node_index_t impi, u8 *s)
 
u8fib_ae_export_format (fib_node_index_t expi, u8 *s)
 

Function Documentation

u8* fib_ae_export_format ( fib_node_index_t  expi,
u8 s 
)

Definition at line 546 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* fib_ae_import_format ( fib_node_index_t  impi,
u8 s 
)

Definition at line 517 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_attached_export_cover_change ( fib_entry_t fib_entry)

If this entry is tracking a cover (in another table) then that cover has changed.

re-evaluate import.

Definition at line 501 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_attached_export_cover_update ( fib_entry_t fib_entry)

If this entry is tracking a cover (in another table) then that cover has been updated.

re-evaluate import.

Definition at line 511 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_attached_export_covered_added ( fib_entry_t cover,
fib_node_index_t  covered 
)

Definition at line 404 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_attached_export_covered_removed ( fib_entry_t cover,
fib_node_index_t  covered 
)

Definition at line 436 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_attached_export_import ( fib_entry_t fib_entry,
fib_node_index_t  export_fib 
)

FIB attached export.

what's it all about? say one does this: set int ip table Gig0 2 set int ip addr Gig0 10.0.0.1/24 Ggi0 is in table 2 with a connected address. Now we add a routing matching said connected in a different table ip route add table 3 10.0.0.0/24 via Gig0 How do we expect traffic in table 3 to be forwarded? Clearly out of Ggi0. It's an attached route, hence we are saying that we can ARP for hosts in the attached subnet. and we can. but any ARP entries we send we be received on Gig0, but since Gig0 is in table 2, it will install the adj-fins in table 2. So traffic in table 3 will never hit an adj-fib and hence always the glean, and so thus be effectively dropped. How do we fix this? Attached Export !! All more specfiic entries in table 2 that track and are covered by the connected are automatically exported into table 3. Now table 3 also has adj-fibs (and the local) so traffic to hosts is restored.

Definition at line 242 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void fib_attached_export_purge ( fib_entry_t fib_entry)

All the imported entries need to be pruged.

Definition at line 318 of file fib_attached_export.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: