Skip to content

Commit 2fc33b8

Browse files
committed
rebase: adjust net/netip migration
1 parent 3db7c2d commit 2fc33b8

24 files changed

Lines changed: 206 additions & 178 deletions

addr.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func ParseAddr(s string) (*Addr, error) {
3535
s = parts[0]
3636
label = parts[1]
3737
}
38-
m, err := ParseIPNet(s)
38+
m, err := ParsePrefix(s)
3939
if err != nil {
4040
return nil, err
4141
}

addr_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,9 +335,9 @@ func TestAddrProtocol(t *testing.T) {
335335
}
336336

337337
const testProtocol = 99
338-
address := &net.IPNet{IP: net.IPv4(127, 0, 0, 2), Mask: net.CIDRMask(32, 32)}
338+
prefix := netip.PrefixFrom(netip.MustParseAddr("127.0.0.2"), 32)
339339
addr := &Addr{
340-
IPNet: address,
340+
Prefix: prefix,
341341
Protocol: testProtocol,
342342
}
343343

bridge_linux_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ func setupBridgeWithTwoVxlans(t *testing.T) (*Bridge, *Vxlan, *Vxlan) {
310310
// ip link add vxlan0 type vxlan dstport 4789 nolearning external local 10.0.1.1
311311
vxlan0 := &Vxlan{
312312
LinkAttrs: LinkAttrs{Name: "vxlan0"},
313-
SrcAddr: []byte("10.0.1.1"),
313+
SrcAddr: netip.MustParseAddr("10.0.1.1"),
314314
Learning: false,
315315
FlowBased: true,
316316
Port: 4789,
@@ -322,7 +322,7 @@ func setupBridgeWithTwoVxlans(t *testing.T) (*Bridge, *Vxlan, *Vxlan) {
322322
// ip link add vxlan1 type vxlan dstport 4790 nolearning external local 10.0.1.1
323323
vxlan1 := &Vxlan{
324324
LinkAttrs: LinkAttrs{Name: "vxlan1"},
325-
SrcAddr: []byte("10.0.1.1"),
325+
SrcAddr: netip.MustParseAddr("10.0.1.1"),
326326
Learning: false,
327327
FlowBased: true,
328328
Port: 4790,

conntrack_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -809,7 +809,7 @@ func (f *ConntrackFilter) AddIP(tp ConntrackFilterType, ip netip.Addr) error {
809809
if !ip.IsValid() {
810810
return fmt.Errorf("Filter attribute empty")
811811
}
812-
return f.AddIPNet(tp, NewIPNet(ip))
812+
return f.AddIPNet(tp, NewPrefix(ip))
813813
}
814814

815815
// AddPort adds a Port to the conntrack filter if the Layer 4 protocol allows it

conntrack_test.go

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ func TestConntrackFilter(t *testing.T) {
629629

630630
// SrcIPNet filter
631631
filterV4 = &ConntrackFilter{}
632-
ipNet, err := ParseIPNet("10.0.0.0/12")
632+
ipNet, err := ParsePrefix("10.0.0.0/12")
633633
if err != nil {
634634
t.Fatalf("Unexpected error: %v", err)
635635
}
@@ -639,7 +639,7 @@ func TestConntrackFilter(t *testing.T) {
639639
}
640640

641641
filterV6 = &ConntrackFilter{}
642-
ipNet, err = ParseIPNet("eeee:eeee:eeee:eeee::/64")
642+
ipNet, err = ParsePrefix("eeee:eeee:eeee:eeee::/64")
643643
if err != nil {
644644
t.Fatalf("Unexpected error: %v", err)
645645
}
@@ -655,7 +655,7 @@ func TestConntrackFilter(t *testing.T) {
655655

656656
// DstIpNet filter
657657
filterV4 = &ConntrackFilter{}
658-
ipNet, err = ParseIPNet("20.0.0.0/12")
658+
ipNet, err = ParsePrefix("20.0.0.0/12")
659659
if err != nil {
660660
t.Fatalf("Unexpected error: %v", err)
661661
}
@@ -665,7 +665,7 @@ func TestConntrackFilter(t *testing.T) {
665665
}
666666

667667
filterV6 = &ConntrackFilter{}
668-
ipNet, err = ParseIPNet("dddd:dddd:dddd:dddd::/64")
668+
ipNet, err = ParsePrefix("dddd:dddd:dddd:dddd::/64")
669669
if err != nil {
670670
t.Fatalf("Unexpected error: %v", err)
671671
}
@@ -681,7 +681,7 @@ func TestConntrackFilter(t *testing.T) {
681681

682682
// SrcIPNet for NAT
683683
filterV4 = &ConntrackFilter{}
684-
ipNet, err = ParseIPNet("20.0.0.0/12")
684+
ipNet, err = ParsePrefix("20.0.0.0/12")
685685
if err != nil {
686686
t.Fatalf("Unexpected error: %v", err)
687687
}
@@ -691,7 +691,7 @@ func TestConntrackFilter(t *testing.T) {
691691
}
692692

693693
filterV6 = &ConntrackFilter{}
694-
ipNet, err = ParseIPNet("dddd:dddd:dddd:dddd::/64")
694+
ipNet, err = ParsePrefix("dddd:dddd:dddd:dddd::/64")
695695
if err != nil {
696696
t.Fatalf("Unexpected error: %v", err)
697697
}
@@ -707,7 +707,7 @@ func TestConntrackFilter(t *testing.T) {
707707

708708
// DstIPNet for NAT
709709
filterV4 = &ConntrackFilter{}
710-
ipNet, err = ParseIPNet("192.168.0.0/12")
710+
ipNet, err = ParsePrefix("192.168.0.0/12")
711711
if err != nil {
712712
t.Fatalf("Unexpected error: %v", err)
713713
}
@@ -717,7 +717,7 @@ func TestConntrackFilter(t *testing.T) {
717717
}
718718

719719
filterV6 = &ConntrackFilter{}
720-
ipNet, err = ParseIPNet("dddd:dddd:dddd:dddd::/64")
720+
ipNet, err = ParsePrefix("dddd:dddd:dddd:dddd::/64")
721721
if err != nil {
722722
t.Fatalf("Unexpected error: %v", err)
723723
}
@@ -733,7 +733,7 @@ func TestConntrackFilter(t *testing.T) {
733733

734734
// AnyIpNet for Nat
735735
filterV4 = &ConntrackFilter{}
736-
ipNet, err = ParseIPNet("192.168.0.0/12")
736+
ipNet, err = ParsePrefix("192.168.0.0/12")
737737
if err != nil {
738738
t.Fatalf("Unexpected error: %v", err)
739739
}
@@ -743,7 +743,7 @@ func TestConntrackFilter(t *testing.T) {
743743
}
744744

745745
filterV6 = &ConntrackFilter{}
746-
ipNet, err = ParseIPNet("eeee:eeee:eeee:eeee::/64")
746+
ipNet, err = ParsePrefix("eeee:eeee:eeee:eeee::/64")
747747
if err != nil {
748748
t.Fatalf("Unexpected error: %v", err)
749749
}
@@ -1124,10 +1124,10 @@ func TestConntrackUpdateV4(t *testing.T) {
11241124

11251125
filter := ConntrackFilter{
11261126
ipNetFilter: map[ConntrackFilterType]netip.Prefix{
1127-
ConntrackOrigSrcIP: NewIPNet(flow.Forward.SrcIP),
1128-
ConntrackOrigDstIP: NewIPNet(flow.Forward.DstIP),
1129-
ConntrackReplySrcIP: NewIPNet(flow.Reverse.SrcIP),
1130-
ConntrackReplyDstIP: NewIPNet(flow.Reverse.DstIP),
1127+
ConntrackOrigSrcIP: NewPrefix(flow.Forward.SrcIP),
1128+
ConntrackOrigDstIP: NewPrefix(flow.Forward.DstIP),
1129+
ConntrackReplySrcIP: NewPrefix(flow.Reverse.SrcIP),
1130+
ConntrackReplyDstIP: NewPrefix(flow.Reverse.DstIP),
11311131
},
11321132
portFilter: map[ConntrackFilterType]uint16{
11331133
ConntrackOrigSrcPort: flow.Forward.SrcPort,
@@ -1257,10 +1257,10 @@ func TestConntrackUpdateV6(t *testing.T) {
12571257

12581258
filter := ConntrackFilter{
12591259
ipNetFilter: map[ConntrackFilterType]netip.Prefix{
1260-
ConntrackOrigSrcIP: NewIPNet(flow.Forward.SrcIP),
1261-
ConntrackOrigDstIP: NewIPNet(flow.Forward.DstIP),
1262-
ConntrackReplySrcIP: NewIPNet(flow.Reverse.SrcIP),
1263-
ConntrackReplyDstIP: NewIPNet(flow.Reverse.DstIP),
1260+
ConntrackOrigSrcIP: NewPrefix(flow.Forward.SrcIP),
1261+
ConntrackOrigDstIP: NewPrefix(flow.Forward.DstIP),
1262+
ConntrackReplySrcIP: NewPrefix(flow.Reverse.SrcIP),
1263+
ConntrackReplyDstIP: NewPrefix(flow.Reverse.DstIP),
12641264
},
12651265
portFilter: map[ConntrackFilterType]uint16{
12661266
ConntrackOrigSrcPort: flow.Forward.SrcPort,
@@ -1383,10 +1383,10 @@ func TestConntrackCreateV4(t *testing.T) {
13831383

13841384
filter := ConntrackFilter{
13851385
ipNetFilter: map[ConntrackFilterType]netip.Prefix{
1386-
ConntrackOrigSrcIP: NewIPNet(flow.Forward.SrcIP),
1387-
ConntrackOrigDstIP: NewIPNet(flow.Forward.DstIP),
1388-
ConntrackReplySrcIP: NewIPNet(flow.Reverse.SrcIP),
1389-
ConntrackReplyDstIP: NewIPNet(flow.Reverse.DstIP),
1386+
ConntrackOrigSrcIP: NewPrefix(flow.Forward.SrcIP),
1387+
ConntrackOrigDstIP: NewPrefix(flow.Forward.DstIP),
1388+
ConntrackReplySrcIP: NewPrefix(flow.Reverse.SrcIP),
1389+
ConntrackReplyDstIP: NewPrefix(flow.Reverse.DstIP),
13901390
},
13911391
portFilter: map[ConntrackFilterType]uint16{
13921392
ConntrackOrigSrcPort: flow.Forward.SrcPort,
@@ -1478,10 +1478,10 @@ func TestConntrackCreateV6(t *testing.T) {
14781478

14791479
filter := ConntrackFilter{
14801480
ipNetFilter: map[ConntrackFilterType]netip.Prefix{
1481-
ConntrackOrigSrcIP: NewIPNet(flow.Forward.SrcIP),
1482-
ConntrackOrigDstIP: NewIPNet(flow.Forward.DstIP),
1483-
ConntrackReplySrcIP: NewIPNet(flow.Reverse.SrcIP),
1484-
ConntrackReplyDstIP: NewIPNet(flow.Reverse.DstIP),
1481+
ConntrackOrigSrcIP: NewPrefix(flow.Forward.SrcIP),
1482+
ConntrackOrigDstIP: NewPrefix(flow.Forward.DstIP),
1483+
ConntrackReplySrcIP: NewPrefix(flow.Reverse.SrcIP),
1484+
ConntrackReplyDstIP: NewPrefix(flow.Reverse.DstIP),
14851485
},
14861486
portFilter: map[ConntrackFilterType]uint16{
14871487
ConntrackOrigSrcPort: flow.Forward.SrcPort,
@@ -1547,15 +1547,15 @@ func TestConntrackDeleteV4(t *testing.T) {
15471547
flow := ConntrackFlow{
15481548
FamilyType: FAMILY_V4,
15491549
Forward: IPTuple{
1550-
SrcIP: net.IP{234, 234, 234, 234},
1551-
DstIP: net.IP{123, 123, 123, 123},
1550+
SrcIP: netip.MustParseAddr("234.234.234.234"),
1551+
DstIP: netip.MustParseAddr("123.123.123.123"),
15521552
SrcPort: 48385,
15531553
DstPort: 53,
15541554
Protocol: unix.IPPROTO_TCP,
15551555
},
15561556
Reverse: IPTuple{
1557-
SrcIP: net.IP{123, 123, 123, 123},
1558-
DstIP: net.IP{234, 234, 234, 234},
1557+
SrcIP: netip.MustParseAddr("123.123.123.123"),
1558+
DstIP: netip.MustParseAddr("234.234.234.234"),
15591559
SrcPort: 53,
15601560
DstPort: 48385,
15611561
Protocol: unix.IPPROTO_TCP,
@@ -1579,11 +1579,11 @@ func TestConntrackDeleteV4(t *testing.T) {
15791579
t.Fatalf("failed to list conntracks following successful insert: %s", err)
15801580
}
15811581
filter := ConntrackFilter{
1582-
ipNetFilter: map[ConntrackFilterType]*net.IPNet{
1583-
ConntrackOrigSrcIP: NewIPNet(flow.Forward.SrcIP),
1584-
ConntrackOrigDstIP: NewIPNet(flow.Forward.DstIP),
1585-
ConntrackReplySrcIP: NewIPNet(flow.Reverse.SrcIP),
1586-
ConntrackReplyDstIP: NewIPNet(flow.Reverse.DstIP),
1582+
ipNetFilter: map[ConntrackFilterType]netip.Prefix{
1583+
ConntrackOrigSrcIP: NewPrefix(flow.Forward.SrcIP),
1584+
ConntrackOrigDstIP: NewPrefix(flow.Forward.DstIP),
1585+
ConntrackReplySrcIP: NewPrefix(flow.Reverse.SrcIP),
1586+
ConntrackReplyDstIP: NewPrefix(flow.Reverse.DstIP),
15871587
},
15881588
portFilter: map[ConntrackFilterType]uint16{
15891589
ConntrackOrigSrcPort: flow.Forward.SrcPort,
@@ -1655,15 +1655,15 @@ func TestConntrackDeleteV6(t *testing.T) {
16551655
flow := ConntrackFlow{
16561656
FamilyType: FAMILY_V6,
16571657
Forward: IPTuple{
1658-
SrcIP: net.ParseIP("2001:db8::68"),
1659-
DstIP: net.ParseIP("2001:db9::32"),
1658+
SrcIP: netip.MustParseAddr("2001:db8::68"),
1659+
DstIP: netip.MustParseAddr("2001:db9::32"),
16601660
SrcPort: 48385,
16611661
DstPort: 53,
16621662
Protocol: unix.IPPROTO_TCP,
16631663
},
16641664
Reverse: IPTuple{
1665-
SrcIP: net.ParseIP("2001:db9::32"),
1666-
DstIP: net.ParseIP("2001:db8::68"),
1665+
SrcIP: netip.MustParseAddr("2001:db9::32"),
1666+
DstIP: netip.MustParseAddr("2001:db8::68"),
16671667
SrcPort: 53,
16681668
DstPort: 48385,
16691669
Protocol: unix.IPPROTO_TCP,
@@ -1687,11 +1687,11 @@ func TestConntrackDeleteV6(t *testing.T) {
16871687
t.Fatalf("failed to list conntracks following successful insert: %s", err)
16881688
}
16891689
filter := ConntrackFilter{
1690-
ipNetFilter: map[ConntrackFilterType]*net.IPNet{
1691-
ConntrackOrigSrcIP: NewIPNet(flow.Forward.SrcIP),
1692-
ConntrackOrigDstIP: NewIPNet(flow.Forward.DstIP),
1693-
ConntrackReplySrcIP: NewIPNet(flow.Reverse.SrcIP),
1694-
ConntrackReplyDstIP: NewIPNet(flow.Reverse.DstIP),
1690+
ipNetFilter: map[ConntrackFilterType]netip.Prefix{
1691+
ConntrackOrigSrcIP: NewPrefix(flow.Forward.SrcIP),
1692+
ConntrackOrigDstIP: NewPrefix(flow.Forward.DstIP),
1693+
ConntrackReplySrcIP: NewPrefix(flow.Reverse.SrcIP),
1694+
ConntrackReplyDstIP: NewPrefix(flow.Reverse.DstIP),
16951695
},
16961696
portFilter: map[ConntrackFilterType]uint16{
16971697
ConntrackOrigSrcPort: flow.Forward.SrcPort,
@@ -1753,15 +1753,15 @@ func TestConntrackLabels(t *testing.T) {
17531753
flow := ConntrackFlow{
17541754
FamilyType: FAMILY_V4,
17551755
Forward: IPTuple{
1756-
SrcIP: net.IP{234, 234, 234, 234},
1757-
DstIP: net.IP{123, 123, 123, 123},
1756+
SrcIP: netip.MustParseAddr("234.234.234.234"),
1757+
DstIP: netip.MustParseAddr("123.123.123.123"),
17581758
SrcPort: 48385,
17591759
DstPort: 53,
17601760
Protocol: unix.IPPROTO_TCP,
17611761
},
17621762
Reverse: IPTuple{
1763-
SrcIP: net.IP{123, 123, 123, 123},
1764-
DstIP: net.IP{234, 234, 234, 234},
1763+
SrcIP: netip.MustParseAddr("123.123.123.123"),
1764+
DstIP: netip.MustParseAddr("234.234.234.234"),
17651765
SrcPort: 53,
17661766
DstPort: 48385,
17671767
Protocol: unix.IPPROTO_TCP,
@@ -1792,11 +1792,11 @@ func TestConntrackLabels(t *testing.T) {
17921792
}
17931793

17941794
filter := ConntrackFilter{
1795-
ipNetFilter: map[ConntrackFilterType]*net.IPNet{
1796-
ConntrackOrigSrcIP: NewIPNet(flow.Forward.SrcIP),
1797-
ConntrackOrigDstIP: NewIPNet(flow.Forward.DstIP),
1798-
ConntrackReplySrcIP: NewIPNet(flow.Reverse.SrcIP),
1799-
ConntrackReplyDstIP: NewIPNet(flow.Reverse.DstIP),
1795+
ipNetFilter: map[ConntrackFilterType]netip.Prefix{
1796+
ConntrackOrigSrcIP: NewPrefix(flow.Forward.SrcIP),
1797+
ConntrackOrigDstIP: NewPrefix(flow.Forward.DstIP),
1798+
ConntrackReplySrcIP: NewPrefix(flow.Reverse.SrcIP),
1799+
ConntrackReplyDstIP: NewPrefix(flow.Reverse.DstIP),
18001800
},
18011801
portFilter: map[ConntrackFilterType]uint16{
18021802
ConntrackOrigSrcPort: flow.Forward.SrcPort,

filter_linux.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ func (filter *Flower) encodeIP(parent *nl.RtAttr, ip netip.Prefix, v4Type, v6Typ
9999
maskType = v6MaskType
100100
}
101101

102-
parent.AddRtAttr(ipType, ip.Addr().AsSlice())
102+
parent.AddRtAttr(ipType, ip.Masked().Addr().AsSlice())
103103
parent.AddRtAttr(maskType, encodeMask)
104104
}
105105

@@ -913,19 +913,19 @@ func parsePeditExtendedKeys(pedit *nl.TcPedit, action *PeditAction) {
913913

914914
case nl.TCA_PEDIT_KEY_EX_HDR_TYPE_IP4:
915915
srcIP, dstIP := nl.ParsePeditIP4Keys(keys)
916-
if srcIP != nil {
916+
if srcIP.IsValid() {
917917
action.SrcIP = srcIP
918918
}
919-
if dstIP != nil {
919+
if dstIP.IsValid() {
920920
action.DstIP = dstIP
921921
}
922922

923923
case nl.TCA_PEDIT_KEY_EX_HDR_TYPE_IP6:
924924
srcIP, dstIP := nl.ParsePeditIP6Keys(keys)
925-
if srcIP != nil {
925+
if srcIP.IsValid() {
926926
action.SrcIP = srcIP
927927
}
928-
if dstIP != nil {
928+
if dstIP.IsValid() {
929929
action.DstIP = dstIP
930930
}
931931

filter_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1829,17 +1829,17 @@ func TestFilterFlowerAddDel(t *testing.T) {
18291829
if filter.EthType != flower.EthType {
18301830
t.Fatalf("Flower EthType doesn't match")
18311831
}
1832-
if filter.Dest != flower.Dest {
1832+
if filter.Dest.Masked() != flower.Dest.Masked() {
18331833
t.Fatalf("Flower DestIP doesn't match")
18341834
}
1835-
if filter.Src != flower.Src {
1835+
if filter.Src.Masked() != flower.Src.Masked() {
18361836
t.Fatalf("Flower SrcIP doesn't match")
18371837
}
18381838

1839-
if filter.EncDest != flower.EncDest {
1839+
if filter.EncDest.Masked() != flower.EncDest.Masked() {
18401840
t.Fatalf("Flower EncDestIP doesn't match")
18411841
}
1842-
if filter.EncSrc != flower.EncSrc {
1842+
if filter.EncSrc.Masked() != flower.EncSrc.Masked() {
18431843
t.Fatalf("Flower EncSrcIP doesn't match")
18441844
}
18451845
if filter.EncKeyId != flower.EncKeyId {
@@ -2186,7 +2186,7 @@ func TestFilterIPv6FlowerPedit(t *testing.T) {
21862186
if filter.EthType != flower.EthType {
21872187
t.Fatalf("Flower EthType doesn't match")
21882188
}
2189-
if filter.Dest != flower.Dest {
2189+
if filter.Dest.Masked() != flower.Dest.Masked() {
21902190
t.Fatalf("Flower DestIP doesn't match")
21912191
}
21922192

link_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1241,7 +1241,7 @@ func LinkSetVXLANVtepDevIndex(link *Vxlan, ifIndex int) error {
12411241
// LinkSetVXLANVtepDevIndex sets the VTEP device index of a VXLAN link device.
12421242
// Equivalent to: `ip link set $link type [ dev $dev ]`
12431243
func (h *Handle) LinkSetVXLANVtepDevIndex(link *Vxlan, ifIndex int) error {
1244-
if link.Group != nil && ifIndex == 0 {
1244+
if link.Group.IsValid() && ifIndex == 0 {
12451245
return fmt.Errorf("VTEP device index must be set when group address is set")
12461246
}
12471247

0 commit comments

Comments
 (0)