OS-4131: lxbrand AF_NETLINK should be handled consistently

Details

Issue Type:Bug
Priority:4 - Normal
Status:Resolved
Created at:2015-03-31T05:26:46.000Z
Updated at:2015-04-20T18:51:34.000Z

People

Created by:Former user
Reported by:Former user
Assigned to:Former user

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2015-04-20T18:51:34.000Z)

Fix Versions

2015-04-30 Newton (Release Date: 2015-04-30)

Related Issues

Labels

lxbrand

Description

lx: golang net.Interfaces() -> netlink rib: address family not supported by protocol .

I've isolated the first net issue from OS-3967 "golang build tests fail on lx ubuntu64 14.04.003"

The following code runs fine on kvm ubuntu and smartos:

package main                                                                                         
                                                                                                     
import (                                                                                             
   "fmt"                                                                                             
   "net"                                                                                             
   "runtime"                                                                                         
)                                                                                                    
                                                                                                     
func main() {                                                                                        
   _, err := net.Interfaces()                                                                        
   if err != nil {                                                                                   
      fmt.Printf("Built with Go Version: %s\n", runtime.Version())                                   
      fmt.Println(err)                                                                               
      panic("golang net.Interfaces() is returning an err.")                                          
   }                                                                                                 
}

But fails on

818cc79e-ceb3-11e4-99ee-7bc8c674e754 lx-ubuntu-14.04 20150320 other
eb4128ec-cf12-11e4-960d-8780cec6463f lx-centos-6 20150320 other

with the the same output:

Built with Go Version: go1.2.1
netlink rib: address family not supported by protocol
panic: golang net.Interfaces() is returning an err.

goroutine 1 [running]:
runtime.panic(0x497b00, 0xc21000a270)
	/usr/lib/go/src/pkg/runtime/panic.c:266 +0xb6
main.main()
	/root/test-net-if.go:14 +0x1cf

ADDITIONAL DETAILS
I tried compiling both using the latest golang built from source 1.4.2 and the version packaged with ubuntu 14.04. The attached binary was built using the golang package on lx ubuntu 14.04.

Comments

Comment by Former user
Created at 2015-04-17T23:09:21.000Z

After the call to recvfrom in lx_recvfrom, the address family of the sockaddr is not being properly translated to the proper Linux value.


Comment by Former user
Created at 2015-04-20T18:50:47.000Z

illumos-joyent commit fcf0f42 (branch master, by Patrick Mooney)

OS-4131 lxbrand AF_NETLINK should be handled consistently
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>