@@ -621,6 +621,9 @@ type RouteEntry struct {
621621 RouteType * RouteType `json:"route-type,omitempty"`
622622 // Cwnd Congestion window clamp
623623 Cwnd * uint32 `json:"cwnd,omitempty"`
624+ // Source Route source defines which IP address should be used as the source
625+ // for packets routed via a specific route
626+ Source * string `json:"source,omitempty"`
624627}
625628
626629// +kubebuilder:validation:Enum="blackhole";"unreachable";"prohibit";
@@ -840,7 +843,9 @@ type HostNameState struct {
840843 Config * string `json:"config,omitempty"`
841844}
842845
843- // BondInterface Bond interface. When serializing or deserializing, the [BaseInterface] will
846+ // BondInterface Bond interface.
847+ //
848+ // When serializing or deserializing, the [BaseInterface] will
844849// be flatted and [BondConfig] stored as `link-aggregation` section. The yaml
845850// output [crate::NetworkState] containing an example bond interface:
846851// ```yml
@@ -992,10 +997,11 @@ const BondAllPortsActiveDelivered = BondAllPortsActive("delivered")
992997
993998// enum BondAllPortsActive
994999
995- // BondArpAllTargets The `arp_all_targets` kernel bond option: Specifies the quantity of
996- // arp_ip_targets that must be reachable in order for the ARP monitor to
997- // consider a port as being up. This option affects only active-backup mode
998- // for ports with arp_validation enabled.
1000+ // BondArpAllTargets The `arp_all_targets` kernel bond option.
1001+ //
1002+ // Specifies the quantity of arp_ip_targets that must be reachable in order for
1003+ // the ARP monitor to consider a port as being up. This option affects only
1004+ // active-backup mode for ports with arp_validation enabled.
9991005// +kubebuilder:validation:Enum="any";"0";"all";"1";
10001006type BondArpAllTargets string
10011007
@@ -1008,10 +1014,11 @@ const BondArpAllTargetsAll = BondArpAllTargets("all")
10081014
10091015// enum BondArpAllTargets
10101016
1011- // BondArpValidate The `arp_validate` kernel bond option: Specifies whether or not ARP probes
1012- // and replies should be validated in any mode that supports arp monitoring, or
1013- // whether non-ARP traffic should be filtered (disregarded) for link monitoring
1014- // purposes.
1017+ // BondArpValidate The `arp_validate` kernel bond option.
1018+ //
1019+ // Specifies whether or not ARP probes and replies should be validated in any
1020+ // mode that supports arp monitoring, or whether non-ARP traffic should be
1021+ // filtered (disregarded) for link monitoring purposes.
10151022// +kubebuilder:validation:Enum="none";"0";"active";"1";"backup";"2";"all";"3";"filter";"4";"filter_active";"5";"filter_backup";"6";
10161023type BondArpValidate string
10171024
@@ -1054,10 +1061,12 @@ const BondArpValidateFilterBackup = BondArpValidate("filter_backup")
10541061
10551062// enum BondArpValidate
10561063
1057- // BondFailOverMac The `fail_over_mac` kernel bond option: Specifies whether active-backup mode
1058- // should set all ports to the same MAC address at port attachment (the
1059- // traditional behavior), or, when enabled, perform special handling of the
1060- // bond's MAC address in accordance with the selected policy.
1064+ // BondFailOverMac The `fail_over_mac` kernel bond option.
1065+ //
1066+ // Specifies whether active-backup mode should set all ports to the same MAC
1067+ // address at port attachment (the traditional behavior), or, when enabled,
1068+ // perform special handling of the bond's MAC address in accordance with the
1069+ // selected policy.
10611070// +kubebuilder:validation:Enum="none";"0";"active";"1";"follow";"2";
10621071type BondFailOverMac string
10631072
@@ -1088,11 +1097,12 @@ const BondFailOverMacFollow = BondFailOverMac("follow")
10881097
10891098// enum BondFailOverMac
10901099
1091- // BondPrimaryReselect The `primary_reselect` kernel bond option: Specifies the reselection policy
1092- // for the primary port. This affects how the primary port is chosen to
1093- // become the active port when failure of the active port or recovery of the
1094- // primary port occurs. This option is designed to prevent flip-flopping
1095- // between the primary port and other ports.
1100+ // BondPrimaryReselect The `primary_reselect` kernel bond option.
1101+ //
1102+ // Specifies the reselection policy for the primary port. This affects how the
1103+ // primary port is chosen to become the active port when failure of the active
1104+ // port or recovery of the primary port occurs. This option is designed to
1105+ // prevent flip-flopping between the primary port and other ports.
10961106// +kubebuilder:validation:Enum="always";"0";"better";"1";"failure";"2";
10971107type BondPrimaryReselect string
10981108
@@ -1116,8 +1126,10 @@ const BondPrimaryReselectFailure = BondPrimaryReselect("failure")
11161126
11171127// enum BondPrimaryReselect
11181128
1119- // BondXmitHashPolicy The `xmit_hash_policy` kernel bond option: Selects the transmit hash policy
1120- // to use for port selection in balance-xor, 802.3ad, and tlb modes.
1129+ // BondXmitHashPolicy The `xmit_hash_policy` kernel bond option.
1130+ //
1131+ // Selects the transmit hash policy to use for port selection in balance-xor,
1132+ // 802.3ad, and tlb modes.
11211133// +kubebuilder:validation:Enum="layer2";"0";"layer3+4";"1";"layer2+3";"2";"encap2+3";"3";"encap3+4";"4";"vlan+srcmac";"5";
11221134type BondXmitHashPolicy string
11231135
@@ -1961,7 +1973,7 @@ type VrfConfig struct {
19611973 // Port Port list.
19621974 // Deserialize and serialize from/to `port`.
19631975 // Also deserialize from `ports`.
1964- Port * []string `json:"port"`
1976+ Port * []string `json:"port,omitempty "`
19651977 // TableID Route table ID of this VRF interface.
19661978 // Deserialize and serialize from/to `route-table-id`.
19671979 TableID * intstr.IntOrString `json:"route-table-id,omitempty"`
@@ -2479,10 +2491,11 @@ const MacSecOffloadMac = MacSecOffload("mac")
24792491
24802492// enum MacSecOffload
24812493
2482- // IpsecInterface The libreswan Ipsec interface. This interface does not exist in kernel
2483- // space but only exist in user space tools.
2484- // This is the example yaml output of [crate::NetworkState] with a libreswan
2485- // ipsec connection:
2494+ // IpsecInterface The libreswan Ipsec interface.
2495+ //
2496+ // This interface does not exist in kernel space but only exist in user space
2497+ // tools. This is the example yaml output of [crate::NetworkState] with a
2498+ // libreswan ipsec connection:
24862499// ```yaml
24872500// ---
24882501// interfaces:
@@ -2517,22 +2530,23 @@ type LibreswanConfig struct {
25172530 Leftcert * string `json:"leftcert,omitempty"`
25182531 Ikev2 * string `json:"ikev2,omitempty"`
25192532 // Psk PSK authentication, if not defined, will use X.509 PKI authentication
2520- Psk * string `json:"psk,omitempty"`
2521- Ikelifetime * string `json:"ikelifetime,omitempty"`
2522- Salifetime * string `json:"salifetime,omitempty"`
2523- Ike * string `json:"ike,omitempty"`
2524- Esp * string `json:"esp,omitempty"`
2525- Dpddelay * intstr.IntOrString `json:"dpddelay,omitempty"`
2526- Dpdtimeout * intstr.IntOrString `json:"dpdtimeout,omitempty"`
2527- Dpdaction * string `json:"dpdaction,omitempty"`
2528- IpsecInterface * intstr.IntOrString `json:"ipsec-interface,omitempty"`
2529- Authby * string `json:"authby,omitempty"`
2530- Rightsubnet * string `json:"rightsubnet,omitempty"`
2531- Leftsubnet * string `json:"leftsubnet,omitempty"`
2532- Leftmodecfgclient * bool `json:"leftmodecfgclient,omitempty"`
2533- Kind * LibreswanConnectionType `json:"type,omitempty"`
2534- Hostaddrfamily * LibreswanAddressFamily `json:"hostaddrfamily,omitempty"`
2535- Clientaddrfamily * LibreswanAddressFamily `json:"clientaddrfamily,omitempty"`
2533+ Psk * string `json:"psk,omitempty"`
2534+ Ikelifetime * string `json:"ikelifetime,omitempty"`
2535+ Salifetime * string `json:"salifetime,omitempty"`
2536+ Ike * string `json:"ike,omitempty"`
2537+ Esp * string `json:"esp,omitempty"`
2538+ Dpddelay * intstr.IntOrString `json:"dpddelay,omitempty"`
2539+ Dpdtimeout * intstr.IntOrString `json:"dpdtimeout,omitempty"`
2540+ Dpdaction * string `json:"dpdaction,omitempty"`
2541+ IpsecInterface * intstr.IntOrString `json:"ipsec-interface,omitempty"`
2542+ Authby * string `json:"authby,omitempty"`
2543+ Rightsubnet * string `json:"rightsubnet,omitempty"`
2544+ Leftsubnet * string `json:"leftsubnet,omitempty"`
2545+ Leftmodecfgclient * bool `json:"leftmodecfgclient,omitempty"`
2546+ Kind * LibreswanConnectionType `json:"type,omitempty"`
2547+ Hostaddrfamily * LibreswanAddressFamily `json:"hostaddrfamily,omitempty"`
2548+ Clientaddrfamily * LibreswanAddressFamily `json:"clientaddrfamily,omitempty"`
2549+ RequireIDOnCertificate * bool `json:"require-id-on-certificate,omitempty"`
25362550}
25372551
25382552// +kubebuilder:validation:Enum="tunnel";"transport";
@@ -2770,6 +2784,7 @@ type BridgeOptions struct {
27702784// BridgeConfig Linux or OVS bridge configuration
27712785//
27722786// Linux bridge: Bridge interface provided by linux kernel.
2787+ //
27732788// When serializing or deserializing, the [BaseInterface] will
27742789// be flatted and [LinuxBridgeConfig] stored as `bridge` section. The yaml
27752790// output [crate::NetworkState] containing an example linux bridge interface:
0 commit comments