summaryrefslogtreecommitdiffstats
path: root/xyz/openbmc_project/Network/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'xyz/openbmc_project/Network/README.md')
-rw-r--r--xyz/openbmc_project/Network/README.md216
1 files changed, 201 insertions, 15 deletions
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/<interfacename>`
+E.g. `/xyz/openbmc_project/network/<interfacename>`
-## 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/<interface>/<ipv4>/<id>/`
+`/xyz/openbmc_project/network/<interface>/ipv4/<id>`
-IPv6 object will have the following dbus object path.
+IPv6 objects will have the following D-Bus object path:
-eg: `/xyz/openbmc_project/network/<interface>/<ipv6>/<id>/`
+`/xyz/openbmc_project/network/<interface>/ipv6/<id>`
-## 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/<interface> xyz.openbmc_project.Network.IP.Create IP ssys "xyz.openbmc_project.Network.IP.Protocol.IPv4" "<IP Address>" <Netmask Prefix> "<Network Gateway>"
+```
+```
+curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data":["xyz.openbmc_project.Network.IP.Protocol.IPv4","<IP Address>", <Netmask Prefix>, "<Network Gateway>"]
+}' https://${bmc}/xyz/openbmc_project/network/<interface>/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/<interface>/ipv4/<id> 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/<interface>/ipv4/<id>
+```
+
+#### 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 "<DefaultGateway>"
+```
+```
+curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "<DefaultGateway>"}' 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 "<HostName>"
+```
+```
+curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT -d '{"data": "<HostName>"}' 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/<interface>/attr/MACAddress
+```
+
+##### Set
+
+```
+busctl set-property xyz.openbmc_project.Network /xyz/openbmc_project/network/<interface> xyz.openbmc_project.Network.MACAddress MACAddress s "<MAC Address>"
+```
+```
+curl -c cjar -b cjar -k -H "Content-Type: application/jon" -X PUT -d '{"data": "<MAC Address>" }' https://${bmc}/xyz/openbmc_project/network/<interface>/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 "<interface>" <VLAN id>
+```
+```
+curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST -d '{"data":["<interface>", <VLAN id>] }' 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/<VLAN interface> 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/<VLAN interface>
+```
+
+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/<VLAN interface>/enumerate
+```
+
+#### IPMI VLAN and IP
+
+##### Create
+
+```
+ipmitool -I dbus lan set 1 ipsrc static
+
+ipmitool -I dbus lan set 1 ipaddr <IP address>
+
+ipmitool -I dbus lan set 1 netmask <mask>
+
+ipmitool -I dbus lan set 1 defgw ipaddr <IP address>
+
+ipmitool -I dbus lan set 1 vlan id <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
+```
OpenPOWER on IntegriCloud