From 08dc907b5f2b9880e776189e08695d1aaf7f2e91 Mon Sep 17 00:00:00 2001 From: Ratan Gupta Date: Tue, 26 Sep 2017 15:24:59 +0530 Subject: Network: README: Add example commands Added example commands including VLAN and config properties. Change-Id: I7055b7bf0dc68fe880e1a27599ce192e7a7b64b8 Signed-off-by: Ratan Gupta Signed-off-by: Gunnar Mills --- xyz/openbmc_project/Network/README.md | 216 +++++++++++++++++++++++++++++++--- 1 file changed, 201 insertions(+), 15 deletions(-) (limited to 'xyz') diff --git a/xyz/openbmc_project/Network/README.md b/xyz/openbmc_project/Network/README.md index 9391c65..100ae86 100644 --- a/xyz/openbmc_project/Network/README.md +++ b/xyz/openbmc_project/Network/README.md @@ -16,39 +16,225 @@ physical/virtual interface object. ## Interfaces -1. SystemConfiguration: This describes the system specific parameters. +1. SystemConfiguration: This describes the system-specific parameters. 2. EthernetInterface: This describes the interface specific parameters. -3. IP: This describes the ip address specific parameters. +3. IP: This describes the IP address specific parameters. 4. IPProtocol: This describes the IP protocol type(IPv4/IPv6). 5. VLANInterface: This describes the VLAN specific properties. 6. Bond: This describes the interface bonding parameters. -# DbusObjects +## D-Bus Objects -## Interface Objects +#### Interface Objects Interface objects can be physical as well as virtual. -If the object is physical interface, it can't be deleted, +If the object is a physical interface, it can't be deleted, but if it is a virtual interface object it can be deleted. -eg: `/xyz/openbmc_project/network/` +E.g. `/xyz/openbmc_project/network/` -## IPAddress Objects +#### IP Address Objects -There can be multiple ip address objects under an interface object. +There can be multiple IP address objects under an interface object. These objects can be deleted by the delete function. -IPv4 object will have the following dbus object path. +IPv4 objects will have the following D-Bus object path: -eg: `/xyz/openbmc_project/network////` +`/xyz/openbmc_project/network//ipv4/` -IPv6 object will have the following dbus object path. +IPv6 objects will have the following D-Bus object path: -eg: `/xyz/openbmc_project/network////` +`/xyz/openbmc_project/network//ipv6/` -## Conf Object +#### Network Configuration Object -This object will have the system configuration related parameters. +The network configuration object will have system configuration parameters: -eg: `/xyz/openbmc_project/network/conf` +`/xyz/openbmc_project/network/conf` + +## Commands + +#### Create Static IPv4 Address + +``` +busctl call xyz.openbmc_project.Network /xyz/openbmc_project/network/ xyz.openbmc_project.Network.IP.Create IP ssys "xyz.openbmc_project.Network.IP.Protocol.IPv4" "" "" +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data":["xyz.openbmc_project.Network.IP.Protocol.IPv4","", , ""] +}' https://${bmc}/xyz/openbmc_project/network//action/IP +``` + +E.g. +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data":["xyz.openbmc_project.Network.IP.Protocol.IPv4","8.8.8.8", 24, "8.8.8.0"]}' https://${bmc}/xyz/openbmc_project/network/eth0/action/IP +``` + +Note: After creating the IP address object enumerate the network interface object to get the IPv4 id. + +#### Delete IPv4 Address + +``` +busctl call xyz.openbmc_project.Network /xyz/openbmc_project/network//ipv4/ xyz.openbmc_project.Object.Delete Delete +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X DELETE https://${bmc}/xyz/openbmc_project/network//ipv4/ +``` + +#### Default Gateway + +##### Get + +``` +busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config xyz.openbmc_project.Network.SystemConfiguration DefaultGateway +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" https://${bmc}/xyz/openbmc_project/network/config/attr/DefaultGateway +``` + +##### Set + +``` +busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config xyz.openbmc_project.Network.SystemConfiguration DefaultGateway s "" +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": ""}' https://${bmc}/xyz/openbmc_project/network/config/attr/DefaultGateway +``` + +NOTE: The default gateway must be pingable, if not 0.0.0.0 will be used. + +#### HostName + +##### Get + +``` +busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config xyz.openbmc_project.Network.SystemConfiguration HostName +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" https://${bmc}/xyz/openbmc_project/network/config/attr/HostName +``` + +##### Set + +``` +busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/config xyz.openbmc_project.Network.SystemConfiguration HostName s "" +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": ""}' https://${bmc}/xyz/openbmc_project/network/config/attr/HostName +``` + +#### DHCP + +##### Get + +``` +busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/eth0 xyz.openbmc_project.Network.EthernetInterface DHCPEnabled +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" https://${bmc}/xyz/openbmc_project/network/eth0/attr/DHCPEnabled +``` + +##### Enable + +``` +busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/eth0 xyz.openbmc_project.Network.EthernetInterface DHCPEnabled b 1 +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": 1}' https://${bmc}/xyz/openbmc_project/network/eth0/attr/DHCPEnabled +``` + +#### MAC Address + +##### Get + +``` +busctl get-property xyz.openbmc_project.Network /xyz/openbmc_project/network/eth0 xyz.openbmc_project.Network.MACAddress MACAddress +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" https://${bmc}/xyz/openbmc_project/network//attr/MACAddress +``` + +##### Set + +``` +busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/ xyz.openbmc_project.Network.MACAddress MACAddress s "" +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/jon" -X PUT -d '{"data": "" }' https://${bmc}/xyz/openbmc_project/network//attr/MACAddress +``` + +NOTE: MAC address should be a local admin MAC (2nd bit of first byte should be on). + +#### Network Factory Reset + +``` +busctl call xyz.openbmc_project.Network /xyz/openbmc_project/network xyz.openbmc_project.Common.FactoryReset Reset +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data":[] }' https://${bmc}/xyz/openbmc_project/network/action/Reset +``` + +#### VLAN + +##### Create + +``` +busctl call xyz.openbmc_project.Network /xyz/openbmc_project/network xyz.openbmc_project.Network.VLAN.Create VLAN su "" +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data":["", ] }' https://${bmc}/xyz/openbmc_project/network/action/VLAN +``` + +E.g. +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data":["eth0",50] }' https://${bmc}/xyz/openbmc_project/network/action/VLAN +``` + +##### Delete + +``` +busctl call xyz.openbmc_project.Network /xyz/openbmc_project/network/ xyz.openbmc_project.Object.Delete Delete +``` +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X DELETE https://${bmc}/xyz/openbmc_project/network/ +``` + +E.g. +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" -X DELETE https://${bmc}/xyz/openbmc_project/network/eth0_50 +``` + +##### Enumerate + +``` +curl -c cjar -b cjar -k -H "Content-Type: application/json" https://${bmc}/xyz/openbmc_project/network//enumerate +``` + +#### IPMI VLAN and IP + +##### Create + +``` +ipmitool -I dbus lan set 1 ipsrc static + +ipmitool -I dbus lan set 1 ipaddr + +ipmitool -I dbus lan set 1 netmask + +ipmitool -I dbus lan set 1 defgw ipaddr + +ipmitool -I dbus lan set 1 vlan id + +ipmitool -I dbus raw 0x06 0x40 // To the save settings +``` + +NOTE: It takes 4-5 seconds to create the VLAN and configure the IP. +If a VLAN interface is not desired don't set the VLAN id above. + +##### Delete + +``` +ipmitool -I dbus lan set 1 vlan id off + +ipmitool -I dbus raw 0x06 0x40 // To the save settings +``` -- cgit v1.2.1