package org.batfish.representation.cumulus;

import java.io.Serializable;
import javax.annotation.Nullable;

/** L2VPN EVPN settings for BGP */
public class BgpL2vpnEvpnAddressFamily implements Serializable {

  private static final long serialVersionUID = 1L;

  private boolean _advertiseAllVni;
  private boolean _advertiseDefaultGw;
  private @Nullable BgpL2VpnEvpnIpv4Unicast _advertiseIpv4Unicast;

  public boolean getAdvertiseAllVni() {
    return _advertiseAllVni;
  }

  public boolean getAdvertiseDefaultGw() {
    return _advertiseDefaultGw;
  }

  public BgpL2VpnEvpnIpv4Unicast getAdvertiseIpv4Unicast() {
    return _advertiseIpv4Unicast;
  }

  public void setAdvertiseAllVni(boolean advertiseAllVni) {
    _advertiseAllVni = advertiseAllVni;
  }

  public void setAdvertiseDefaultGw(boolean advertiseDefaultGw) {
    _advertiseDefaultGw = advertiseDefaultGw;
  }

  public void setAdvertiseIpv4Unicast(@Nullable BgpL2VpnEvpnIpv4Unicast advertiseIpv4Unicast) {
    _advertiseIpv4Unicast = advertiseIpv4Unicast;
  }
}

@@ -404,159 +404,470 @@
 %0A%0A  
-public boolean getAdvertiseAllVni() %7B%0A    return _advertiseAllVni;%0A  %7D%0A%0A  public boolean getAdvertiseDefaultGw() %7B%0A    return _advertiseDefaultGw;%0A  %7D%0A
+/** Whether to generate type 3 VTEP reachability advertisements for all defined VNIs */%0A  public boolean getAdvertiseAllVni() %7B%0A    return _advertiseAllVni;%0A  %7D%0A%0A  /**%0A   * Whether to generate a type 2 route for the IP address of the SVI associated with a defined VNI%0A   */%0A  public boolean getAdvertiseDefaultGw() %7B%0A    return _advertiseDefaultGw;%0A  %7D%0A%0A  /** If not %7B@code null%7D, redistribute IPv4 routes into EVPN address family as type 5 routes */%0A  @Nullable
 %0A  p

Add some javadoc to Cumulus VS data structures (#4014)