Skip to content

Commit

Permalink
Merge pull request #291 from swordqiu/automated-cherry-pick-of-#289-u…
Browse files Browse the repository at this point in the history
…pstream-release-3.11

Automated cherry pick of #289: fix: arp response for metadata server
  • Loading branch information
swordqiu authored Sep 9, 2024
2 parents e43f763 + 7354761 commit 653a4cd
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pkg/agent/server/ovn-md.go
Original file line number Diff line number Diff line change
Expand Up @@ -543,7 +543,7 @@ func (mdf *ovnMdForward) Serve(ctx context.Context) error {
laddr = conn.LocalAddr()
raddr = conn.RemoteAddr()
)
log.Infof("serveConn %s %s->%s: %v", laddr.Network(), raddr, laddr, err)
log.Errorf("serveConn %s %s->%s fail: %v", laddr.Network(), raddr, laddr, err)
}
}()
}
Expand Down
16 changes: 16 additions & 0 deletions pkg/agent/utils/flowsource.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ package utils
import (
"bytes"
"fmt"
"strings"
"text/template"

"github.com/digitalocean/go-openvswitch/ovs"
Expand Down Expand Up @@ -63,6 +64,20 @@ func (h *HostLocal) Who() string {
}

func (h *HostLocal) FlowsMap() (map[string][]*ovs.Flow, error) {
var (
hexMac = "0x" + strings.TrimLeft(strings.ReplaceAll(h.MAC.String(), ":", ""), "0")

mdArpRespActions = []string{
"move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[]",
fmt.Sprintf("load:%s->NXM_OF_ETH_SRC[]", hexMac),
"load:0x2->NXM_OF_ARP_OP[]",
fmt.Sprintf("load:%s->NXM_NX_ARP_SHA[]", hexMac),
"move:NXM_OF_ARP_TPA[]->NXM_OF_ARP_SPA[]",
"move:NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[]",
"move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[]",
"in_port",
}
)
ps, err := DumpPort(h.Bridge, h.Ifname)
if err != nil {
return nil, err
Expand All @@ -78,6 +93,7 @@ func (h *HostLocal) FlowsMap() (map[string][]*ovs.Flow, error) {
// F(0, 40000, "ipv6", "drop"),
}
flows = append(flows,
F(0, 29311, "arp,arp_op=1,arp_tpa=169.254.169.254", strings.Join(mdArpRespActions, ",")),
F(0, 29310, "in_port=LOCAL,tcp,nw_dst=169.254.169.254,tp_dst=80", T("normal")),
F(0, 27200, "in_port=LOCAL", "normal"),
F(0, 26900, T("in_port={{.PortNoPhy}},dl_dst={{.MAC}}"), "normal"),
Expand Down

0 comments on commit 653a4cd

Please sign in to comment.