update gobgp pkg

This commit is contained in:
Ian Azpiazu
2022-05-16 13:40:57 -04:00
parent 878ee3a63e
commit 80d743ffa5
652 changed files with 136451 additions and 98241 deletions

View File

@@ -260,6 +260,8 @@ const (
AFI_SAFI_TYPE_IPV6_FLOWSPEC AfiSafiType = "ipv6-flowspec"
AFI_SAFI_TYPE_L3VPN_IPV6_FLOWSPEC AfiSafiType = "l3vpn-ipv6-flowspec"
AFI_SAFI_TYPE_L2VPN_FLOWSPEC AfiSafiType = "l2vpn-flowspec"
AFI_SAFI_TYPE_IPV4_SRPOLICY AfiSafiType = "ipv4-srpolicy"
AFI_SAFI_TYPE_IPV6_SRPOLICY AfiSafiType = "ipv6-srpolicy"
AFI_SAFI_TYPE_OPAQUE AfiSafiType = "opaque"
AFI_SAFI_TYPE_LS AfiSafiType = "ls"
)
@@ -285,8 +287,10 @@ var AfiSafiTypeToIntMap = map[AfiSafiType]int{
AFI_SAFI_TYPE_IPV6_FLOWSPEC: 17,
AFI_SAFI_TYPE_L3VPN_IPV6_FLOWSPEC: 18,
AFI_SAFI_TYPE_L2VPN_FLOWSPEC: 19,
AFI_SAFI_TYPE_OPAQUE: 20,
AFI_SAFI_TYPE_LS: 21,
AFI_SAFI_TYPE_IPV4_SRPOLICY: 20,
AFI_SAFI_TYPE_IPV6_SRPOLICY: 21,
AFI_SAFI_TYPE_OPAQUE: 22,
AFI_SAFI_TYPE_LS: 23,
}
var IntToAfiSafiTypeMap = map[int]AfiSafiType{
@@ -310,8 +314,10 @@ var IntToAfiSafiTypeMap = map[int]AfiSafiType{
17: AFI_SAFI_TYPE_IPV6_FLOWSPEC,
18: AFI_SAFI_TYPE_L3VPN_IPV6_FLOWSPEC,
19: AFI_SAFI_TYPE_L2VPN_FLOWSPEC,
20: AFI_SAFI_TYPE_OPAQUE,
21: AFI_SAFI_TYPE_LS,
20: AFI_SAFI_TYPE_IPV4_SRPOLICY,
21: AFI_SAFI_TYPE_IPV6_SRPOLICY,
22: AFI_SAFI_TYPE_OPAQUE,
23: AFI_SAFI_TYPE_LS,
}
func (v AfiSafiType) Validate() error {
@@ -1135,7 +1141,7 @@ type ZebraState struct {
MplsLabelRangeSize uint32 `mapstructure:"mpls-label-range-size" json:"mpls-label-range-size,omitempty"`
// original -> gobgp:software-name
// Configure zebra software name.
// quagga, frr3, frr4, frr5, frr6, frr7 can be used.
// frr4, cumulus, frr6, frr7, frr7.2, and frr7.3 can be used.
SoftwareName string `mapstructure:"software-name" json:"software-name,omitempty"`
}
@@ -1165,7 +1171,7 @@ type ZebraConfig struct {
MplsLabelRangeSize uint32 `mapstructure:"mpls-label-range-size" json:"mpls-label-range-size,omitempty"`
// original -> gobgp:software-name
// Configure zebra software name.
// quagga, frr3, frr4, frr5, frr6, frr7 can be used.
// frr4, cumulus, frr6, frr7, frr7.2, and frr7.3 can be used.
SoftwareName string `mapstructure:"software-name" json:"software-name,omitempty"`
}

View File

@@ -130,7 +130,7 @@ func (n *Neighbor) IsConfederation(g *Global) bool {
}
func (n *Neighbor) IsEBGPPeer(g *Global) bool {
return n.Config.PeerAs != g.Config.As
return n.Config.PeerAs != n.Config.LocalAs
}
func (n *Neighbor) CreateRfMap() map[bgp.RouteFamily]bgp.BGPAddPathMode {
@@ -299,14 +299,22 @@ func newAfiSafiConfigFromConfigStruct(c *AfiSafi) *api.AfiSafiConfig {
}
func newApplyPolicyFromConfigStruct(c *ApplyPolicy) *api.ApplyPolicy {
f := func(t DefaultPolicyType) api.RouteAction {
if t == DEFAULT_POLICY_TYPE_ACCEPT_ROUTE {
return api.RouteAction_ACCEPT
} else if t == DEFAULT_POLICY_TYPE_REJECT_ROUTE {
return api.RouteAction_REJECT
}
return api.RouteAction_NONE
}
applyPolicy := &api.ApplyPolicy{
ImportPolicy: &api.PolicyAssignment{
Direction: api.PolicyDirection_IMPORT,
DefaultAction: api.RouteAction(c.Config.DefaultImportPolicy.ToInt()),
DefaultAction: f(c.Config.DefaultImportPolicy),
},
ExportPolicy: &api.PolicyAssignment{
Direction: api.PolicyDirection_EXPORT,
DefaultAction: api.RouteAction(c.Config.DefaultExportPolicy.ToInt()),
DefaultAction: f(c.Config.DefaultExportPolicy),
},
}
@@ -376,6 +384,13 @@ func newMpGracefulRestartFromConfigStruct(c *MpGracefulRestart) *api.MpGracefulR
Config: &api.MpGracefulRestartConfig{
Enabled: c.Config.Enabled,
},
State: &api.MpGracefulRestartState{
Enabled: c.State.Enabled,
Received: c.State.Received,
Advertised: c.State.Advertised,
EndOfRibReceived: c.State.EndOfRibReceived,
EndOfRibSent: c.State.EndOfRibSent,
},
}
}
@@ -504,6 +519,10 @@ func NewPeerFromConfigStruct(pconf *Neighbor) *api.Peer {
Enabled: pconf.EbgpMultihop.Config.Enabled,
MultihopTtl: uint32(pconf.EbgpMultihop.Config.MultihopTtl),
},
TtlSecurity: &api.TtlSecurity{
Enabled: pconf.TtlSecurity.Config.Enabled,
TtlMin: uint32(pconf.TtlSecurity.Config.TtlMin),
},
Timers: &api.Timers{
Config: &api.TimersConfig{
ConnectRetry: uint64(timer.Config.ConnectRetry),
@@ -549,6 +568,8 @@ func NewPeerGroupFromConfigStruct(pconf *PeerGroup) *api.PeerGroup {
afiSafis := make([]*api.AfiSafi, 0, len(pconf.AfiSafis))
for _, f := range pconf.AfiSafis {
if afiSafi := newAfiSafiFromConfigStruct(&f); afiSafi != nil {
afiSafi.AddPaths.Config.Receive = pconf.AddPaths.Config.Receive
afiSafi.AddPaths.Config.SendMax = uint32(pconf.AddPaths.Config.SendMax)
afiSafis = append(afiSafis, afiSafi)
}
}
@@ -576,6 +597,10 @@ func NewPeerGroupFromConfigStruct(pconf *PeerGroup) *api.PeerGroup {
Enabled: pconf.EbgpMultihop.Config.Enabled,
MultihopTtl: uint32(pconf.EbgpMultihop.Config.MultihopTtl),
},
TtlSecurity: &api.TtlSecurity{
Enabled: pconf.TtlSecurity.Config.Enabled,
TtlMin: uint32(pconf.TtlSecurity.Config.TtlMin),
},
Timers: &api.Timers{
Config: &api.TimersConfig{
ConnectRetry: uint64(timer.Config.ConnectRetry),