I agree that a merge from debian would be better, since we are quite
behind:

iproute2   | 6.5.0-4          | testing

But we have been at 6.1.0 since at least lunar, so I don't know how long
that would take. I think we can take these patches for noble.

I would ask that you also add this one, though, to update the manpage
with the new option:

commit 1fbb61058d34e3eb9a34f5e930bbbb8d90c4a961
Author: Petr Machata <pe...@nvidia.com>
Date:   Mon Mar 27 18:12:06 2023 +0200

    man: man8: Add man page coverage for "ip address add ... proto"

    Signed-off-by: Petr Machata <pe...@nvidia.com>
    Signed-off-by: David Ahern <dsah...@kernel.org>


Also,  you could perhaps add your test script as a quick DEP8 test, what do you 
think? Something like this?

--- a/debian/tests/control
+++ b/debian/tests/control
@@ -3,3 +3,7 @@
 Tests: testsuite.sh
 Restrictions: allow-stderr, isolation-machine, needs-root, rw-build-tree
 Depends: build-essential, locales-all, dpkg-dev, sudo:native, kmod, @builddeps@
+
+Tests: test-protocol-attribute
+Restrictions: isolation-machine, needs-root
+Depends: iproute2
diff --git a/debian/tests/test-protocol-attribute.sh 
b/debian/tests/test-protocol-attribute.sh
new file mode 100755
index 00000000..254b2906
--- /dev/null
+++ b/debian/tests/test-protocol-attribute.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+addr=192.0.2.1/28
+ifr=test-dummy123
+
+ip link add name "$ifr" type dummy
+ip link set "$ifr" up
+
+ip address add dev "$ifr" "$addr" proto 0x99
+
+ip link del "$ifr"


Perhaps improve it with using a random address, and showing the "ip a" output 
and checking that "proto 0x99" was truly added.

Finally, it would also be good if the patches have a few more DEP3
headers. In particular, Origin, with a link to the upstream commit, and
also a pointer to this bug here (Bug-Ubuntu: ...). The hash in the
"From" bit in both patches didn't match the upstreams I could find
(git://git.kernel.org/pub/scm/network/iproute2/iproute2.git or
https://github.com/shemminger/iproute2.git), but I did find the commits
using a log search. It would help if the Origin tag were there, then,
with a direct link.


Regarding an SRU, I would have some concerns:

- what is the real user benefit for stable release users? Do we have
bugs filed against iproute2 asking for this feature? How much demand is
there for this? In which kind of deployment would this be most useful?

- I see that the "ip" output changes when this flag is present, with the
new "proto <val>" string. What's the regression potential here for
parsing this output in scripts? I believe the new "proto <val>" text is
only present if there was a protocol assigned, and if not, the default
value (0 I believe?) is not shown. But are there other regression
potentials here? Perhaps in the json output, or when some extra flag is
added to "ip" commands?

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to iproute2 in Ubuntu.
Matching subscriptions: iproute2
https://bugs.launchpad.net/bugs/2039280

Title:
  Support IP address protocol

Status in iproute2 package in Ubuntu:
  Confirmed
Status in iproute2 source package in Mantic:
  Confirmed

Bug description:
  [Impact]

  IPv4 and IPv6 addresses can be assigned a protocol value that indicates the
  provenance of the IP address. The attribute is modeled after ip route
  protocols, and essentially allows the administrator or userspace stack to
  tag addresses in some way that makes sense to the actor in question.
  Support for this feature was merged with commit 47f0bd503210 ("net: Add new
  protocol attribute to IP addresses"), for kernel 5.18.

  In this patch, add support for setting the protocol attribute at IP address
  addition, replacement, and listing requests.

  [Fix]

  Apply the attached patch

  [How to test]

  $ cat << EOF > test.sh
  #!/bin/sh

  addr=192.0.2.1/28
  addr2=${addr%/*}2/${addr#*/}
  ifr=test-dummy123

  sudo ip link add name "$ifr" type dummy
  sudo ip link set "$ifr" up

  sudo ip address add dev "$ifr" "$addr2" proto 0x99

  sudo ip link del "$ifr"
  EOF

  $chmod +x test.sh
  $test.sh
  $ echo $?
  0

  if you get an error instead, like:
  Error: either "local" is duplicate, or "proto" is a garbage.

  your iproute2 is not patched.
  Alternativerly, you could download Linux v6.5 source code and run:

  $ cd linux
  $ sudo ./tools/testing/selftests/net/rtnetlink.sh -t kci_test_address_proto

  [Regression potential]

  Two clean upstream cherry-picks, regression potential should be low.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/iproute2/+bug/2039280/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to