<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-1x.git/smoketest/scripts/cli/test_service_ndp-proxy.py, branch rolling</title>
<subtitle>VyOS command definitions, scripts, and utilities (mirror of https://github.com/vyos/vyos-1x.git)
</subtitle>
<id>https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling</id>
<link rel='self' href='https://git.amelek.net/vyos/vyos-1x.git/atom?h=rolling'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/'/>
<updated>2026-03-09T18:03:14+00:00</updated>
<entry>
<title>T8292: `service: ndp-proxy: validate prefix mode/interface settings correctly`</title>
<updated>2026-03-09T18:03:14+00:00</updated>
<author>
<name>Miaosen Wang</name>
<email>secretandanon@gmail.com</email>
</author>
<published>2026-03-09T17:50:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=48732ec28fc24fc54e719acb94b23abc3ddc18da'/>
<id>urn:sha1:48732ec28fc24fc54e719acb94b23abc3ddc18da</id>
<content type='text'>
Switch `verify()` to validate the real config tree (`interface -&gt; prefix`) instead of non-existent `rule` nodes.
This enforces:
- `mode interface` requires `prefix ... interface`
- non-`interface` modes must not set `prefix ... interface`
- referenced interface exists when `mode` is `interface`
</content>
</entry>
<entry>
<title>T7948: always call setUp() and tearDown() base class methods</title>
<updated>2025-10-21T19:03:16+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-10-20T16:52:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=4995a58f998d3bdd055e49e919945bc0aa939be4'/>
<id>urn:sha1:4995a58f998d3bdd055e49e919945bc0aa939be4</id>
<content type='text'>
While working on task T7664 (FRR 10.4 upgrade), I identified the need for
additional validation and safeguards around the FRR management daemon. The
most appropriate place for this logic is in the setUp() and tearDown() methods
of the smoketest base class, VyOSUnitTestSHIM.

However, during implementation, it became apparent that test cases do not
consistently invoke the base class's setup and teardown methods. This
inconsistency complicates the process of capturing the FRR mgmtd PID at the
start of a test and verifying that it remains unchanged by the end - a key step
in detecting crashes or unexpected terminations (e.g., SIGSEGV) of the FRR
management daemon during tests.
</content>
</entry>
<entry>
<title>smoketest: T7858: make failfast main argument dynamic</title>
<updated>2025-09-30T15:19:06+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-09-22T18:49:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=2c521f1356378904e3d3a744960de68e8c5b62dc'/>
<id>urn:sha1:2c521f1356378904e3d3a744960de68e8c5b62dc</id>
<content type='text'>
When smoketest debugging is enabled (by creating the file
/tmp/vyos.smoketest.debug), all available smoketests will fail fast instead
of running to completion. This helps reduce test time when something is
broken or undergoing refactoring, as it avoids waiting for the full test suite
to finish.
</content>
</entry>
<entry>
<title>T7591: remove copyright years from source files</title>
<updated>2025-06-28T21:16:52+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2025-06-28T18:51:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=1478516ae437f19ebeb7d6ff9b83dd74f8e76758'/>
<id>urn:sha1:1478516ae437f19ebeb7d6ff9b83dd74f8e76758</id>
<content type='text'>
The legal team says years are not necessary so we can go ahead with it, since
it will simplify backporting.

Automatically removed using: git ls-files | grep -v libvyosconfig | xargs sed -i -E \
's/^# Copyright (19|20)[0-9]{2}(-[0-9]{4})? VyOS maintainers.*/# Copyright VyOS maintainers and contributors &lt;maintainers@vyos.io&gt;/g'

In addition we will error-out during "make" if someone re-adds a legacy
copyright notice
</content>
</entry>
<entry>
<title>T6199: drop unused Python imports</title>
<updated>2024-04-02T22:15:43+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2024-04-02T22:15:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=274b2da242acd1f1f64ff1dee471e34295137c5f'/>
<id>urn:sha1:274b2da242acd1f1f64ff1dee471e34295137c5f</id>
<content type='text'>
found using "git ls-files *.py | xargs pylint | grep W0611"
</content>
</entry>
<entry>
<title>T2898: add ndp-proxy service</title>
<updated>2023-12-20T22:21:07+00:00</updated>
<author>
<name>Christian Breunig</name>
<email>christian@breunig.cc</email>
</author>
<published>2023-12-19T06:49:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/vyos/vyos-1x.git/commit/?id=4d721a58020971d00ab854c37b68e88359999f9c'/>
<id>urn:sha1:4d721a58020971d00ab854c37b68e88359999f9c</id>
<content type='text'>
VyOS CLI command
  set service ndp-proxy interface eth0 prefix 2001:db8::/64 mode 'static'

Will generate the following NDP proxy configuration

  $ cat /run/ndppd/ndppd.conf
  # autogenerated by service_ndp-proxy.py

  # This tells 'ndppd' how often to reload the route file /proc/net/ipv6_route
  route-ttl 30000

  # This sets up a listener, that will listen for any Neighbor Solicitation
  # messages, and respond to them according to a set of rules
  proxy eth0 {
      # Turn on or off the router flag for Neighbor Advertisements
      router no
      # Control how long to wait for a Neighbor Advertisment message before invalidating the entry (milliseconds)
      timeout 500
      # Control how long a valid or invalid entry remains in the cache (milliseconds)
      ttl 30000

      # This is a rule that the target address is to match against. If no netmask
      # is provided, /128 is assumed. You may have several rule sections, and the
      # addresses may or may not overlap.
      rule 2001:db8::/64 {
          static
      }
  }
</content>
</entry>
</feed>
