Skip to content
This repository was archived by the owner on Oct 26, 2022. It is now read-only.

Commit 99b5765

Browse files
bengalcathay4t
authored andcommitted
Add bond support
Add initial support for managing bond links. Example: $ ./target/debug/examples/create_bond $ ip -d link show my-bond 34: my-bond: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 link/ether 56:2b:f4:82:a2:a4 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 65535 bond mode active-backup miimon 100 updelay 100 downdelay 100 peer_notify_delay 0 use_carrier 1 arp_interval 0 arp_missed_max 2 arp_ip_target 6.6.7.7,8.8.9.10 ns_ip6_target fd01::1,fd02::2 arp_validate none arp_all_targets any primary_reselect always fail_over_mac none xmit_hash_policy layer2 resend_igmp 1 num_grat_arp 1 all_slaves_active 0 min_links 2 lp_interval 1 packets_per_slave 1 lacp_active on lacp_rate slow ad_select stable tlb_dynamic_lb 1 addrgenmode eui64 numtxqueues 16 numrxqueues 16 gso_max_size 65536 gso_max_segs 65535 gro_max_size 65536
1 parent 1532492 commit 99b5765

File tree

6 files changed

+887
-43
lines changed

6 files changed

+887
-43
lines changed

netlink-packet-route/src/rtnl/constants.rs

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -978,43 +978,47 @@ pub const __IFLA_VXLAN_MAX: u16 = 30;
978978
// pub const IFLA_GTP_FD1: int = 2;
979979
// pub const IFLA_GTP_PDP_HASHSIZE: int = 3;
980980
// pub const IFLA_GTP_ROLE: int = 4;
981-
//
982-
// pub const IFLA_BOND_UNSPEC: int = 0;
983-
// pub const IFLA_BOND_MODE: int = 1;
984-
// pub const IFLA_BOND_ACTIVE_SLAVE: int = 2;
985-
// pub const IFLA_BOND_MIIMON: int = 3;
986-
// pub const IFLA_BOND_UPDELAY: int = 4;
987-
// pub const IFLA_BOND_DOWNDELAY: int = 5;
988-
// pub const IFLA_BOND_USE_CARRIER: int = 6;
989-
// pub const IFLA_BOND_ARP_INTERVAL: int = 7;
990-
// pub const IFLA_BOND_ARP_IP_TARGET: int = 8;
991-
// pub const IFLA_BOND_ARP_VALIDATE: int = 9;
992-
// pub const IFLA_BOND_ARP_ALL_TARGETS: int = 10;
993-
// pub const IFLA_BOND_PRIMARY: int = 11;
994-
// pub const IFLA_BOND_PRIMARY_RESELECT: int = 12;
995-
// pub const IFLA_BOND_FAIL_OVER_MAC: int = 13;
996-
// pub const IFLA_BOND_XMIT_HASH_POLICY: int = 14;
997-
// pub const IFLA_BOND_RESEND_IGMP: int = 15;
998-
// pub const IFLA_BOND_NUM_PEER_NOTIF: int = 16;
999-
// pub const IFLA_BOND_ALL_SLAVES_ACTIVE: int = 17;
1000-
// pub const IFLA_BOND_MIN_LINKS: int = 18;
1001-
// pub const IFLA_BOND_LP_INTERVAL: int = 19;
1002-
// pub const IFLA_BOND_PACKETS_PER_SLAVE: int = 20;
1003-
// pub const IFLA_BOND_AD_LACP_RATE: int = 21;
1004-
// pub const IFLA_BOND_AD_SELECT: int = 22;
1005-
// pub const IFLA_BOND_AD_INFO: int = 23;
1006-
// pub const IFLA_BOND_AD_ACTOR_SYS_PRIO: int = 24;
1007-
// pub const IFLA_BOND_AD_USER_PORT_KEY: int = 25;
1008-
// pub const IFLA_BOND_AD_ACTOR_SYSTEM: int = 26;
1009-
// pub const IFLA_BOND_TLB_DYNAMIC_LB: int = 27;
1010-
//
1011-
// pub const IFLA_BOND_AD_INFO_UNSPEC: int = 0;
1012-
// pub const IFLA_BOND_AD_INFO_AGGREGATOR: int = 1;
1013-
// pub const IFLA_BOND_AD_INFO_NUM_PORTS: int = 2;
1014-
// pub const IFLA_BOND_AD_INFO_ACTOR_KEY: int = 3;
1015-
// pub const IFLA_BOND_AD_INFO_PARTNER_KEY: int = 4;
1016-
// pub const IFLA_BOND_AD_INFO_PARTNER_MAC: int = 5;
1017-
//
981+
982+
pub const IFLA_BOND_UNSPEC: u16 = 0;
983+
pub const IFLA_BOND_MODE: u16 = 1;
984+
pub const IFLA_BOND_ACTIVE_SLAVE: u16 = 2;
985+
pub const IFLA_BOND_MIIMON: u16 = 3;
986+
pub const IFLA_BOND_UPDELAY: u16 = 4;
987+
pub const IFLA_BOND_DOWNDELAY: u16 = 5;
988+
pub const IFLA_BOND_USE_CARRIER: u16 = 6;
989+
pub const IFLA_BOND_ARP_INTERVAL: u16 = 7;
990+
pub const IFLA_BOND_ARP_IP_TARGET: u16 = 8;
991+
pub const IFLA_BOND_ARP_VALIDATE: u16 = 9;
992+
pub const IFLA_BOND_ARP_ALL_TARGETS: u16 = 10;
993+
pub const IFLA_BOND_PRIMARY: u16 = 11;
994+
pub const IFLA_BOND_PRIMARY_RESELECT: u16 = 12;
995+
pub const IFLA_BOND_FAIL_OVER_MAC: u16 = 13;
996+
pub const IFLA_BOND_XMIT_HASH_POLICY: u16 = 14;
997+
pub const IFLA_BOND_RESEND_IGMP: u16 = 15;
998+
pub const IFLA_BOND_NUM_PEER_NOTIF: u16 = 16;
999+
pub const IFLA_BOND_ALL_SLAVES_ACTIVE: u16 = 17;
1000+
pub const IFLA_BOND_MIN_LINKS: u16 = 18;
1001+
pub const IFLA_BOND_LP_INTERVAL: u16 = 19;
1002+
pub const IFLA_BOND_PACKETS_PER_SLAVE: u16 = 20;
1003+
pub const IFLA_BOND_AD_LACP_RATE: u16 = 21;
1004+
pub const IFLA_BOND_AD_SELECT: u16 = 22;
1005+
pub const IFLA_BOND_AD_INFO: u16 = 23;
1006+
pub const IFLA_BOND_AD_ACTOR_SYS_PRIO: u16 = 24;
1007+
pub const IFLA_BOND_AD_USER_PORT_KEY: u16 = 25;
1008+
pub const IFLA_BOND_AD_ACTOR_SYSTEM: u16 = 26;
1009+
pub const IFLA_BOND_TLB_DYNAMIC_LB: u16 = 27;
1010+
pub const IFLA_BOND_PEER_NOTIF_DELAY: u16 = 28;
1011+
pub const IFLA_BOND_AD_LACP_ACTIVE: u16 = 29;
1012+
pub const IFLA_BOND_MISSED_MAX: u16 = 30;
1013+
pub const IFLA_BOND_NS_IP6_TARGET: u16 = 31;
1014+
1015+
pub const IFLA_BOND_AD_INFO_UNSPEC: u16 = 0;
1016+
pub const IFLA_BOND_AD_INFO_AGGREGATOR: u16 = 1;
1017+
pub const IFLA_BOND_AD_INFO_NUM_PORTS: u16 = 2;
1018+
pub const IFLA_BOND_AD_INFO_ACTOR_KEY: u16 = 3;
1019+
pub const IFLA_BOND_AD_INFO_PARTNER_KEY: u16 = 4;
1020+
pub const IFLA_BOND_AD_INFO_PARTNER_MAC: u16 = 5;
1021+
10181022
// pub const IFLA_BOND_SLAVE_UNSPEC: int = 0;
10191023
// pub const IFLA_BOND_SLAVE_STATE: int = 1;
10201024
// pub const IFLA_BOND_SLAVE_MII_STATUS: int = 2;

0 commit comments

Comments
 (0)