Skip to content

Commit f5079bd

Browse files
committed
route: make DefaultAddr convey newly added information on OpenBSD
Also makes it possible to capture RTM_DESYNC messages when you have a routing protocol implementation that requires to be aware of the health condition of kernel RIB on OpenBSD. Change-Id: Idd0c8c5e8f5ea72a4d56c9a46c137786bcda6354 Reviewed-on: https://go-review.googlesource.com/50191 Run-TryBot: Mikio Hara <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
1 parent ab54850 commit f5079bd

File tree

4 files changed

+28
-1
lines changed

4 files changed

+28
-1
lines changed

route/defs_openbsd.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ const (
6969
sysRTM_IFINFO = C.RTM_IFINFO
7070
sysRTM_IFANNOUNCE = C.RTM_IFANNOUNCE
7171
sysRTM_DESYNC = C.RTM_DESYNC
72+
sysRTM_INVALIDATE = C.RTM_INVALIDATE
73+
sysRTM_BFD = C.RTM_BFD
74+
sysRTM_PROPOSAL = C.RTM_PROPOSAL
7275

7376
sysRTA_DST = C.RTA_DST
7477
sysRTA_GATEWAY = C.RTA_GATEWAY
@@ -81,6 +84,10 @@ const (
8184
sysRTA_SRC = C.RTA_SRC
8285
sysRTA_SRCMASK = C.RTA_SRCMASK
8386
sysRTA_LABEL = C.RTA_LABEL
87+
sysRTA_BFD = C.RTA_BFD
88+
sysRTA_DNS = C.RTA_DNS
89+
sysRTA_STATIC = C.RTA_STATIC
90+
sysRTA_SEARCH = C.RTA_SEARCH
8491

8592
sysRTAX_DST = C.RTAX_DST
8693
sysRTAX_GATEWAY = C.RTAX_GATEWAY
@@ -93,6 +100,10 @@ const (
93100
sysRTAX_SRC = C.RTAX_SRC
94101
sysRTAX_SRCMASK = C.RTAX_SRCMASK
95102
sysRTAX_LABEL = C.RTAX_LABEL
103+
sysRTAX_BFD = C.RTAX_BFD
104+
sysRTAX_DNS = C.RTAX_DNS
105+
sysRTAX_STATIC = C.RTAX_STATIC
106+
sysRTAX_SEARCH = C.RTAX_SEARCH
96107
sysRTAX_MAX = C.RTAX_MAX
97108
)
98109

route/route_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ var addrAttrNames = [...]string{
7474
"df:mpls1-n:tag-o:src", // mpls1 for dragonfly, tag for netbsd, src for openbsd
7575
"df:mpls2-o:srcmask", // mpls2 for dragonfly, srcmask for openbsd
7676
"df:mpls3-o:label", // mpls3 for dragonfly, label for openbsd
77+
"o:bfd", // bfd for openbsd
78+
"o:dns", // dns for openbsd
79+
"o:static", // static for openbsd
80+
"o:search", // search for openbsd
7781
}
7882

7983
func (attrs addrAttrs) String() string {

route/sys_openbsd.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,5 +75,6 @@ func probeRoutingStack() (int, map[int]*wireFormat) {
7575
sysRTM_DELADDR: ifam,
7676
sysRTM_IFINFO: ifm,
7777
sysRTM_IFANNOUNCE: ifanm,
78+
sysRTM_DESYNC: rtm,
7879
}
7980
}

route/zsys_openbsd.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ const (
5454
sysRTM_IFINFO = 0xe
5555
sysRTM_IFANNOUNCE = 0xf
5656
sysRTM_DESYNC = 0x10
57+
sysRTM_INVALIDATE = 0x11
58+
sysRTM_BFD = 0x12
59+
sysRTM_PROPOSAL = 0x13
5760

5861
sysRTA_DST = 0x1
5962
sysRTA_GATEWAY = 0x2
@@ -66,6 +69,10 @@ const (
6669
sysRTA_SRC = 0x100
6770
sysRTA_SRCMASK = 0x200
6871
sysRTA_LABEL = 0x400
72+
sysRTA_BFD = 0x800
73+
sysRTA_DNS = 0x1000
74+
sysRTA_STATIC = 0x2000
75+
sysRTA_SEARCH = 0x4000
6976

7077
sysRTAX_DST = 0x0
7178
sysRTAX_GATEWAY = 0x1
@@ -78,7 +85,11 @@ const (
7885
sysRTAX_SRC = 0x8
7986
sysRTAX_SRCMASK = 0x9
8087
sysRTAX_LABEL = 0xa
81-
sysRTAX_MAX = 0xb
88+
sysRTAX_BFD = 0xb
89+
sysRTAX_DNS = 0xc
90+
sysRTAX_STATIC = 0xd
91+
sysRTAX_SEARCH = 0xe
92+
sysRTAX_MAX = 0xf
8293
)
8394

8495
const (

0 commit comments

Comments
 (0)