Skip to content

Commit 6fa9230

Browse files
committed
Add structures for interface bonding information
Update net_class.go with new structures to handle bonding driver information Add new true/false values to internal.util.parse.ParseBool References: torvalds/linux/drivers/net/bonding/bond_sysfs.c torvalds/linux/drivers/net/bonding/bond_sysfs_slave.c torvalds/linux/include/net/bonding.h torvalds/linux/include/net/bond_options.h torvalds/linux/include/net/bond_3ad.h Signed-off-by: Brandon Ewing <[email protected]>
1 parent 5f46783 commit 6fa9230

File tree

4 files changed

+805
-78
lines changed

4 files changed

+805
-78
lines changed

fixtures.ttar

Lines changed: 359 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4599,6 +4599,319 @@ Mode: 644
45994599
Directory: fixtures/sys/class/net
46004600
Mode: 775
46014601
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4602+
Directory: fixtures/sys/class/net/bond0
4603+
Mode: 755
4604+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4605+
Path: fixtures/sys/class/net/bond0/addr_assign_type
4606+
Lines: 1
4607+
3
4608+
Mode: 644
4609+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4610+
Path: fixtures/sys/class/net/bond0/addr_len
4611+
Lines: 1
4612+
6
4613+
Mode: 644
4614+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4615+
Path: fixtures/sys/class/net/bond0/address
4616+
Lines: 1
4617+
02:02:02:02:02:02
4618+
Mode: 644
4619+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4620+
Directory: fixtures/sys/class/net/bond0/bonding
4621+
Mode: 755
4622+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4623+
Path: fixtures/sys/class/net/bond0/bonding/active_slave
4624+
Lines: 0
4625+
Mode: 644
4626+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4627+
Path: fixtures/sys/class/net/bond0/bonding/ad_actor_key
4628+
Lines: 1
4629+
15
4630+
Mode: 644
4631+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4632+
Path: fixtures/sys/class/net/bond0/bonding/ad_actor_sys_prio
4633+
Lines: 1
4634+
65535
4635+
Mode: 644
4636+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4637+
Path: fixtures/sys/class/net/bond0/bonding/ad_actor_system
4638+
Lines: 1
4639+
00:00:00:00:00:00
4640+
Mode: 644
4641+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4642+
Path: fixtures/sys/class/net/bond0/bonding/ad_aggregator
4643+
Lines: 1
4644+
1
4645+
Mode: 644
4646+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4647+
Path: fixtures/sys/class/net/bond0/bonding/ad_num_ports
4648+
Lines: 1
4649+
2
4650+
Mode: 644
4651+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4652+
Path: fixtures/sys/class/net/bond0/bonding/ad_partner_key
4653+
Lines: 1
4654+
1034
4655+
Mode: 644
4656+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4657+
Path: fixtures/sys/class/net/bond0/bonding/ad_partner_mac
4658+
Lines: 1
4659+
01:23:45:67:89:AB
4660+
Mode: 644
4661+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4662+
Path: fixtures/sys/class/net/bond0/bonding/ad_select
4663+
Lines: 1
4664+
stable 0
4665+
Mode: 644
4666+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4667+
Path: fixtures/sys/class/net/bond0/bonding/ad_user_port_key
4668+
Lines: 1
4669+
0
4670+
Mode: 644
4671+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4672+
Path: fixtures/sys/class/net/bond0/bonding/all_slaves_active
4673+
Lines: 1
4674+
0
4675+
Mode: 644
4676+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4677+
Path: fixtures/sys/class/net/bond0/bonding/arp_all_targets
4678+
Lines: 1
4679+
any 0
4680+
Mode: 644
4681+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4682+
Path: fixtures/sys/class/net/bond0/bonding/arp_interval
4683+
Lines: 1
4684+
0
4685+
Mode: 644
4686+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4687+
Path: fixtures/sys/class/net/bond0/bonding/arp_ip_target
4688+
Lines: 0
4689+
Mode: 644
4690+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4691+
Path: fixtures/sys/class/net/bond0/bonding/arp_validate
4692+
Lines: 1
4693+
none 0
4694+
Mode: 644
4695+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4696+
Path: fixtures/sys/class/net/bond0/bonding/downdelay
4697+
Lines: 1
4698+
200
4699+
Mode: 644
4700+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4701+
Path: fixtures/sys/class/net/bond0/bonding/fail_over_mac
4702+
Lines: 1
4703+
none 0
4704+
Mode: 644
4705+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4706+
Path: fixtures/sys/class/net/bond0/bonding/lacp_rate
4707+
Lines: 1
4708+
slow 0
4709+
Mode: 644
4710+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4711+
Path: fixtures/sys/class/net/bond0/bonding/lp_interval
4712+
Lines: 1
4713+
1
4714+
Mode: 644
4715+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4716+
Path: fixtures/sys/class/net/bond0/bonding/mii_status
4717+
Lines: 1
4718+
up
4719+
Mode: 644
4720+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4721+
Path: fixtures/sys/class/net/bond0/bonding/miimon
4722+
Lines: 1
4723+
100
4724+
Mode: 644
4725+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4726+
Path: fixtures/sys/class/net/bond0/bonding/min_links
4727+
Lines: 1
4728+
0
4729+
Mode: 644
4730+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4731+
Path: fixtures/sys/class/net/bond0/bonding/mode
4732+
Lines: 1
4733+
802.3ad 4
4734+
Mode: 644
4735+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4736+
Path: fixtures/sys/class/net/bond0/bonding/num_grat_arp
4737+
Lines: 1
4738+
1
4739+
Mode: 644
4740+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4741+
Path: fixtures/sys/class/net/bond0/bonding/num_unsol_na
4742+
Lines: 1
4743+
1
4744+
Mode: 644
4745+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4746+
Path: fixtures/sys/class/net/bond0/bonding/packets_per_slave
4747+
Lines: 1
4748+
1
4749+
Mode: 644
4750+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4751+
Path: fixtures/sys/class/net/bond0/bonding/primary
4752+
Lines: 0
4753+
Mode: 644
4754+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4755+
Path: fixtures/sys/class/net/bond0/bonding/primary_reselect
4756+
Lines: 1
4757+
always 0
4758+
Mode: 644
4759+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4760+
Path: fixtures/sys/class/net/bond0/bonding/queue_id
4761+
Lines: 1
4762+
eth0:0
4763+
Mode: 644
4764+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4765+
Path: fixtures/sys/class/net/bond0/bonding/resend_igmp
4766+
Lines: 1
4767+
1
4768+
Mode: 644
4769+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4770+
Path: fixtures/sys/class/net/bond0/bonding/slaves
4771+
Lines: 1
4772+
eth0
4773+
Mode: 644
4774+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4775+
Path: fixtures/sys/class/net/bond0/bonding/tlb_dynamic_lb
4776+
Lines: 1
4777+
1
4778+
Mode: 644
4779+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4780+
Path: fixtures/sys/class/net/bond0/bonding/updelay
4781+
Lines: 1
4782+
0
4783+
Mode: 644
4784+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4785+
Path: fixtures/sys/class/net/bond0/bonding/use_carrier
4786+
Lines: 1
4787+
1
4788+
Mode: 644
4789+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4790+
Path: fixtures/sys/class/net/bond0/bonding/xmit_hash_policy
4791+
Lines: 1
4792+
layer3+4 1
4793+
Mode: 644
4794+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4795+
Path: fixtures/sys/class/net/bond0/broadcast
4796+
Lines: 1
4797+
ff:ff:ff:ff:ff:ff
4798+
Mode: 644
4799+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4800+
Path: fixtures/sys/class/net/bond0/carrier
4801+
Lines: 1
4802+
1
4803+
Mode: 644
4804+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4805+
Path: fixtures/sys/class/net/bond0/carrier_changes
4806+
Lines: 1
4807+
2
4808+
Mode: 644
4809+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4810+
Path: fixtures/sys/class/net/bond0/carrier_down_count
4811+
Lines: 1
4812+
1
4813+
Mode: 644
4814+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4815+
Path: fixtures/sys/class/net/bond0/carrier_up_count
4816+
Lines: 1
4817+
1
4818+
Mode: 644
4819+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4820+
Path: fixtures/sys/class/net/bond0/dev_id
4821+
Lines: 1
4822+
0x20
4823+
Mode: 644
4824+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4825+
Path: fixtures/sys/class/net/bond0/device
4826+
Lines: 0
4827+
Mode: 644
4828+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4829+
Path: fixtures/sys/class/net/bond0/dormant
4830+
Lines: 1
4831+
1
4832+
Mode: 644
4833+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4834+
Path: fixtures/sys/class/net/bond0/duplex
4835+
Lines: 1
4836+
full
4837+
Mode: 644
4838+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4839+
Path: fixtures/sys/class/net/bond0/flags
4840+
Lines: 1
4841+
0x1303
4842+
Mode: 644
4843+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4844+
Path: fixtures/sys/class/net/bond0/ifalias
4845+
Lines: 0
4846+
Mode: 644
4847+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4848+
Path: fixtures/sys/class/net/bond0/ifindex
4849+
Lines: 1
4850+
2
4851+
Mode: 644
4852+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4853+
Path: fixtures/sys/class/net/bond0/iflink
4854+
Lines: 1
4855+
2
4856+
Mode: 644
4857+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4858+
Path: fixtures/sys/class/net/bond0/link_mode
4859+
Lines: 1
4860+
1
4861+
Mode: 644
4862+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4863+
Path: fixtures/sys/class/net/bond0/mtu
4864+
Lines: 1
4865+
1500
4866+
Mode: 644
4867+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4868+
Path: fixtures/sys/class/net/bond0/name_assign_type
4869+
Lines: 1
4870+
2
4871+
Mode: 644
4872+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4873+
Path: fixtures/sys/class/net/bond0/netdev_group
4874+
Lines: 1
4875+
0
4876+
Mode: 644
4877+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4878+
Path: fixtures/sys/class/net/bond0/operstate
4879+
Lines: 1
4880+
up
4881+
Mode: 644
4882+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4883+
Path: fixtures/sys/class/net/bond0/phys_port_id
4884+
Lines: 0
4885+
Mode: 644
4886+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4887+
Path: fixtures/sys/class/net/bond0/phys_port_name
4888+
Lines: 0
4889+
Mode: 644
4890+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4891+
Path: fixtures/sys/class/net/bond0/phys_switch_id
4892+
Lines: 0
4893+
Mode: 644
4894+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4895+
Path: fixtures/sys/class/net/bond0/proto_down
4896+
Lines: 1
4897+
0
4898+
Mode: 644
4899+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4900+
Path: fixtures/sys/class/net/bond0/speed
4901+
Lines: 1
4902+
1000
4903+
Mode: 644
4904+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4905+
Path: fixtures/sys/class/net/bond0/tx_queue_len
4906+
Lines: 1
4907+
1000
4908+
Mode: 644
4909+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4910+
Path: fixtures/sys/class/net/bond0/type
4911+
Lines: 1
4912+
1
4913+
Mode: 644
4914+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
46024915
Directory: fixtures/sys/class/net/eth0
46034916
Mode: 755
46044917
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -4617,6 +4930,49 @@ Lines: 1
46174930
01:01:01:01:01:01
46184931
Mode: 644
46194932
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4933+
Directory: fixtures/sys/class/net/eth0/bonding_slave
4934+
Mode: 755
4935+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4936+
Path: fixtures/sys/class/net/eth0/bonding_slave/ad_actor_oper_port_state
4937+
Lines: 1
4938+
61
4939+
Mode: 644
4940+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4941+
Path: fixtures/sys/class/net/eth0/bonding_slave/ad_aggregator_id
4942+
Lines: 1
4943+
1
4944+
Mode: 644
4945+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4946+
Path: fixtures/sys/class/net/eth0/bonding_slave/ad_partner_oper_port_state
4947+
Lines: 1
4948+
61
4949+
Mode: 644
4950+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4951+
Path: fixtures/sys/class/net/eth0/bonding_slave/link_failure_count
4952+
Lines: 1
4953+
0
4954+
Mode: 644
4955+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4956+
Path: fixtures/sys/class/net/eth0/bonding_slave/mii_status
4957+
Lines: 1
4958+
up
4959+
Mode: 644
4960+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4961+
Path: fixtures/sys/class/net/eth0/bonding_slave/perm_hwaddr
4962+
Lines: 1
4963+
01:01:01:01:01:01
4964+
Mode: 644
4965+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4966+
Path: fixtures/sys/class/net/eth0/bonding_slave/queue_id
4967+
Lines: 1
4968+
0
4969+
Mode: 644
4970+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4971+
Path: fixtures/sys/class/net/eth0/bonding_slave/state
4972+
Lines: 1
4973+
active
4974+
Mode: 644
4975+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
46204976
Path: fixtures/sys/class/net/eth0/broadcast
46214977
Lines: 1
46224978
ff:ff:ff:ff:ff:ff
@@ -4684,6 +5040,9 @@ Lines: 1
46845040
1
46855041
Mode: 644
46865042
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
5043+
Path: fixtures/sys/class/net/eth0/master
5044+
SymlinkTo: ../bond0
5045+
# ttar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
46875046
Path: fixtures/sys/class/net/eth0/mtu
46885047
Lines: 1
46895048
1500

internal/util/parse.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ func ReadIntFromFile(path string) (int64, error) {
8686
func ParseBool(b string) *bool {
8787
var truth bool
8888
switch b {
89-
case "enabled":
89+
case "enabled", "up", "1":
9090
truth = true
91-
case "disabled":
91+
case "disabled", "down", "0":
9292
truth = false
9393
default:
9494
return nil

0 commit comments

Comments
 (0)