[dev] [frr] 2 MPLS Questions

Lou Berger lberger at labn.net
Wed Apr 5 08:40:44 EDT 2017


Hi Marc,

On 3/27/2017 4:30 PM, Marc Sune wrote:
> In regular MPLS processing (no SR), does FRR currently support
> advertising any label other than implicit NULL for MPLS traffic
> termination(itself)? And for L2VPNs?
>
If you're using the BGP RFAPI, labels can be provided as a VN option
during registers (from rfapi.h: struct
rfapi_l2address_option/RFAPI_VN_OPTION_TYPE_L2ADDR) .  Here's a code sample:

  rfapi_register_action action;
  struct rfapi_vn_option vo;
  struct rfapi_l2address_option *l2o = NULL;

  action = (add ? RFAPI_REGISTER_ADD : RFAPI_REGISTER_WITHDRAW);
 
  memset (&vo, 0, sizeof (vo));
  vo.type = RFAPI_VN_OPTION_TYPE_L2ADDR;
  l2o = &vo.v.l2addr;
  l2o->macaddr = <mac|0=IP+label>;
  l2o->label = <label>;
  l2o->logical_net_id = <EVPN Ethernet Segment Id>//must be > 0 for L2
mac registration
  l2o->local_nve_id = (uint8_t) <0|redundant_port_id>
  l2o->tag_id = <0=default|2 bytes copied to additional RT>

  return rfapi_register (rfd, prefix, lifetime,
                         NULL,
                         &vo, action);

Also there is some related (optional) configuration, see the VNC L2
configuration manual section
(http://labn.net/frr.html/VNC-L2-Group-Configuration.html#VNC-L2-Group-Configuration)

Lou




More information about the dev mailing list