public void UpdateDetails() { Enabled = !Network.IsSlave(); DeregisterPifEvents(); Pif = Helpers.FindPIF(Network, Xmo as Host); RegisterPifEvents(); ImageCell.Value = Properties.Resources._000_Network_h32bit_16; NameCell.Value = NetworkName(); DescriptionCell.Value = Network.Description(); NicCell.Value = Helpers.GetName(Pif); VlanCell.Value = Helpers.VlanString(Pif); AutoCell.Value = Network.GetAutoPlug() ? Messages.YES : Messages.NO; LinkStatusCell.Value = Xmo is Pool?Network.LinkStatusString() : Pif == null ? Messages.NONE : Pif.LinkStatusString(); MacCell.Value = Pif != null && Pif.IsPhysical() ? Pif.MAC : Messages.SPACED_HYPHEN; MtuCell.Value = Network.CanUseJumboFrames() ? Network.MTU.ToString() : Messages.SPACED_HYPHEN; }
public void UpdateDetails() { Enabled = !Network.IsSlave(); DeregisterPifEvents(); Pif = Helpers.FindPIF(Network, Xmo as Host); RegisterPifEvents(); ImageCell.Value = Properties.Resources._000_Network_h32bit_16; NameCell.Value = NetworkName(); DescriptionCell.Value = Network.Description(); NicCell.Value = Helpers.GetName(Pif); VlanCell.Value = Helpers.VlanString(Pif); AutoCell.Value = Network.GetAutoPlug() ? Messages.YES : Messages.NO; LinkStatusCell.Value = Xmo is Pool?Network.LinkStatusString() : Pif == null ? Messages.NONE : Pif.LinkStatusString(); MacCell.Value = Pif != null && Pif.IsPhysical() ? Pif.MAC : Messages.SPACED_HYPHEN; MtuCell.Value = Network.CanUseJumboFrames() ? Network.MTU.ToString() : Messages.SPACED_HYPHEN; var networkSriov = Pif != null?Pif.NetworkSriov() : null; if (networkSriov == null) { SriovCell.Value = Messages.NO; } else { var sriov = Pif.Connection.Resolve(networkSriov); SriovCell.Value = sriov == null ? Messages.NO : sriov.requires_reboot ? Messages.HOST_NEEDS_REBOOT_ENABLE_SRIOV : Messages.YES; } }
private void SetMTUControlEnablement() { if (!network.CanUseJumboFrames()) { labelCannotConfigureMTU.Visible = false; labelMTU.Visible = numericUpDownMTU.Visible = false; return; } if (SelectedIsInternal) { // internal // MTU doesn't really do much here labelCannotConfigureMTU.Visible = false; numericUpDownMTU.Enabled = false; return; } PIF networksPIF = GetSelectedPIF(); // returns null for new VLAN if (networksPIF == null || !networksPIF.IsManagementInterface(XenAdmin.Properties.Settings.Default.ShowHiddenVMs)) { // non management external (could be bond) if (runningVMsWithoutTools) { // The MTU controls have been designed to be more relaxed than the rest of the page, we will only block if we can't unplug the vifs // due to lack of tools (which then lets us unplug the PIFs) labelCannotConfigureMTU.Text = Messages.CANNOT_CONFIGURE_JUMBO_VM_NO_TOOLS; labelCannotConfigureMTU.Visible = true; numericUpDownMTU.Enabled = false; } else if (networksPIF != null && networksPIF.IsTunnelAccessPIF()) { // This branch is currently not in use as setting the MTU is disabled on CHINs. // Left in in case future support is added // with no other more danger warnings we should tell the user it's recommended that they set the MTU on the underlying networks to match XenAPI.Network mainNetwork = FindCHINMainNetwork(networksPIF); labelCannotConfigureMTU.Text = string.Format(Messages.SET_MTU_ON_CHINS_UNDER_NETWORK, mainNetwork.Name()); // incase some odd value has been set on the CLI numericUpDownMTU.Maximum = Math.Max(network.MTU, XenAPI.Network.MTU_MAX); numericUpDownMTU.Minimum = Math.Min(network.MTU, XenAPI.Network.MTU_MIN); numericUpDownMTU.Enabled = true; labelCannotConfigureMTU.Visible = true; } else { labelCannotConfigureMTU.Visible = false; // in case some odd value has been set on the CLI numericUpDownMTU.Maximum = Math.Max(network.MTU, XenAPI.Network.MTU_MAX); numericUpDownMTU.Minimum = Math.Min(network.MTU, XenAPI.Network.MTU_MIN); numericUpDownMTU.Enabled = true; } } else { // physical or virtual external management (could be bond) numericUpDownMTU.Enabled = false; labelCannotConfigureMTU.Text = string.Format(Messages.CANNOT_CONFIGURE_JUMBO_DISTURB_MANAGEMENT, networksPIF.ManagementInterfaceNameOrUnknown()); labelCannotConfigureMTU.Visible = true; } }