plugins/{bridge,macvlan} test: ensure hardware addr
* bridge: Test the following interface's hardware address for the CNI specific prefix: - bridge with IP address - container veth * plugins/macvlan test: ensure hardware addr
This commit is contained in:
parent
f68cea27bc
commit
5a52316ab5
@ -24,6 +24,8 @@ import (
|
|||||||
"github.com/containernetworking/cni/pkg/testutils"
|
"github.com/containernetworking/cni/pkg/testutils"
|
||||||
"github.com/containernetworking/cni/pkg/types"
|
"github.com/containernetworking/cni/pkg/types"
|
||||||
|
|
||||||
|
"github.com/containernetworking/cni/pkg/utils/hwaddr"
|
||||||
|
|
||||||
"github.com/vishvananda/netlink"
|
"github.com/vishvananda/netlink"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
@ -179,9 +181,19 @@ var _ = Describe("bridge Operations", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(len(links)).To(Equal(3)) // Bridge, veth, and loopback
|
Expect(len(links)).To(Equal(3)) // Bridge, veth, and loopback
|
||||||
for _, l := range links {
|
for _, l := range links {
|
||||||
if l.Attrs().Name != BRNAME && l.Attrs().Name != "lo" {
|
switch {
|
||||||
_, isVeth := l.(*netlink.Veth)
|
case l.Attrs().Name == BRNAME:
|
||||||
Expect(isVeth).To(Equal(true))
|
{
|
||||||
|
_, isBridge := l.(*netlink.Bridge)
|
||||||
|
Expect(isBridge).To(Equal(true))
|
||||||
|
hwAddr := fmt.Sprintf("%s", l.Attrs().HardwareAddr)
|
||||||
|
Expect(hwAddr).To(HavePrefix(hwaddr.PrivateMACPrefixString))
|
||||||
|
}
|
||||||
|
case l.Attrs().Name != BRNAME && l.Attrs().Name != "lo":
|
||||||
|
{
|
||||||
|
_, isVeth := l.(*netlink.Veth)
|
||||||
|
Expect(isVeth).To(Equal(true))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
@ -197,6 +209,9 @@ var _ = Describe("bridge Operations", func() {
|
|||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(link.Attrs().Name).To(Equal(IFNAME))
|
Expect(link.Attrs().Name).To(Equal(IFNAME))
|
||||||
|
|
||||||
|
hwAddr := fmt.Sprintf("%s", link.Attrs().HardwareAddr)
|
||||||
|
Expect(hwAddr).To(HavePrefix(hwaddr.PrivateMACPrefixString))
|
||||||
|
|
||||||
// Ensure the default route
|
// Ensure the default route
|
||||||
routes, err := netlink.RouteList(link, 0)
|
routes, err := netlink.RouteList(link, 0)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
@ -21,6 +21,7 @@ import (
|
|||||||
"github.com/containernetworking/cni/pkg/skel"
|
"github.com/containernetworking/cni/pkg/skel"
|
||||||
"github.com/containernetworking/cni/pkg/testutils"
|
"github.com/containernetworking/cni/pkg/testutils"
|
||||||
"github.com/containernetworking/cni/pkg/types"
|
"github.com/containernetworking/cni/pkg/types"
|
||||||
|
"github.com/containernetworking/cni/pkg/utils/hwaddr"
|
||||||
|
|
||||||
"github.com/vishvananda/netlink"
|
"github.com/vishvananda/netlink"
|
||||||
|
|
||||||
@ -139,6 +140,10 @@ var _ = Describe("macvlan Operations", func() {
|
|||||||
link, err := netlink.LinkByName(IFNAME)
|
link, err := netlink.LinkByName(IFNAME)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(link.Attrs().Name).To(Equal(IFNAME))
|
Expect(link.Attrs().Name).To(Equal(IFNAME))
|
||||||
|
|
||||||
|
hwAddr := fmt.Sprintf("%s", link.Attrs().HardwareAddr)
|
||||||
|
Expect(hwAddr).To(HavePrefix(hwaddr.PrivateMACPrefixString))
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user