Skip to content

Commit

Permalink
Fixed rebase issues and removed CreateL2 tests
Browse files Browse the repository at this point in the history
Signed-off-by: Patryk Strusiewicz-Surmacki <patryk-pawel.strusiewicz-surmacki@external.telekom.de>
  • Loading branch information
p-strusiewiczsurmacki-mobica committed May 9, 2024
1 parent ffcf9dc commit bdab15e
Show file tree
Hide file tree
Showing 5 changed files with 252 additions and 1,041 deletions.
10 changes: 7 additions & 3 deletions pkg/frr/frr_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ import (
"go.uber.org/mock/gomock"
)

const (
frrConf = "frr.conf"
)

var (
mockctrl *gomock.Controller
tmpDir string
Expand All @@ -28,7 +32,7 @@ var _ = BeforeSuite(func() {
tmpDir, err = os.MkdirTemp(".", "testdata")
Expect(err).ToNot(HaveOccurred())

f, err := os.Create(tmpDir + "/frr.conf")
f, err := os.Create(tmpDir + "/" + frrConf)
Expect(err).ToNot(HaveOccurred())
err = f.Close()
Expect(err).ToNot(HaveOccurred())
Expand Down Expand Up @@ -61,13 +65,13 @@ var _ = Describe("frr", func() {
Expect(err).To(HaveOccurred())
})
It("return error if cannot write template config file", func() {
m := &Manager{ConfigPath: "testdata/frr.conf"}
m := &Manager{ConfigPath: "testdata/" + frrConf}
err := m.Init()
Expect(err).To(HaveOccurred())
})
It("return no error", func() {
m := &Manager{
ConfigPath: tmpDir + "/frr.conf",
ConfigPath: tmpDir + "/" + frrConf,
TemplatePath: tmpDir + "/frr.tpl.conf",
}
err := m.Init()
Expand Down
4 changes: 2 additions & 2 deletions pkg/frr/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ func (m *Manager) ReloadFRR() error {
return nil
}

func (n *Manager) RestartFRR() error {
con, err := n.dbusToolkit.NewConn(context.Background())
func (m *Manager) RestartFRR() error {
con, err := m.dbusToolkit.NewConn(context.Background())
if err != nil {
return fmt.Errorf("error creating nee D-Bus connection: %w", err)
}
Expand Down
18 changes: 9 additions & 9 deletions pkg/nl/layer3.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,20 +143,20 @@ func (n *Manager) GetL3ByName(name string) (*VRFInformation, error) {
return nil, fmt.Errorf("no VRF with name %s", name)
}

func (m *Manager) EnsureBPFProgram(info VRFInformation) error {
if link, err := m.toolkit.LinkByName(bridgePrefix + info.Name); err != nil {
func (n *Manager) EnsureBPFProgram(info VRFInformation) error {
if link, err := n.toolkit.LinkByName(bridgePrefix + info.Name); err != nil {
return fmt.Errorf("error getting bridge interface of vrf %s: %w", info.Name, err)
} else if err := bpf.AttachToInterface(link); err != nil {
return fmt.Errorf("error attaching bpf program to bridge interface of vrf %s: %w", info.Name, err)
}

if link, err := m.toolkit.LinkByName(vrfToDefaultPrefix + info.Name); err != nil {
if link, err := n.toolkit.LinkByName(vrfToDefaultPrefix + info.Name); err != nil {
return fmt.Errorf("error getting vrf2default interface of vrf %s: %w", info.Name, err)
} else if err := bpf.AttachToInterface(link); err != nil {
return fmt.Errorf("error attaching bpf program to vrf2default interface of vrf %s: %w", info.Name, err)
}

if link, err := m.toolkit.LinkByName(vxlanPrefix + info.Name); err != nil {
if link, err := n.toolkit.LinkByName(vxlanPrefix + info.Name); err != nil {
return fmt.Errorf("error getting vxlan interface of vrf %s: %w", info.Name, err)
} else if err := bpf.AttachToInterface(link); err != nil {
return fmt.Errorf("error attaching bpf program to vxlan interface of vrf %s: %w", info.Name, err)
Expand All @@ -172,23 +172,23 @@ func (info VRFInformation) linkMTU() int {
return info.MTU
}

func (m *Manager) EnsureMTU(info VRFInformation) error {
link, err := m.toolkit.LinkByName(vrfToDefaultPrefix + info.Name)
func (n *Manager) EnsureMTU(info VRFInformation) error {
link, err := n.toolkit.LinkByName(vrfToDefaultPrefix + info.Name)
if err != nil {
return fmt.Errorf("error getting vrf2default interface of vrf %s: %w", info.Name, err)
}
if link.Attrs().MTU != info.linkMTU() {
if err := m.toolkit.LinkSetMTU(link, info.MTU); err != nil {
if err := n.toolkit.LinkSetMTU(link, info.MTU); err != nil {
return fmt.Errorf("error setting MTU of vrf2default interface of vrf %s: %w", info.Name, err)
}
}

link, err = m.toolkit.LinkByName(defaultToVrfPrefix + info.Name)
link, err = n.toolkit.LinkByName(defaultToVrfPrefix + info.Name)
if err != nil {
return fmt.Errorf("error getting default2vrf interface of vrf %s: %w", info.Name, err)
}
if link.Attrs().MTU != info.linkMTU() {
if err := m.toolkit.LinkSetMTU(link, info.MTU); err != nil {
if err := n.toolkit.LinkSetMTU(link, info.MTU); err != nil {
return fmt.Errorf("error setting MTU of default2vrw interface of vrf %s: %w", info.Name, err)
}
}
Expand Down
4 changes: 1 addition & 3 deletions pkg/nl/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func (n *Manager) listNeighbors() ([]netlink.Neigh, error) {
return neighbors, nil
}

func (*Manager) ListVRFInterfaces() (map[int]VRFInformation, error) {
func (n *Manager) ListVRFInterfaces() (map[int]VRFInformation, error) {
// TODO: find a way to merge this with ListL3
infos := map[int]VRFInformation{}
links, err := n.toolkit.LinkList()
Expand All @@ -47,8 +47,6 @@ func (*Manager) ListVRFInterfaces() (map[int]VRFInformation, error) {
if link.Type() != "vrf" {
continue
}
vrf := link.(*netlink.Vrf)

vrf, ok := link.(*netlink.Vrf)
if !ok {
return nil, fmt.Errorf("error casting link %v as netlink.Vrf", link)
Expand Down
Loading

0 comments on commit bdab15e

Please sign in to comment.