tkestack / galaxy

Providing high-performance network for Kubernetes
Other
109 stars 39 forks source link

Vlan CNI switch=ipvlan ipvlan_mode=l3, l3s do not send gratuitous arp #128

Closed blue-troy closed 3 years ago

blue-troy commented 3 years ago

in code

if d.IpVlanMode == "l3" || d.IpVlanMode == "l3s" {
        _ = utils.SendGratuitousARP(d.Device, result.IP4.IP.IP.String(), "", d.GratuitousArpRequest)
        return nil
    }

we want to send gratuitous arp.but we in code

if d.MacVlanMode() || d.IPVlanMode() {
        return nil
    }
    if d.PureMode() {
        if err := d.initPureModeArgs(); err != nil {
            return err
        }
        return utils.EnableNonlocalBind()
    }

wo did not set EnableNonlocalBind for ipvlan l3 l3s mode. and we ignore the utils.SendGratuitousARP error result.

blue-troy commented 3 years ago

if SendGratuitousARP problem solved,there till will be a arp cache problem. but i think we should solve this problem first.

chenchun commented 3 years ago

@blue-troy with you patch, is the problem solved?

blue-troy commented 3 years ago

@blue-troy with you patch, is the problem solved? in my test environment,the problem solved.did not you?

chenchun commented 3 years ago

I don't have an environment to test it. I'm closing the issue, thanks for reporting.