linux-stable/net/batman-adv
Jakub Kicinski 20b0b53aca genetlink: introduce split op representation
We currently have two forms of operations - small ops and "full" ops
(or just ops). The former does not have pointers for some of the less
commonly used features (namely dump start/done and policy).

The "full" ops, however, still don't contain all the necessary
information. In particular the policy is per command ID, while
do and dump often accept different attributes. It's also not
possible to define different pre_doit and post_doit callbacks
for different commands within the family.

At the same time a lot of commands do not support dumping and
therefore all the dump-related information is wasted space.

Create a new command representation which can hold info about
a do implementation or a dump implementation, but not both at
the same time.

Use this new representation on the command execution path
(genl_family_rcv_msg) as we either run a do or a dump and
don't have to create a "full" op there.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-11-07 12:30:16 +00:00
..
bat_algo.c
bat_algo.h
bat_iv_ogm.c
bat_iv_ogm.h
bat_v.c
bat_v.h
bat_v_elp.c batman-adv: Drop initialization of flexible ethtool_link_ksettings 2022-08-20 09:40:51 +02:00
bat_v_elp.h
bat_v_ogm.c
bat_v_ogm.h
bitarray.c
bitarray.h
bridge_loop_avoidance.c batman-adv: remove unnecessary type castings 2022-04-22 11:23:46 +02:00
bridge_loop_avoidance.h
distributed-arp-table.c
distributed-arp-table.h
fragmentation.c batman-adv: Don't skb_split skbuffs with frag_list 2022-04-17 23:41:44 +02:00
fragmentation.h
gateway_client.c
gateway_client.h
gateway_common.c
gateway_common.h
hard-interface.c batman-adv: Fix hang up with small MTU hard-interface 2022-08-20 14:17:45 +02:00
hard-interface.h
hash.c
hash.h
Kconfig
log.c
log.h
main.c
main.h batman-adv: Start new development cycle 2022-08-17 12:09:21 +02:00
Makefile
multicast.c
multicast.h
netlink.c genetlink: introduce split op representation 2022-11-07 12:30:16 +00:00
netlink.h
network-coding.c
network-coding.h
originator.c
originator.h
routing.c
routing.h
send.c
send.h
soft-interface.c
soft-interface.h
tp_meter.c
tp_meter.h
trace.c
trace.h batman-adv: Drop unused headers in trace.h 2022-08-17 12:10:43 +02:00
translation-table.c batman-adv: remove unnecessary type castings 2022-04-22 11:23:46 +02:00
translation-table.h
tvlv.c
tvlv.h
types.h batman-adv: remove unused struct definitions 2022-09-15 08:16:05 +02:00