forked from pool/iproute2
Compare commits
13 Commits
Author | SHA256 | Date | |
---|---|---|---|
47d9ae6555 | |||
87eb90edab | |||
|
709ad2d531 | ||
0ae7483a73 | |||
|
9e47a8ad6a | ||
76e02e43ff | |||
|
8831a5037b | ||
cfd9d67042 | |||
|
77aa7e00e1 | ||
|
a8dbf75a01 | ||
36fa8b92da | |||
|
a2e73fdac5 | ||
1e80150ae4 |
@@ -1,24 +0,0 @@
|
|||||||
From: Michal Kubecek <mkubecek@suse.cz>
|
|
||||||
Date: Fri, 15 Jan 2016 07:31:30 +0100
|
|
||||||
Subject: add explicit typecast to avoid gcc warning
|
|
||||||
Patch-mainline: No
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/utils.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
Index: iproute2-6.3.0/lib/utils.c
|
|
||||||
===================================================================
|
|
||||||
--- iproute2-6.3.0.orig/lib/utils.c
|
|
||||||
+++ iproute2-6.3.0/lib/utils.c
|
|
||||||
@@ -881,8 +881,8 @@ bool matches(const char *prefix, const c
|
|
||||||
|
|
||||||
int inet_addr_match(const inet_prefix *a, const inet_prefix *b, int bits)
|
|
||||||
{
|
|
||||||
- const __u32 *a1 = a->data;
|
|
||||||
- const __u32 *a2 = b->data;
|
|
||||||
+ const __u32 *a1 = (__u32*)a->data;
|
|
||||||
+ const __u32 *a2 = (__u32*)b->data;
|
|
||||||
int words = bits >> 0x05;
|
|
||||||
|
|
||||||
bits &= 0x1f;
|
|
@@ -1,73 +0,0 @@
|
|||||||
From: Michal Kubecek <mkubecek@suse.cz>
|
|
||||||
Date: Fri, 15 Jan 2016 07:29:44 +0100
|
|
||||||
Subject: adjust installation directories for openSUSE/SLE
|
|
||||||
Patch-mainline: Never, SUSE specific
|
|
||||||
|
|
||||||
Match the directory layout of openSUSE and SLE.
|
|
||||||
---
|
|
||||||
Makefile | 6 +++---
|
|
||||||
netem/Makefile | 5 +++--
|
|
||||||
tc/q_netem.c | 2 +-
|
|
||||||
3 files changed, 7 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
Index: iproute2-6.7.0/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- iproute2-6.7.0.orig/Makefile
|
|
||||||
+++ iproute2-6.7.0/Makefile
|
|
||||||
@@ -15,8 +15,8 @@ MAKEFLAGS += --no-print-directory
|
|
||||||
endif
|
|
||||||
|
|
||||||
PREFIX?=/usr
|
|
||||||
-SBINDIR?=/sbin
|
|
||||||
-NETNS_RUN_DIR?=/var/run/netns
|
|
||||||
+SBINDIR?=/usr/sbin
|
|
||||||
+NETNS_RUN_DIR?=/run/netns
|
|
||||||
NETNS_ETC_DIR?=/etc/netns
|
|
||||||
DATADIR?=$(PREFIX)/share
|
|
||||||
HDRDIR?=$(PREFIX)/include/iproute2
|
|
||||||
@@ -33,7 +33,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include
|
|
||||||
|
|
||||||
SHARED_LIBS = y
|
|
||||||
|
|
||||||
-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\"
|
|
||||||
+DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DPKGDATADIR=\"$(DATADIR)/tc\"
|
|
||||||
ifneq ($(SHARED_LIBS),y)
|
|
||||||
DEFINES+= -DNO_SHARED_LIBS
|
|
||||||
endif
|
|
||||||
Index: iproute2-6.7.0/netem/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- iproute2-6.7.0.orig/netem/Makefile
|
|
||||||
+++ iproute2-6.7.0/netem/Makefile
|
|
||||||
@@ -7,6 +7,7 @@ DISTDATA = normal.dist pareto.dist paret
|
|
||||||
HOSTCC ?= $(CC)
|
|
||||||
CCOPTS = $(CBUILD_CFLAGS)
|
|
||||||
LDLIBS += -lm
|
|
||||||
+LIBDIR = /usr/lib
|
|
||||||
|
|
||||||
all: $(DISTGEN) $(DISTDATA)
|
|
||||||
|
|
||||||
@@ -23,9 +24,9 @@ stats: stats.c
|
|
||||||
$(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
|
|
||||||
|
|
||||||
install: all
|
|
||||||
- mkdir -p $(DESTDIR)$(LIBDIR)/tc
|
|
||||||
+ mkdir -p $(DESTDIR)/usr/share/tc
|
|
||||||
for i in $(DISTDATA); \
|
|
||||||
- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \
|
|
||||||
+ do install -m 644 $$i $(DESTDIR)/usr/share/tc; \
|
|
||||||
done
|
|
||||||
|
|
||||||
clean:
|
|
||||||
Index: iproute2-6.7.0/tc/q_netem.c
|
|
||||||
===================================================================
|
|
||||||
--- iproute2-6.7.0.orig/tc/q_netem.c
|
|
||||||
+++ iproute2-6.7.0/tc/q_netem.c
|
|
||||||
@@ -131,7 +131,7 @@ static int get_distribution(const char *
|
|
||||||
char *line = NULL;
|
|
||||||
char name[128];
|
|
||||||
|
|
||||||
- snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type);
|
|
||||||
+ snprintf(name, sizeof(name), "%s/%s.dist", PKGDATADIR, type);
|
|
||||||
f = fopen(name, "r");
|
|
||||||
if (f == NULL) {
|
|
||||||
fprintf(stderr, "No distribution data for %s (%s: %s)\n",
|
|
12
apply-patches
Normal file
12
apply-patches
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
echo "Applying patches:"
|
||||||
|
|
||||||
|
while read p; do
|
||||||
|
if patch -p1 -s --no-backup-if-mismatch --fuzz=0 <patches/"$p"; then
|
||||||
|
echo -e "\t$p"
|
||||||
|
else
|
||||||
|
echo "*** Patch $p failed" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
313
guards
Normal file
313
guards
Normal file
@@ -0,0 +1,313 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
#############################################################################
|
||||||
|
# Copyright (c) 2003-2007,2009 Novell, Inc.
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of version 2 of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, contact Novell, Inc.
|
||||||
|
#
|
||||||
|
# To contact Novell about this file by physical or electronic mail,
|
||||||
|
# you may find current contact information at www.novell.com
|
||||||
|
#############################################################################
|
||||||
|
#
|
||||||
|
# Guards:
|
||||||
|
#
|
||||||
|
# +xxx include if xxx is defined
|
||||||
|
# -xxx exclude if xxx is defined
|
||||||
|
# +!xxx include if xxx is not defined
|
||||||
|
# -!xxx exclude if xxx is not defined
|
||||||
|
#
|
||||||
|
|
||||||
|
use FileHandle;
|
||||||
|
use Getopt::Long;
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
# Prototypes
|
||||||
|
sub files_in($$);
|
||||||
|
sub parse($$);
|
||||||
|
sub help();
|
||||||
|
|
||||||
|
sub slashme($) {
|
||||||
|
my ($dir) = @_;
|
||||||
|
$dir =~ s#([^/])$#$&/#; # append a slash if necessary
|
||||||
|
if ($dir eq './') {
|
||||||
|
return '';
|
||||||
|
} else {
|
||||||
|
return $dir;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Generate a list of files in a directory
|
||||||
|
#
|
||||||
|
sub files_in($$) {
|
||||||
|
my ($dir, $path) = @_;
|
||||||
|
my $dh = new FileHandle;
|
||||||
|
my (@files, $file);
|
||||||
|
|
||||||
|
# @<file> syntax
|
||||||
|
if ($path =~ s/^@//) {
|
||||||
|
my $fh;
|
||||||
|
open($fh, '<', $path) or die "$path: $!\n";
|
||||||
|
@files = <$fh>;
|
||||||
|
close($fh);
|
||||||
|
chomp(@files);
|
||||||
|
s:^$dir:: for @files;
|
||||||
|
return @files;
|
||||||
|
}
|
||||||
|
|
||||||
|
$path = slashme($path);
|
||||||
|
opendir $dh, length("$dir$path") ? "$dir$path" : '.'
|
||||||
|
or die "$dir$path: $!\n";
|
||||||
|
while ($file = readdir($dh)) {
|
||||||
|
next if $file =~ /^(\.|\.\.|\.#.*|CVS|.*~)$/;
|
||||||
|
if (-d "$dir$path$file") {
|
||||||
|
@files = (@files, files_in($dir, "$path$file/"));
|
||||||
|
} else {
|
||||||
|
#print "[$path$file]\n";
|
||||||
|
push @files, "$path$file";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir $dh;
|
||||||
|
return @files;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse a configuration file
|
||||||
|
# Callback called with ($patch, @guards) arguments
|
||||||
|
#
|
||||||
|
sub parse($$) {
|
||||||
|
my ($fh, $callback) = @_;
|
||||||
|
|
||||||
|
my $line = "";
|
||||||
|
|
||||||
|
while (<$fh>) {
|
||||||
|
chomp;
|
||||||
|
s/(^|\s+)#.*//;
|
||||||
|
if (s/\\$/ /) {
|
||||||
|
$line .= $_;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
$line .= $_;
|
||||||
|
my @guards = ();
|
||||||
|
foreach my $token (split /[\s\t\n]+/, $line) {
|
||||||
|
next if $token eq "";
|
||||||
|
if ($token =~ /^[-+]/) {
|
||||||
|
push @guards, $token;
|
||||||
|
} else {
|
||||||
|
#print "[" . join(",", @guards) . "] $token\n";
|
||||||
|
&$callback($token, @guards);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$line = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Command line options
|
||||||
|
#
|
||||||
|
my ($dir, $config, $default, $check, $list, $invert_match, $with_guards) =
|
||||||
|
( '', '-', 1, 0, 0, 0, 0);
|
||||||
|
my @path;
|
||||||
|
|
||||||
|
# Help text
|
||||||
|
#
|
||||||
|
sub help() {
|
||||||
|
print "$0 - select from a list of files guarded by conditions\n";
|
||||||
|
print "SYNOPSIS: $0 [--prefix=dir] [--path=dir1:dir2:...]\n" .
|
||||||
|
" [--default=0|1] [--check|--list] [--invert-match]\n" .
|
||||||
|
" [--with-guards] [--config=file] symbol ...\n\n" .
|
||||||
|
" Defaults: --default=$default\n" .
|
||||||
|
" Use --path=\@<file> to read the list of entries from <file>\n";
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Parse command line options
|
||||||
|
#
|
||||||
|
Getopt::Long::Configure ("bundling");
|
||||||
|
eval {
|
||||||
|
unless (GetOptions (
|
||||||
|
'd|prefix=s' => \$dir,
|
||||||
|
'c|config=s' => \$config,
|
||||||
|
'C|check' => \$check,
|
||||||
|
'l|list' => \$list,
|
||||||
|
'w|with-guards' => \$with_guards,
|
||||||
|
'p|path=s' => \@path,
|
||||||
|
'D|default=i' => \$default,
|
||||||
|
'v|invert-match' => \$invert_match,
|
||||||
|
'h|help' => sub { help(); exit 0; })) {
|
||||||
|
help();
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if ($@) {
|
||||||
|
print "$@";
|
||||||
|
help();
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@path = ('.')
|
||||||
|
unless (@path);
|
||||||
|
@path = split(/:/, join(':', @path));
|
||||||
|
|
||||||
|
my $fh = ($config eq '-') ? \*STDIN : new FileHandle($config)
|
||||||
|
or die "$config: $!\n";
|
||||||
|
|
||||||
|
$dir = slashme($dir);
|
||||||
|
|
||||||
|
if ($check) {
|
||||||
|
# Check for duplicate files, or for files that are not referenced by
|
||||||
|
# the specification.
|
||||||
|
|
||||||
|
my $problems = 0;
|
||||||
|
my @files;
|
||||||
|
|
||||||
|
foreach (@path) {
|
||||||
|
@files = (@files, files_in($dir, $_));
|
||||||
|
}
|
||||||
|
my %files = map { $_ => 0 } @files;
|
||||||
|
|
||||||
|
parse($fh, sub {
|
||||||
|
my ($patch, @guards) = @_;
|
||||||
|
if (exists $files{$patch}) {
|
||||||
|
$files{$patch}++;
|
||||||
|
} else {
|
||||||
|
if ($config eq '-') {
|
||||||
|
print "Not found: $dir$patch\n";
|
||||||
|
} else {
|
||||||
|
print "In $config but not found: $dir$patch\n";
|
||||||
|
}
|
||||||
|
$problems++;
|
||||||
|
}});
|
||||||
|
|
||||||
|
$fh->close();
|
||||||
|
|
||||||
|
my ($file, $ref);
|
||||||
|
while (($file, $ref) = each %files) {
|
||||||
|
next if $ref == 1;
|
||||||
|
|
||||||
|
if ($ref == 0) {
|
||||||
|
if ($config eq '-') {
|
||||||
|
print "Unused: $file\n";
|
||||||
|
} else {
|
||||||
|
print "Not in $config: $file\n";
|
||||||
|
}
|
||||||
|
$problems++;
|
||||||
|
}
|
||||||
|
if ($ref > 1) {
|
||||||
|
print "Warning: multiple uses";
|
||||||
|
print " in $config" if $config ne '-';
|
||||||
|
print ": $file\n";
|
||||||
|
# This is not an error if the entries are mutually exclusive...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exit $problems ? 1 : 0;
|
||||||
|
|
||||||
|
} elsif ($list) {
|
||||||
|
parse($fh, sub {
|
||||||
|
my ($patch, @guards) = @_;
|
||||||
|
print join(' ', @guards), ' '
|
||||||
|
if (@guards && $with_guards);
|
||||||
|
print "$dir$patch\n";
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
# Generate a list of patches to apply.
|
||||||
|
|
||||||
|
my %symbols = map { $_ => 1 } @ARGV;
|
||||||
|
|
||||||
|
parse($fh, sub {
|
||||||
|
my ($patch, @guards) = @_;
|
||||||
|
|
||||||
|
my $selected;
|
||||||
|
if (@guards) {
|
||||||
|
# If the first guard is -xxx, the patch is included by default;
|
||||||
|
# if it is +xxx, the patch is excluded by default.
|
||||||
|
$selected = ($guards[0] =~ /^-/);
|
||||||
|
|
||||||
|
foreach (@guards) {
|
||||||
|
/^([-+])(!?)(.*)?/
|
||||||
|
or die "Bad guard '$_'\n";
|
||||||
|
|
||||||
|
# Check if the guard matches
|
||||||
|
if (($2 eq '!' && !exists $symbols{$3}) ||
|
||||||
|
($2 eq '' && ( $3 eq '' || exists $symbols{$3}))) {
|
||||||
|
# Include or exclude
|
||||||
|
$selected = ($1 eq '+');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
# If there are no guards, use the specified default result.
|
||||||
|
$selected = $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
print "$dir$patch\n"
|
||||||
|
if $selected ^ $invert_match;
|
||||||
|
});
|
||||||
|
|
||||||
|
$fh->close();
|
||||||
|
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
guards - select from a list of files guarded by conditions
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
F<guards> [--prefix=F<dir>] [--path=F<dir1:dir2:...>] [--default=<0|1>]
|
||||||
|
[--check|--list] [--invert-match] [--with-guards] [--config=<file>]
|
||||||
|
I<symbol> ...
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
The script reads a configuration file that may contain so-called guards, file
|
||||||
|
names, and comments, and writes those file names that satisfy all guards to
|
||||||
|
standard output. The script takes a list of symbols as its arguments. Each line
|
||||||
|
in the configuration file is processed separately. Lines may start with a
|
||||||
|
number of guards. The following guards are defined:
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
+I<xxx> Include the file(s) on this line if the symbol I<xxx> is defined.
|
||||||
|
|
||||||
|
-I<xxx> Exclude the file(s) on this line if the symbol I<xxx> is defined.
|
||||||
|
|
||||||
|
+!I<xxx> Include the file(s) on this line if the symbol I<xxx> is not defined.
|
||||||
|
|
||||||
|
-!I<xxx> Exclude the file(s) on this line if the symbol I<xxx> is not defined.
|
||||||
|
|
||||||
|
- Exclude this file. Used to avoid spurious I<--check> messages.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
The guards are processed left to right. The last guard that matches determines
|
||||||
|
if the file is included. If no guard is specified, the I<--default>
|
||||||
|
setting determines if the file is included.
|
||||||
|
|
||||||
|
If no configuration file is specified, the script reads from standard input.
|
||||||
|
|
||||||
|
The I<--check> option is used to compare the specification file against the
|
||||||
|
file system. If files are referenced in the specification that do not exist, or
|
||||||
|
if files are not enlisted in the specification file warnings are printed. The
|
||||||
|
I<--path> option can be used to specify which directory or directories to scan.
|
||||||
|
Multiple directories are separated by a colon (C<:>) character. The
|
||||||
|
I<--prefix> option specifies the location of the files. Alternatively, the
|
||||||
|
I<--path=@E<lt>fileE<gt>> syntax can be used to specify a file from which the
|
||||||
|
file names will be read.
|
||||||
|
|
||||||
|
Use I<--list> to list all files independent of any rules. Use I<--invert-match>
|
||||||
|
to list only the excluded patches. Use I<--with-guards> to also include all
|
||||||
|
inclusion and exclusion rules.
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Andreas Gruenbacher <agruen@suse.de>, SUSE Labs
|
BIN
iproute2-6.12.0.tar.sign
Normal file
BIN
iproute2-6.12.0.tar.sign
Normal file
Binary file not shown.
BIN
iproute2-6.12.0.tar.xz
(Stored with Git LFS)
Normal file
BIN
iproute2-6.12.0.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:2f643d09ea11a4a2a043c92e2b469b5f73228cbf241ae806760296ed0ec413d0
|
|
||||||
size 918144
|
|
@@ -1,64 +1,29 @@
|
|||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu May 16 07:42:58 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
Wed Apr 16 21:19:44 UTC 2025 - Michal Kubecek <mkubecek@suse.cz>
|
||||||
|
|
||||||
- Update to release 6.9
|
- add post-6.12 upstream fixes (bsc#1241316)
|
||||||
* ss: add option to suppress queue columns
|
* ip-fix-memory-leak-in-do_show.patch
|
||||||
* m_mirred: allow mirred to block
|
* devlink-do-dry-parse-for-extended-handle-with-select.patch
|
||||||
* tc: add NLM_F_ECHO support for actions and filters
|
* devlink-use-the-correct-handle-flag-for-port-param-s.patch
|
||||||
* ip/bond: add coupled_control support
|
|
||||||
* ss: add support for BPF socket-local storage
|
|
||||||
* ip: ioam6: add monitor command
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Mar 13 14:41:18 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
Wed Apr 16 20:48:41 UTC 2025 - Michal Kubecek <mkubecek@suse.cz>
|
||||||
|
|
||||||
- Update to release 6.8
|
- update to upstream version 6.12 (jsc#PED-11361)
|
||||||
* ip, link: Add support for netkit (a veth-like netdev with
|
* for detailed list of changes between 6.3 and 6.12 see Factory
|
||||||
BPF-programmable transmit queue)
|
package changelog
|
||||||
* ip route: add support for TCP microsecond timestamp
|
* replace upstream tarball and signature
|
||||||
* bridge: mdb: add flush support
|
* update specfile with changes from Factory package
|
||||||
|
* refresh non-upstream patches
|
||||||
-------------------------------------------------------------------
|
- adjust-installation-directories-for-openSUSE-SLE.patch
|
||||||
Wed Jan 31 18:09:41 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
- use-sysconf-_SC_CLK_TCK-if-HZ-undefined.patch
|
||||||
|
- add-explicit-typecast-to-avoid-gcc-warning.patch
|
||||||
- Update to release 6.7
|
- split-link-and-compile-steps-for-binaries.patch
|
||||||
* devlink: Support setting port function ipsec_crypto cap and
|
- adapt the package for git based patch tracking
|
||||||
ipsec_packet cap
|
* move patches into patches.tar.xz
|
||||||
* iplink: bridge: Add support for bridge FDB learning limits
|
* add helper scripts apply-patches and guards
|
||||||
* bridge: fdb: support match on source VNI, nexthop ID,
|
* add series.conf file listing patches
|
||||||
destination VNI, destination port, destination IP address and
|
* update iproute2.spec to apply patches from patches.tar.xz
|
||||||
[no]router flag in the flush command
|
|
||||||
* bridge: mdb: Add get support
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Nov 30 22:40:27 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
|
|
||||||
|
|
||||||
- Update to release 6.6
|
|
||||||
* bridge: Add backup nexthop ID support
|
|
||||||
* tc: Classifier support for SPI field
|
|
||||||
* tc: support the netem seed parameter for loss and corruption
|
|
||||||
events
|
|
||||||
* tc: remove support for CBQ
|
|
||||||
* tc: remove support for RSVP classifier
|
|
||||||
* tc: remove tcindex classifier
|
|
||||||
* tc: remove dsmark qdisc
|
|
||||||
* tc: drop support for ATM qdisc
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Sep 12 14:22:29 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
|
|
||||||
|
|
||||||
- Update to release 6.5
|
|
||||||
* rdma: Report device protocol
|
|
||||||
* ip: error out if iplink does not consume all options
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Jul 14 11:44:38 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
|
|
||||||
|
|
||||||
- Update to release 6.4
|
|
||||||
* bridge: mdb: added underlay destination IP support, UDP
|
|
||||||
destination port support, destination VNI support, source VNI
|
|
||||||
support, outgoing interface support
|
|
||||||
* macvlan: added the "bclim" parameter
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu May 4 07:20:24 UTC 2023 - Paolo Stivanin <info@paolostivanin.com>
|
Thu May 4 07:20:24 UTC 2023 - Paolo Stivanin <info@paolostivanin.com>
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package iproute2
|
# spec file for package iproute2
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -15,10 +15,15 @@
|
|||||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Contents of this package is exported from git repository; please submit
|
||||||
|
# your changes via https://gitlab.suse.de/mkubecek/iproute2-source or
|
||||||
|
# gitlab@gitlab.suse.de:mkubecek/iproute2-source.git rather than to IBS.
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
%define _buildshell /bin/bash
|
%define _buildshell /bin/bash
|
||||||
Name: iproute2
|
Name: iproute2
|
||||||
Version: 6.9
|
Version: 6.12
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Linux network configuration utilities
|
Summary: Linux network configuration utilities
|
||||||
License: GPL-2.0-only
|
License: GPL-2.0-only
|
||||||
@@ -33,10 +38,10 @@ Source: https://kernel.org/pub/linux/utils/net/iproute2/%name-%version.0
|
|||||||
Source2: https://kernel.org/pub/linux/utils/net/iproute2/%name-%version.0.tar.sign
|
Source2: https://kernel.org/pub/linux/utils/net/iproute2/%name-%version.0.tar.sign
|
||||||
Source3: %name.tmpfiles
|
Source3: %name.tmpfiles
|
||||||
Source9: %name.keyring
|
Source9: %name.keyring
|
||||||
Patch1: adjust-installation-directories-for-openSUSE-SLE.patch
|
Source11: patches.tar.xz
|
||||||
Patch2: use-sysconf-_SC_CLK_TCK-if-HZ-undefined.patch
|
Source12: series.conf
|
||||||
Patch3: add-explicit-typecast-to-avoid-gcc-warning.patch
|
Source13: guards
|
||||||
Patch6: split-link-and-compile-steps-for-binaries.patch
|
Source14: apply-patches
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: db-devel
|
BuildRequires: db-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@@ -74,9 +79,9 @@ New programs should use libmnl-devel instead.
|
|||||||
Summary: Bash completion for iproute
|
Summary: Bash completion for iproute
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
Group: System/Shells
|
Group: System/Shells
|
||||||
Requires: %name
|
Requires: %{name}
|
||||||
Requires: bash-completion
|
Requires: bash-completion
|
||||||
Supplements: (%name and bash-completion)
|
Supplements: (%{name} and bash-completion)
|
||||||
|
|
||||||
%description bash-completion
|
%description bash-completion
|
||||||
bash command line completion support for iproute.
|
bash command line completion support for iproute.
|
||||||
@@ -85,7 +90,7 @@ bash command line completion support for iproute.
|
|||||||
Summary: Userspace ARP daemon
|
Summary: Userspace ARP daemon
|
||||||
License: GPL-2.0-only
|
License: GPL-2.0-only
|
||||||
Group: Productivity/Networking/Routing
|
Group: Productivity/Networking/Routing
|
||||||
Provides: iproute2:%_sbindir/arpd
|
Provides: iproute2:%{_sbindir}/arpd
|
||||||
|
|
||||||
%description arpd
|
%description arpd
|
||||||
The arpd daemon collects gratuitous ARP information, saving it on
|
The arpd daemon collects gratuitous ARP information, saving it on
|
||||||
@@ -94,7 +99,9 @@ broadcasting due to limited standard size (512..1024 entries,
|
|||||||
depending on type) of the kernel ARP cache.
|
depending on type) of the kernel ARP cache.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %name-%version.0
|
%setup -n %{name}-%{version}.0 -a 11
|
||||||
|
chmod a+rx %{SOURCE13} %{SOURCE14}
|
||||||
|
%{SOURCE13} <%{SOURCE12} | %{SOURCE14} && rm -rf patches
|
||||||
|
|
||||||
find . -name *.orig -delete
|
find . -name *.orig -delete
|
||||||
|
|
||||||
@@ -122,7 +129,7 @@ chmod -x "$b/%_libdir/libnetlink.a"
|
|||||||
install -pm0644 "include/libnetlink.h" "$b/%_includedir/"
|
install -pm0644 "include/libnetlink.h" "$b/%_includedir/"
|
||||||
chmod -x "$b/%_includedir/libnetlink.h"
|
chmod -x "$b/%_includedir/libnetlink.h"
|
||||||
install -Dm0644 "%SOURCE3" "$b/%_tmpfilesdir/%name.conf"
|
install -Dm0644 "%SOURCE3" "$b/%_tmpfilesdir/%name.conf"
|
||||||
%if 0%{?suse_version} >= 1550
|
%if 0%{?usrmerged} || (0%{?suse_version} >= 1550)
|
||||||
ln -sf "%_sbindir/ip" "$b/%_bindir/ip"
|
ln -sf "%_sbindir/ip" "$b/%_bindir/ip"
|
||||||
%else
|
%else
|
||||||
ln -s "%_sbindir/ip" "$b/sbin/"
|
ln -s "%_sbindir/ip" "$b/sbin/"
|
||||||
@@ -136,7 +143,7 @@ mkdir -p "$b/%_docdir/%name"
|
|||||||
cp -an README* examples/bpf "$b/%_docdir/%name/"
|
cp -an README* examples/bpf "$b/%_docdir/%name/"
|
||||||
|
|
||||||
# bugzilla.opensuse.org/1205632
|
# bugzilla.opensuse.org/1205632
|
||||||
# You can't parse routel output anyway so it does not matter what we output
|
# You can't parse routel output anyway so it does not matter what our replacement program outputs
|
||||||
rm -v "$b/%_mandir/man8/routel.8"
|
rm -v "$b/%_mandir/man8/routel.8"
|
||||||
cat >"$b/%_sbindir/routel" <<-EOF
|
cat >"$b/%_sbindir/routel" <<-EOF
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
@@ -157,7 +164,7 @@ EOF
|
|||||||
%_tmpfilesdir/%name.conf
|
%_tmpfilesdir/%name.conf
|
||||||
%ghost %dir %_rundir/netns
|
%ghost %dir %_rundir/netns
|
||||||
%exclude %_sbindir/arpd
|
%exclude %_sbindir/arpd
|
||||||
%if 0%{?suse_version} >= 1550
|
%if 0%{?usrmerged} || (0%{?suse_version} >= 1550)
|
||||||
%_bindir/ip
|
%_bindir/ip
|
||||||
%else
|
%else
|
||||||
/sbin/*
|
/sbin/*
|
||||||
@@ -166,7 +173,7 @@ EOF
|
|||||||
%_mandir/man7/*
|
%_mandir/man7/*
|
||||||
%_mandir/man8/*
|
%_mandir/man8/*
|
||||||
%exclude %_mandir/man8/arpd.8*
|
%exclude %_mandir/man8/arpd.8*
|
||||||
%_datadir/iproute2/
|
%{_datadir}/iproute2/
|
||||||
%_libdir/tc/
|
%_libdir/tc/
|
||||||
%_datadir/tc/
|
%_datadir/tc/
|
||||||
%_docdir/%name/
|
%_docdir/%name/
|
||||||
|
BIN
patches.tar.xz
(Stored with Git LFS)
Normal file
BIN
patches.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
12
series.conf
Normal file
12
series.conf
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# generated by scripts/import-patches
|
||||||
|
|
||||||
|
# upstream 6.13
|
||||||
|
ip-fix-memory-leak-in-do_show.patch
|
||||||
|
devlink-do-dry-parse-for-extended-handle-with-select.patch
|
||||||
|
devlink-use-the-correct-handle-flag-for-port-param-s.patch
|
||||||
|
|
||||||
|
# out of tree patches
|
||||||
|
adjust-installation-directories-for-openSUSE-SLE.patch
|
||||||
|
use-sysconf-_SC_CLK_TCK-if-HZ-undefined.patch
|
||||||
|
add-explicit-typecast-to-avoid-gcc-warning.patch
|
||||||
|
split-link-and-compile-steps-for-binaries.patch
|
@@ -1,49 +0,0 @@
|
|||||||
From: Marcus Meissner <meissner@suse.com>
|
|
||||||
Date: Sat, 10 Jun 2017 14:29:22 +0000
|
|
||||||
Subject: split link and compile steps for binaries
|
|
||||||
Patch-mainline: Submitted - 20170804
|
|
||||||
|
|
||||||
Do not compile and link in one step so that CFLAGS and LDFLAGS are only
|
|
||||||
applied to the phase they are intended for. This is needed for PIE default
|
|
||||||
to work.
|
|
||||||
---
|
|
||||||
misc/Makefile | 17 +++++++++--------
|
|
||||||
1 file changed, 9 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
Index: iproute2-6.3.0/misc/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- iproute2-6.3.0.orig/misc/Makefile
|
|
||||||
+++ iproute2-6.3.0/misc/Makefile
|
|
||||||
@@ -9,23 +9,24 @@ include ../config.mk
|
|
||||||
ifeq ($(HAVE_BERKELEY_DB),y)
|
|
||||||
TARGETS += arpd
|
|
||||||
endif
|
|
||||||
+CFLAGS += -I$(DBM_INCLUDE)
|
|
||||||
|
|
||||||
all: $(TARGETS)
|
|
||||||
|
|
||||||
ss: $(SSOBJ)
|
|
||||||
$(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@
|
|
||||||
|
|
||||||
-nstat: nstat.c
|
|
||||||
- $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o nstat nstat.c $(LDLIBS) -lm
|
|
||||||
+nstat: nstat.o
|
|
||||||
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o nstat nstat.o $(LDLIBS) -lm
|
|
||||||
|
|
||||||
-ifstat: ifstat.c
|
|
||||||
- $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o ifstat ifstat.c $(LDLIBS) -lm
|
|
||||||
+ifstat: ifstat.o
|
|
||||||
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o ifstat ifstat.o $(LDLIBS) -lm
|
|
||||||
|
|
||||||
-rtacct: rtacct.c
|
|
||||||
- $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o rtacct rtacct.c $(LDLIBS) -lm
|
|
||||||
+rtacct: rtacct.o
|
|
||||||
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o rtacct rtacct.o $(LDLIBS) -lm
|
|
||||||
|
|
||||||
-arpd: arpd.c
|
|
||||||
- $(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(CPPFLAGS) $(LDFLAGS) -o arpd arpd.c $(LDLIBS) -ldb
|
|
||||||
+arpd: arpd.o
|
|
||||||
+ $(QUIET_CC)$(CC) $(LDFLAGS) -o arpd arpd.o $(LDLIBS) -ldb
|
|
||||||
|
|
||||||
ssfilter.tab.c: ssfilter.y
|
|
||||||
$(QUIET_YACC)$(YACC) -b ssfilter ssfilter.y
|
|
@@ -1,24 +0,0 @@
|
|||||||
From: Michal Kubecek <mkubecek@suse.cz>
|
|
||||||
Date: Fri, 15 Jan 2016 07:30:15 +0100
|
|
||||||
Subject: use sysconf(_SC_CLK_TCK) if HZ undefined
|
|
||||||
Patch-mainline: No
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/utils.c | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
Index: iproute2-6.6.0/lib/utils.c
|
|
||||||
===================================================================
|
|
||||||
--- iproute2-6.6.0.orig/lib/utils.c
|
|
||||||
+++ iproute2-6.6.0/lib/utils.c
|
|
||||||
@@ -138,6 +138,10 @@ int get_long(long *val, const char *arg,
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef HZ
|
|
||||||
+#define HZ sysconf(_SC_CLK_TCK)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
int get_integer(int *val, const char *arg, int base)
|
|
||||||
{
|
|
||||||
long res;
|
|
Reference in New Issue
Block a user