13 Commits

Author SHA1 Message Date
Christian Marangi
22eb7b09dc libpfring: backport patches fixing compilation warning on 6.12+
Backport patches fixing compilation warning on 6.12+ kernel version.

  CC [M]  /home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.o
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:284:1: error: 'static' is not at beginning of declaration [-Werror=old-style-declaration]
  284 | const static ip_addr ip_zero = { IN6ADDR_ANY_INIT };
      | ^~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:467:7: error: no previous prototype for 'get_num_rx_queues' [-Werror=missing-prototypes]
  467 | u_int get_num_rx_queues(struct net_device *dev)
      |       ^~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:485:7: error: no previous prototype for 'lock_rss_queues' [-Werror=missing-prototypes]
  485 | u_int lock_rss_queues(struct net_device *dev)
      |       ^~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:744:14: error: no previous prototype for 'netns_lookup' [-Werror=missing-prototypes]
  744 | pf_ring_net *netns_lookup(struct net *net) {
      |              ^~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:762:14: error: no previous prototype for 'netns_add' [-Werror=missing-prototypes]
  762 | pf_ring_net *netns_add(struct net *net) {
      |              ^~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:1017:17: error: no previous prototype for 'pf_ring_device_ifindex_lookup' [-Werror=missing-prototypes]
 1017 | pf_ring_device *pf_ring_device_ifindex_lookup(struct net *net, int ifindex) {
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:1031:17: error: no previous prototype for 'pf_ring_device_name_lookup' [-Werror=missing-prototypes]
 1031 | pf_ring_device *pf_ring_device_name_lookup(struct net *net /* namespace */, char *name) {
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:3467:5: error: no previous prototype for 'check_perfect_rules' [-Werror=missing-prototypes]
 3467 | int check_perfect_rules(struct sk_buff *skb,
      |     ^~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:3541:5: error: no previous prototype for 'check_wildcard_rules' [-Werror=missing-prototypes]
 3541 | int check_wildcard_rules(struct sk_buff *skb,
      |     ^~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:3657:5: error: no previous prototype for 'bpf_filter_skb' [-Werror=missing-prototypes]
 3657 | int bpf_filter_skb(struct sk_buff *skb,
      |     ^~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:3711:5: error: no previous prototype for 'sample_packet' [-Werror=missing-prototypes]
 3711 | int sample_packet(struct pf_ring_socket *pfr) {
      |     ^~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:3731:11: error: no previous prototype for 'default_rehash_rss_func' [-Werror=missing-prototypes]
 3731 | u_int32_t default_rehash_rss_func(struct sk_buff *skb, struct pfring_pkthdr *hdr)
      |           ^~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:4477:6: error: no previous prototype for 'register_device_handler' [-Werror=missing-prototypes]
 4477 | void register_device_handler(void)
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:4486:6: error: no previous prototype for 'unregister_device_handler' [-Werror=missing-prototypes]
 4486 | void unregister_device_handler(void)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:4724:6: error: no previous prototype for 'reserve_memory' [-Werror=missing-prototypes]
 4724 | void reserve_memory(unsigned long base, unsigned long mem_len)
      |      ^~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:4733:6: error: no previous prototype for 'unreserve_memory' [-Werror=missing-prototypes]
 4733 | void unreserve_memory(unsigned long base, unsigned long mem_len)
      |      ^~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:6038:14: error: no previous prototype for 'ring_poll' [-Werror=missing-prototypes]
 6038 | unsigned int ring_poll(struct file *file,
      |              ^~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:6130:23: error: no previous prototype for 'cluster_lookup' [-Werror=missing-prototypes]
 6130 | ring_cluster_element *cluster_lookup(u_int32_t cluster_id) {
      |                       ^~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:6149:5: error: no previous prototype for 'get_first_available_cluster_queue' [-Werror=missing-prototypes]
 6149 | int get_first_available_cluster_queue(ring_cluster_element *el)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:6162:24: error: no previous prototype for 'get_first_cluster_consumer' [-Werror=missing-prototypes]
 6162 | struct pf_ring_socket *get_first_cluster_consumer(ring_cluster_element *el)
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:6179:5: error: no previous prototype for 'add_sock_to_cluster_list' [-Werror=missing-prototypes]
 6179 | int add_sock_to_cluster_list(ring_cluster_element *el, struct sock *sk, u_int16_t consumer_id)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:6231:5: error: no previous prototype for 'remove_from_cluster_list' [-Werror=missing-prototypes]
 6231 | int remove_from_cluster_list(struct ring_cluster *cluster_ptr, struct sock *sock)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:6840:5: error: no previous prototype for 'setSocketStats' [-Werror=missing-prototypes]
 6840 | int setSocketStats(struct pf_ring_socket *pfr)
      |     ^~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:8266:6: error: no previous prototype for 'pf_ring_zc_dev_register' [-Werror=missing-prototypes]
 8266 | void pf_ring_zc_dev_register(zc_dev_callbacks *callbacks,
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:8351:6: error: no previous prototype for 'pf_ring_zc_dev_unregister' [-Werror=missing-prototypes]
 8351 | void pf_ring_zc_dev_unregister(struct net_device *dev, u_int channel_id)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:8505:6: error: no previous prototype for 'remove_device_from_proc' [-Werror=missing-prototypes]
 8505 | void remove_device_from_proc(pf_ring_net *netns, pf_ring_device *dev_ptr) {
      |      ^~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:8540:6: error: no previous prototype for 'remove_device_from_ring_list' [-Werror=missing-prototypes]
 8540 | void remove_device_from_ring_list(struct net_device *dev)
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:8607:6: error: no previous prototype for 'add_device_to_proc' [-Werror=missing-prototypes]
 8607 | void add_device_to_proc(pf_ring_net *netns, pf_ring_device *dev_ptr) {
      |      ^~~~~~~~~~~~~~~~~~
/home/runner/work/openwrt-rebuilder/openwrt-rebuilder/original/build/SNAPSHOT/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7621/libpfring-8.6.1/kernel/pf_ring.c:8637:5: error: no previous prototype for 'add_device_to_ring_list' [-Werror=missing-prototypes]
 8637 | int add_device_to_ring_list(struct net_device *dev, int32_t dev_index)
      |     ^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

While at it also refresh all the previous patch.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-08-23 01:10:39 +08:00
Rosen Penev
6787f2420f libpfring: update to 8.6.1
Remove upstreamed patch, backport one, and switch one from downstream to
upstream patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-05-15 19:43:06 -07:00
Christian Marangi
c3a50a9fac libpfring: backport patch fixing compilation error for sa_data
Backport patch fixing compilation error for sa_data not well defined.
This is triggered only on platform that makes use of fortify string and
cause compilation error due to the fact that sa_data is not well defined
and his size is arbitrary.

Patch has been accepted in the PF_RING project and this is just a
backport.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-03-19 11:40:36 +01:00
John Thomson
534bd518f3 libpfring: update to 8.4.0
Release notes:
https://github.com/ntop/PF_RING/releases/tag/8.4.0

Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
2023-06-25 07:05:37 +03:00
Christian Marangi
2f86385ff5 libpfring: fix compilation warning
Fix simple compilation warning with checking statically allocated
variables and missing fallthrough.
Fix compilation warning:
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c: In function 'ring_release':
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c:5489:6: error: the comparison will always evaluate as 'true' for the address of 'name' will never be NULL [-Werror=address]
 5489 |      && pfr->zc_device_entry->zc_dev.dev->name) {
      |      ^~
In file included from ./include/linux/rtnetlink.h:7,
                 from /home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c:84:
./include/linux/netdevice.h:1986:33: note: 'name' declared here
 1986 |         char                    name[IFNAMSIZ];
      |                                 ^~~~
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c: In function 'ring_bind':
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c:5620:18: error: the comparison will always evaluate as 'false' for the address of 'sa_data' will never be NULL [-Werror=address]
 5620 |   if(sa->sa_data == NULL)
      |                  ^~
In file included from /home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c:82:
./include/linux/socket.h:34:25: note: 'sa_data' declared here
   34 |         char            sa_data[14];    /* 14 bytes of protocol address */
      |                         ^~~~~~~
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c: In function 'hash_pkt_cluster':
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c:3937:7: error: this statement may fall through [-Werror=implicit-fallthrough=]
 3937 |     if(l3_proto == IPPROTO_TCP)
      |       ^
/home/ansuel/openwrt-ansuel/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-ipq807x_generic/PF_RING-8.0.0/kernel/pf_ring.c:3944:3: note: here
 3944 |   case cluster_per_flow_2_tuple:
      |   ^~~~
cc1: all warnings being treated as errors

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-05-14 16:51:48 +02:00
Rosen Penev
f8f2146b1b libpfring: update to 8.0.0
Fixes compilation with kernel 5.15

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-30 20:43:38 -07:00
Ilya Lipnitskiy
5d8d4fbbcb treewide: Run refresh on all packages
The crude loop I wrote to come up with this changeset:

  find -L package/feeds/packages/ -name patches | \
  sed 's/patches$/refresh/' | sort | xargs make

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-02-20 16:02:15 -08:00
Ilya Lipnitskiy
1d5d2d2fb7 libpfring: update to 7.8.0
Add patch to fix compilation with kernel 5.10

Also submitted upstream:
https://github.com/ntop/PF_RING/pull/687
https://github.com/ntop/PF_RING/pull/688

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-01-31 18:17:46 -08:00
Rosen Penev
cf069190f2 libpfring: update to 7.6.0
Fixes compilation with kernel 5.4.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-21 18:03:40 -07:00
Rosen Penev
04b5e10911 libpfring: Fix compilation with kernel >= 4.16
Backported upstream patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-09 19:51:19 -08:00
Rosen Penev
433f882cd6 libpfring: Update to 7.4.0
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-12-26 11:11:02 -08:00
Rosen Penev
3ea82cd800 libpfring: Fix compilation when missing lex
Buildbots are missing lex, which is normally a symlink to flex. This
solution is used elsewhere in the package but missing here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-11-13 13:41:47 -08:00
BangLang Huang
bc01c8eae6 libpfring: add new package
PF_RING is a high speed packet capture library that turns a commodity PC into an efficient and cheap
network measurement box suitable for both packet and active traffic analysis and manipulation.
Moreover, PF_RING opens totally new markets as it enables the creation of efficient application such as
traffic balancers or packet filters in a matter of lines of codes.

github : https://github.com/ntop/pf_ring
official : https://www.ntop.org

Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
[rename kmod-pfring to kmod-pf-ring]
2018-10-02 20:43:48 +03:00