Skip to content

Commit ed0ae27

Browse files
cheina97adamjensenbot
authored andcommitted
fix: genevetunnel key allocation
1 parent d8c2798 commit ed0ae27

2 files changed

Lines changed: 9 additions & 4 deletions

File tree

pkg/liqo-controller-manager/networking/internal-network/id/genevetunnel.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func GetGeneveTunnelManager(ctx context.Context, cl client.Client) *Manager[uint
3838

3939
for i := range tunnelList.Items {
4040
tunnel := &tunnelList.Items[i]
41-
err = geneveTunnelManager.Configure(tunnel.Name, tunnel.Spec.ID)
41+
err = geneveTunnelManager.Configure(client.ObjectKeyFromObject(tunnel).String(), tunnel.Spec.ID)
4242
runtime.Must(err)
4343
}
4444
})

pkg/utils/network/geneve/netlink.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
package geneve
1616

1717
import (
18+
"errors"
1819
"fmt"
1920
"net"
2021

@@ -77,9 +78,10 @@ func CreateGeneveInterface(name string, local, remote net.IP, id uint32, disable
7778
}
7879
} else {
7980
geneveLink = link.(*netlink.Geneve)
80-
if !geneveLink.Remote.Equal(remote) || geneveLink.MTU != mtu || geneveLink.Dport != port {
81-
klog.Warningf("geneve link already exists with different remote IP (%s -> %s), modifyng it",
82-
geneveLink.Remote.String(), remote.String())
81+
if !geneveLink.Remote.Equal(remote) || geneveLink.MTU != mtu || geneveLink.Dport != port || geneveLink.ID != id {
82+
klog.Warningf("geneve link already exists with different parameters "+
83+
"(remote: %s -> %s, id: %d -> %d, mtu: %d -> %d, dport: %d -> %d), modifying it",
84+
geneveLink.Remote.String(), remote.String(), geneveLink.ID, id, geneveLink.MTU, mtu, geneveLink.Dport, port)
8385
if err := netlink.LinkDel(geneveLink); err != nil {
8486
return fmt.Errorf("cannot delete geneve link: %w", err)
8587
}
@@ -119,6 +121,9 @@ func CreateGeneveInterface(name string, local, remote net.IP, id uint32, disable
119121
func ExistGeneveInterface(name string) netlink.Link {
120122
link, err := netlink.LinkByName(name)
121123
if err != nil {
124+
if !errors.As(err, &netlink.LinkNotFoundError{}) {
125+
klog.Warningf("geneve interface check failed: %v", err)
126+
}
122127
return nil
123128
}
124129
return link

0 commit comments

Comments
 (0)