Make NDP announcer construction failure non-fatal.
Some machines have zero IPv6 support, including link-local addresses.
We need to fail gracefully in that scenario.
@@ -149,12 +149,15 @@ func newController(cfg controllerConfig) (*controller, error) {
if !cfg.DisableNDP {
a, err := ndp.New(cfg.Interface)
if err != nil {
- return nil, fmt.Errorf("making NDP announcer: %s", err)
- }
+ // TODO(bug 180): make this fail in a more principled way.
+ glog.Errorf("Constructing NDP announcer failed: %s", err)
+ glog.Warningf("IPv6 load-balancing is unavailable")
+ } else {
protocols[config.NDP] = &ndpController{
announcer: a,
}
}
+ }
ret := &controller{
myNode: cfg.MyNode,
