Skip to content

Commit 31b8445

Browse files
LoneExileoilbeater
authored andcommitted
fix(controller): enable ARP learning on VPC routers that have peerings (#6882)
VPC peering requires ARP learning on the logical router. Cross-VPC traffic arrives via the peer LRP, so the destination router needs to learn pod MACs from ARP requests. Without it, packets are mis-forwarded (tunneled instead of local delivery). Previously, learnFromARPRequest was only set for EnableExternal and U2O interconnection. This patch also enables it when any VpcPeerings exist. Signed-off-by: Apinant U-suwantim <Hello@Apinant.dev> (cherry picked from commit 70fe403)
1 parent e3c0902 commit 31b8445

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

pkg/controller/vpc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ func (c *Controller) handleAddOrUpdateVpc(key string) error {
289289
return err
290290
}
291291

292-
learnFromARPRequest := vpc.Spec.EnableExternal
292+
learnFromARPRequest := vpc.Spec.EnableExternal || len(vpc.Spec.VpcPeerings) != 0
293293
if !learnFromARPRequest {
294294
for _, subnetName := range vpc.Status.Subnets {
295295
subnet, err := c.subnetsLister.Get(subnetName)

0 commit comments

Comments
 (0)