diff options
| author | Philippe Guibert <philippe.guibert@6wind.com> | 2023-05-11 15:42:08 +0200 |
|---|---|---|
| committer | Philippe Guibert <philippe.guibert@6wind.com> | 2023-06-16 10:54:58 +0200 |
| commit | 27f4deed0ac168344103459335b8e64c6820d9a6 (patch) | |
| tree | 5f8b99083d477271539136b56ff9f547d7bec1cd /bgpd/bgp_mplsvpn.h | |
| parent | 98c615f05a0965d916964e389fde24c4237e0296 (diff) | |
bgpd: update the mpls entry to handle return traffic
When advertising an mpls vpn entry with a new label,
the return traffic is redirected to the local machine,
but the MPLS traffic is dropped.
Add an MPLS entry to handle MPLS packets which have
the new label value. Traffic is swapped to the original
label value from the mpls vpn next-hop entry; then it is
sent to the resolved next-hop of the original next-hop
from the mpls vpn next-hop entry.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Diffstat (limited to 'bgpd/bgp_mplsvpn.h')
| -rw-r--r-- | bgpd/bgp_mplsvpn.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bgpd/bgp_mplsvpn.h b/bgpd/bgp_mplsvpn.h index 6ff7a0a020..aeea4598e3 100644 --- a/bgpd/bgp_mplsvpn.h +++ b/bgpd/bgp_mplsvpn.h @@ -349,6 +349,9 @@ struct bgp_mplsvpn_nh_label_bind_cache { struct prefix nexthop; mpls_label_t orig_label; + /* resolved interface for the paths */ + struct nexthop *nh; + /* number of mplsvpn path */ unsigned int path_count; |
