summaryrefslogtreecommitdiffhomepage
path: root/dhcpv6/dhcpv6relay.go
diff options
context:
space:
mode:
Diffstat (limited to 'dhcpv6/dhcpv6relay.go')
-rw-r--r--dhcpv6/dhcpv6relay.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/dhcpv6/dhcpv6relay.go b/dhcpv6/dhcpv6relay.go
index 497ef64..1506dc4 100644
--- a/dhcpv6/dhcpv6relay.go
+++ b/dhcpv6/dhcpv6relay.go
@@ -91,21 +91,21 @@ func (r *RelayMessage) IsRelay() bool {
}
// GetInnerMessage recurses into a relay message and extract and return the
-// inner Message. Return nil if none found (e.g. not a relay message).
-func (r *RelayMessage) GetInnerMessage() (DHCPv6, error) {
+// inner Message. Return nil if none found (e.g. not a relay message).
+func (r *RelayMessage) GetInnerMessage() (*Message, error) {
var (
p DHCPv6
err error
)
p = r
for {
- if !p.IsRelay() {
- return p, nil
- }
p, err = DecapsulateRelay(p)
if err != nil {
return nil, err
}
+ if m, ok := p.(*Message); ok {
+ return m, nil
+ }
}
}