Page MenuHomeVyOS Platform

zsdc ( )
User

Projects

User Details

User Since
Sep 10 2018, 3:30 PM (221 w, 19 h)

Recent Activity

Nov 2 2022

zsdc changed the status of T4776: NVME storage is not detected properly during installation from In progress to Needs testing.

Sure, it is fully compatible with 1.3. If no problems are found after the changes in 1.4 it must be backported.

Nov 2 2022, 4:10 PM · VyOS 1.3 Equuleus, VyOS 1.4 Sagitta

Oct 28 2022

zsdc added a comment to T1875: Add the ability to use network address as BGP neighbor (bgp listen range).

Backported in https://github.com/vyos/vyatta-cfg-quagga/pull/97

Oct 28 2022, 11:42 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta

Oct 27 2022

zsdc added a comment to T4776: NVME storage is not detected properly during installation.

Fixed in https://github.com/vyos/vyatta-cfg-system/pull/188

Oct 27 2022, 4:51 PM · VyOS 1.3 Equuleus, VyOS 1.4 Sagitta
zsdc changed the status of T4776: NVME storage is not detected properly during installation from Open to In progress.
Oct 27 2022, 10:50 AM · VyOS 1.3 Equuleus, VyOS 1.4 Sagitta
zsdc created T4776: NVME storage is not detected properly during installation.
Oct 27 2022, 10:48 AM · VyOS 1.3 Equuleus, VyOS 1.4 Sagitta

Oct 21 2022

zsdc created T4769: Conntrack settings are not apply properly.
Oct 21 2022, 3:44 PM · VyOS 1.3 Equuleus
zsdc closed T2189: Adding a large port-range will take ~ 20 minutes to commit as Resolved.
Oct 21 2022, 2:44 PM · VyOS 1.3 Equuleus (1.3.3)

Oct 20 2022

zsdc updated the task description for T4737: FRRouting/zebra 7.5.1 does not redistribute routes to other protocols.
Oct 20 2022, 1:49 PM · VyOS 1.3 Equuleus (1.3.3)
zsdc updated the task description for T4764: NAT tables vyos_nat and vyos_static_nat not deleting after deleting nat.
Oct 20 2022, 12:47 PM · VyOS 1.4 Sagitta

Oct 18 2022

zsdc claimed T1875: Add the ability to use network address as BGP neighbor (bgp listen range).
Oct 18 2022, 9:25 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc reopened T1875: Add the ability to use network address as BGP neighbor (bgp listen range), a subtask of T2174: Rewrite protocol BGP to new XML/Python style, as Backport candidate.
Oct 18 2022, 9:24 AM · VyOS 1.3 Equuleus (1.3.0)
zsdc reopened T1875: Add the ability to use network address as BGP neighbor (bgp listen range) as "Backport candidate".
Oct 18 2022, 9:24 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta

Oct 7 2022

zsdc changed the status of T4737: FRRouting/zebra 7.5.1 does not redistribute routes to other protocols from Open to Confirmed.
Oct 7 2022, 6:39 PM · VyOS 1.3 Equuleus (1.3.3)
zsdc created T4737: FRRouting/zebra 7.5.1 does not redistribute routes to other protocols.
Oct 7 2022, 6:13 PM · VyOS 1.3 Equuleus (1.3.3)

Oct 6 2022

zsdc added a member for Maintainers: a.apostoliuk.
Oct 6 2022, 12:40 PM
zsdc assigned T4492: Incorrect list of neighbors in help for "show bgp vrf VRF neighbors" to a.apostoliuk.
Oct 6 2022, 11:14 AM · VyOS 1.4 Sagitta

Sep 16 2022

danhusan awarded T4702: Wireguard peers configuration is not synchronized with CLI a Love token.
Sep 16 2022, 5:05 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc raised the priority of T4702: Wireguard peers configuration is not synchronized with CLI from Normal to High.
Sep 16 2022, 3:19 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc renamed T4702: Wireguard peers configuration is not synchronized with CLI from A `disable` option does not work for Wireguard peers to Wireguard peers configuration is not synchronized with CLI.
Sep 16 2022, 1:01 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc created T4702: Wireguard peers configuration is not synchronized with CLI.
Sep 16 2022, 12:41 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta

Sep 12 2022

zsdc added a comment to T2189: Adding a large port-range will take ~ 20 minutes to commit.

Should be fixed in https://github.com/vyos/vyatta-cfg-firewall/pull/34

Sep 12 2022, 5:58 PM · VyOS 1.3 Equuleus (1.3.3)

Sep 9 2022

zsdc changed the status of T2189: Adding a large port-range will take ~ 20 minutes to commit from Open to In progress.
Sep 9 2022, 8:12 PM · VyOS 1.3 Equuleus (1.3.3)
zsdc added a comment to T4647: Add Google Virtual NIC (gVNIC) support.

I am suggesting marking this task as "Resolved" because the driver works by himself and NIC can be used with a proper configuration.

Sep 9 2022, 11:35 AM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta

Sep 6 2022

zsdc moved T4646: USB serial output console does not work from Finished to Backport Candidates on the VyOS 1.4 Sagitta board.
Sep 6 2022, 9:18 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc moved T4646: USB serial output console does not work from Need Triage to Finished on the VyOS 1.4 Sagitta board.
Sep 6 2022, 9:18 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc changed the status of T4646: USB serial output console does not work from Needs testing to Backport pending.

The [email protected] seems to work well after the fix. We should backport this to the equuleus as well.

Sep 6 2022, 9:17 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta

Aug 31 2022

zsdc changed the status of T4646: USB serial output console does not work from Open to Needs testing.
Aug 31 2022, 9:06 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta

Aug 30 2022

zsdc renamed T4658: Rename DPD action `hold` to `trap` from DPD action values are outdated to Rename DPD action `hold` to `trap`.
Aug 30 2022, 12:40 PM · VyOS 1.4 Sagitta
zsdc changed the subtype of T4658: Rename DPD action `hold` to `trap` from "Bug" to "Feature Request".

Not the bug, because it is internally translated to the proper value: https://github.com/vyos/vyos-1x/blob/b01f27b3bb3f4cbc6096011856d83009d0440313/data/templates/ipsec/swanctl/peer.j2#L90

Aug 30 2022, 12:40 PM · VyOS 1.4 Sagitta
zsdc changed the status of T4657: op-mode scripts with type hints in `return` do not work from Open to In progress.

PR: https://github.com/vyos/vyos-1x/pull/1509

Aug 30 2022, 12:36 PM · VyOS 1.4 Sagitta
zsdc created T4657: op-mode scripts with type hints in `return` do not work.
Aug 30 2022, 11:56 AM · VyOS 1.4 Sagitta
zsdc added a subtask for T4548: GRUB loader configuration rework: T4516: Rewrite system image manipulation tools in Python.
Aug 30 2022, 9:49 AM · VyOS 1.4 Sagitta
zsdc added a parent task for T4516: Rewrite system image manipulation tools in Python: T4548: GRUB loader configuration rework.
Aug 30 2022, 9:49 AM · VyOS 1.4 Sagitta

Aug 27 2022

zsdc reassigned T2460: Migrate vyatta-nat-translations.pl to Python from thomas-mangin to c-po.
Aug 27 2022, 12:37 PM · VyOS 1.3 Equuleus (1.3.3)
zsdc reopened T2460: Migrate vyatta-nat-translations.pl to Python, a subtask of T2198: Rewrite NAT in new XML/Python style, as Open.
Aug 27 2022, 8:35 AM · VyOS 1.3 Equuleus (1.3.0)
zsdc reopened T2460: Migrate vyatta-nat-translations.pl to Python as "Open".

I need to reopen this, because after T3781 op-mode CLI references were reverted as well, and now we are in the strange situation when show_nat_translations.py is in the system, but CLI still refers to the old vyatta-nat-translations.pl.
The old script uses too much CPU and RAM, and can even crash on big conntrack tables.
We should backport updates from sagitta to op-mode scripts and replace CLI references to use them.

Aug 27 2022, 8:35 AM · VyOS 1.3 Equuleus (1.3.3)

Aug 25 2022

zsdc assigned T4647: Add Google Virtual NIC (gVNIC) support to c-po.
Aug 25 2022, 2:30 PM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta
zsdc updated the task description for T4647: Add Google Virtual NIC (gVNIC) support.
Aug 25 2022, 2:13 PM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta
zsdc created T4647: Add Google Virtual NIC (gVNIC) support.
Aug 25 2022, 2:12 PM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta
zsdc added a project to T1070: SWANCTL: DMVPN: ALL peers are deleted in swan when opennhrp tries to delete ONE peer: VyOS 1.4 Sagitta.
Aug 25 2022, 7:48 AM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta, test

Aug 24 2022

zsdc changed the status of T4113: Incorrect GRUB configuration parsing from Needs testing to Backport pending.
Aug 24 2022, 8:16 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta

Aug 5 2022

zsdc changed the status of T4589: BGP listen limit Increase via CLI command from Open to Confirmed.
Aug 5 2022, 12:16 PM · VyOS 1.4 Sagitta

Aug 2 2022

zsdc changed the status of T4548: GRUB loader configuration rework from Open to In progress.
Aug 2 2022, 4:21 PM · VyOS 1.4 Sagitta

Jul 28 2022

zsdc added a comment to T3933: The firewall does not filter incoming traffic on the interface with vrf..

True, marking packets can help. I would only be very careful because we use marks a lot for PBR, LB, etc. Not sure if they can conflict with each other. Also, the performance is the question - better to check how marking each packet on an interface affects it.

Jul 28 2022, 9:13 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc added a comment to T4572: Add an option to force interface MTU to the value received from DHCP.

I have no proof now of any obvious negative issues. Moreover, in my personal opinion - if some protocol or interface type requires a default MTU that is not assigned to it by the kernel, this is the problem that should be solved by configuration script for that particular interface.

Jul 28 2022, 11:54 AM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta

Jul 27 2022

zsdc changed the status of T4572: Add an option to force interface MTU to the value received from DHCP from Open to Confirmed.
Jul 27 2022, 11:28 AM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta
zsdc created T4572: Add an option to force interface MTU to the value received from DHCP.
Jul 27 2022, 11:28 AM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta

Jul 20 2022

zsdc created T4548: GRUB loader configuration rework.
Jul 20 2022, 12:01 PM · VyOS 1.4 Sagitta

Jul 19 2022

zsdc changed the status of T4546: Does not connect Cisco spoke to VyOS hub. from Confirmed to In progress.

PR for 1.4: https://github.com/vyos/vyos-1x/pull/1418

Jul 19 2022, 7:16 PM · VyOS 1.4 Sagitta
zsdc changed the status of T4546: Does not connect Cisco spoke to VyOS hub. from Open to Confirmed.
Jul 19 2022, 7:01 PM · VyOS 1.4 Sagitta
zsdc triaged T4542: route-map: "match prefix-len" incorrect behavior as Low priority.
Jul 19 2022, 12:41 PM · VyOS 1.4 Sagitta
zsdc changed the status of T4542: route-map: "match prefix-len" incorrect behavior from Open to Confirmed.

This is a behavior "by design". The prefix-len option cannot be used for BGP routes. We should add this notice to the CLI.
Check: http://docs.frrouting.org/en/latest/routemap.html#clicmd-match-ip-address-prefix-len-0-32

Jul 19 2022, 12:41 PM · VyOS 1.4 Sagitta

Jul 18 2022

zsdc created T4541: Improve `strip-private` to make stripped configs reproducible.
Jul 18 2022, 11:47 AM · VyOS 1.4 Sagitta

Jul 8 2022

zsdc changed the status of T4516: Rewrite system image manipulation tools in Python from Open to In progress.
Jul 8 2022, 4:46 PM · VyOS 1.4 Sagitta

Jul 7 2022

zsdc created T4516: Rewrite system image manipulation tools in Python.
Jul 7 2022, 6:32 PM · VyOS 1.4 Sagitta

Jul 4 2022

zsdc added a comment to T4508: Problem with values of the same environment in different event handlers.

PR: https://github.com/vyos/vyos-1x/pull/1388

Jul 4 2022, 3:25 PM · VyOS 1.4 Sagitta

Jun 10 2022

zsdc created T4464: Include packages source to binary images.
Jun 10 2022, 9:50 AM · VyOS 1.4 Sagitta

Jun 2 2022

zsdc added a comment to T4288: IPsec tunnel will break when ESP timeout.

@m.korobeinikov I believe that I already posted this some time ago, but just in case...
Not all combinations of DPD and close-action are safe. Actually, most of them sooner or later will lead to issues with IPSec. So, I created the next scheme. It is from 2020, so I will not say that nothing was changed from that time, however, it shows well how careful you should be while configuring IPSec. On the scheme, you can see the only safe configuration of the close-action option, depending on how the peer is configured, but the same logic can be applied to DPD.

Jun 2 2022, 6:42 PM · VyOS 1.4 Sagitta

May 31 2022

zsdc created T4452: WAN load-balancing exclude rules break PBR.
May 31 2022, 11:01 AM · VyOS 1.3 Equuleus (1.3.3)

May 13 2022

zsdc created T4425: Hide DHCP leases from interfaces without active DHCP client.
May 13 2022, 2:12 PM · VyOS 1.4 Sagitta

May 5 2022

zsdc changed the status of T4415: Include license/copyright files in the image but remove user documentation from /usr/share/doc to reduce its size from Open to In progress.

PR for 1.3: https://github.com/vyos/vyos-build/pull/231
PR for 1.4: https://github.com/vyos/vyos-build/pull/230

May 5 2022, 1:33 PM · VyOS 1.3 Equuleus (1.3.2)
zsdc created T4415: Include license/copyright files in the image but remove user documentation from /usr/share/doc to reduce its size.
May 5 2022, 9:35 AM · VyOS 1.3 Equuleus (1.3.2)

May 3 2022

zsdc changed the status of T4407: Network-config v2 is broken in Cloud-init 22.1 and VyOS 1.3 from Open to Needs testing.

Resolved in https://github.com/vyos/vyos-cloud-init/pull/54

May 3 2022, 3:55 PM · VyOS 1.3 Equuleus (1.3.3)
zsdc created T4407: Network-config v2 is broken in Cloud-init 22.1 and VyOS 1.3.
May 3 2022, 3:45 PM · VyOS 1.3 Equuleus (1.3.3)

Apr 30 2022

zsdc created T4401: Networking needs to be reset during config boot (in some environments).
Apr 30 2022, 7:04 PM · VyOS 1.4 Sagitta

Apr 25 2022

zsdc added a member for Maintainers: v.huti.
Apr 25 2022, 10:33 AM

Apr 14 2022

zsdc created T4361: `vyos.config.exists()` does not work for nodes with multiple values.
Apr 14 2022, 5:39 PM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta
zsdc added a comment to T4028: FRR 8.1 routes not being applied to routing table after reboot if an interface has 2 ip addresses.

Theoretically, must be fixed in https://github.com/FRRouting/frr/pull/11004

Apr 14 2022, 6:56 AM · VyOS 1.4 Sagitta

Apr 11 2022

zsdc added a project to T4354: Slave interfaces fall out from bonding during configuration change: VyOS 1.3 Equuleus.
Apr 11 2022, 7:17 PM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta
zsdc created T4354: Slave interfaces fall out from bonding during configuration change.
Apr 11 2022, 7:17 PM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta

Apr 1 2022

zsdc changed the status of T4305: Global log facility does not have consistent default settings, and doesn't change when modified from Open to Confirmed.

Hi, @dberlin ! Thanks, you are right about the root cause.
I believe that we need to remove the max-size and action-on-max-size from rsyslog.conf. So, leave everything related to rotating logs to logrotate, and to sending logs to rsyslog - UNIX-way. :)

Apr 1 2022, 3:03 PM · VyOS 1.4 Sagitta

Mar 31 2022

zsdc created T4330: MTU settings cannot be applied when IPv6 is disabled.
Mar 31 2022, 5:45 PM · VyOS 1.3 Equuleus (1.3.2), VyOS 1.4 Sagitta

Mar 26 2022

zsdc added a comment to T2117: Update Cloud-init version and actualize our changes to it.

Updated to 22.1 in 1.4.
The current branch now must be compatible with 1.3, and merged to equuleus if there no new incompatibilities will be found during tests.

Mar 26 2022, 3:16 PM · VyOS 1.3 Equuleus (1.3.3)

Mar 24 2022

zsdc changed the status of T2117: Update Cloud-init version and actualize our changes to it from Needs testing to In progress.

Updated: we need to update 20.4 to 22.1 because 20.4 cannot extract SSH keys from the Azure Stack Hub data source.

Mar 24 2022, 6:19 PM · VyOS 1.3 Equuleus (1.3.3)

Mar 15 2022

zsdc added a comment to T4301: The "arp-monitor" option in bonding interface settings does not work.

The same issue with set interfaces bonding bond0 arp-monitor interval 'X' option. Also extra conversion between variable types.
Added the fix to the same PR.

Mar 15 2022, 5:01 PM · VyOS 1.4 Sagitta
zsdc changed Difficulty level from unknown to easy on T4301: The "arp-monitor" option in bonding interface settings does not work.
Mar 15 2022, 4:32 PM · VyOS 1.4 Sagitta
zsdc changed the status of T4301: The "arp-monitor" option in bonding interface settings does not work from Open to In progress.

Fixed in https://github.com/vyos/vyos-1x/pull/1249

Mar 15 2022, 4:32 PM · VyOS 1.4 Sagitta
zsdc created T4301: The "arp-monitor" option in bonding interface settings does not work.
Mar 15 2022, 4:01 PM · VyOS 1.4 Sagitta
zsdc changed the status of T4300: Extend list of supported interfaces for Cloud-init Network Configuration from Open to In progress.
Mar 15 2022, 3:45 PM · VyOS 1.4 Sagitta
zsdc created T4300: Extend list of supported interfaces for Cloud-init Network Configuration.
Mar 15 2022, 1:06 PM · VyOS 1.4 Sagitta

Mar 12 2022

zsdc closed T4002: firewall group network-group long names restriction incorrect behavior as Resolved.
Mar 12 2022, 12:13 PM · VyOS 1.3 Equuleus ( 1.3.1)
zsdc moved T4296: Interface config injected by Cloud-Init may interfere with VyOS native from Need Triage to Finished on the VyOS 1.4 Sagitta board.
Mar 12 2022, 12:08 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta
zsdc closed T4296: Interface config injected by Cloud-Init may interfere with VyOS native as Resolved.

Fixed for both 1.3 and 1.4.

Mar 12 2022, 12:07 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta

Mar 11 2022

zsdc created T4296: Interface config injected by Cloud-Init may interfere with VyOS native.
Mar 11 2022, 2:02 PM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta

Mar 7 2022

zsdc closed T2613: add logrotate options for syslog, a subtask of T3774: atop logs are not limited in size, as Resolved.
Mar 7 2022, 6:06 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc closed T2613: add logrotate options for syslog as Resolved.

Resolved in https://phabricator.vyos.net/T3774, but it will not be backported to 1.2.

Mar 7 2022, 6:06 PM · VyOS 1.2 Crux
zsdc added a parent task for T2613: add logrotate options for syslog: T3774: atop logs are not limited in size.
Mar 7 2022, 6:04 PM · VyOS 1.2 Crux
zsdc added a subtask for T3774: atop logs are not limited in size: T2613: add logrotate options for syslog.
Mar 7 2022, 6:04 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta
zsdc changed the status of T4250: Organize logrotate settings to avoid duplicates from Open to In progress.

Should be fixed in https://github.com/vyos/vyos-1x/pull/1241

Mar 7 2022, 6:02 PM · VyOS 1.4 Sagitta
zsdc edited projects for T4002: firewall group network-group long names restriction incorrect behavior, added: VyOS 1.3 Equuleus ( 1.3.1); removed VyOS 1.3 Equuleus.
Mar 7 2022, 9:43 AM · VyOS 1.3 Equuleus ( 1.3.1)
zsdc triaged T4002: firewall group network-group long names restriction incorrect behavior as Normal priority.
Mar 7 2022, 9:43 AM · VyOS 1.3 Equuleus ( 1.3.1)

Mar 6 2022

zsdc changed the status of T4002: firewall group network-group long names restriction incorrect behavior from Confirmed to In progress.

Should be fixed by https://github.com/vyos/vyatta-cfg-firewall/pull/32

Mar 6 2022, 1:23 PM · VyOS 1.3 Equuleus ( 1.3.1)
zsdc created T4285: Add integration with Teleport.
Mar 6 2022, 11:35 AM · VyOS 1.4 Sagitta

Mar 2 2022

zsdc created T4281: System users migration can lead to inaccessible shell.
Mar 2 2022, 2:53 PM · VyOS 1.3 Equuleus (1.3.3)

Feb 18 2022

zsdc created T4259: The conntrackd daemon can be started wrongly.
Feb 18 2022, 6:42 PM · VyOS 1.3 Equuleus ( 1.3.1), VyOS 1.4 Sagitta

Feb 16 2022

zsdc created T4250: Organize logrotate settings to avoid duplicates.
Feb 16 2022, 6:09 PM · VyOS 1.4 Sagitta

Feb 4 2022

zsdc changed the status of T3409: Add back TCP-MSS Clamp to PMTU from Open to Confirmed.
Feb 4 2022, 9:39 AM · VyOS 1.4 Sagitta

Feb 3 2022

zsdc assigned T4176: VyOS CLI command: show openvpn server/client does not display output to RyVolodya.
Feb 3 2022, 11:29 AM · VyOS 1.3 Equuleus (1.3.0), VyOS 1.4 Sagitta
zsdc assigned T4192: OpenVPN custom option for "--client-to-client" causes configuration error to RyVolodya.
Feb 3 2022, 11:26 AM · VyOS 1.3 Equuleus (1.3.0)

Jan 26 2022

zsdc added a comment to T3397: getty forces --keep-baud in 1.2.x.

We confirmed the problem - some serial consoles continue to work well, some are not initialized properly with the --keep-baud option. For example, this can be reproduced in the SOS console in Equinix Metal.
Originally, the problem comes from a systemd service template.
Since it is not completely clear if the option is necessary in one case or another, it seems that the best solution would be to provide the ability to set/remove it from the CLI, so everyone may configure what works best for his hardware.

Jan 26 2022, 8:33 PM · VyOS 1.3 Equuleus (1.3.3), VyOS 1.4 Sagitta, VyOS 1.2 Crux (VyOS 1.2.9)