code: func newInterface(nlh *netlink.Handle, config *networkConfiguration) (*bridgeInterface, error) {
  	var err error
  	i := &bridgeInterface{nlh: nlh}
  
  	// Initialize the bridge name to the default if unspecified.
  	if config.BridgeName == "" {
  		config.BridgeName = DefaultBridgeName
  	}
  
  	// Attempt to find an existing bridge named with the specified name.
  	i.Link, err = nlh.LinkByName(config.BridgeName)
  	if err != nil {
  		logrus.Debugf("Did not find any interface with name %s: %v", config.BridgeName, err)
  	} else if _, ok := i.Link.(*netlink.Bridge); !ok {
  		return nil, fmt.Errorf("existing interface %s is not a bridge", i.Link.Attrs().Name)
  	}
  	return i, nil
  }
docs: // newInterface creates a new bridge interface structure. It attempts to find
  // an already existing device identified by the configuration BridgeName field,
  // or the default bridge name when unspecified, but doesn't attempt to create
  // one when missing