FD.io VPP
v17.07.01-10-g3be13f0
Vector Packet Processing
|
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... | |
u8 * | fib_ae_import_format (fib_node_index_t impi, u8 *s) |
u8 * | fib_ae_export_format (fib_node_index_t expi, u8 *s) |
u8* fib_ae_export_format | ( | fib_node_index_t | expi, |
u8 * | s | ||
) |
Definition at line 546 of file fib_attached_export.c.
u8* fib_ae_import_format | ( | fib_node_index_t | impi, |
u8 * | s | ||
) |
Definition at line 517 of file fib_attached_export.c.
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.
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.
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.
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.
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.
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.