lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 3 Feb 2016 11:45:06 +0000 From: Jakub Kicinski <jakub.kicinski@...ronome.com> To: davem@...emloft.net Cc: netdev@...r.kernel.org, Jakub Kicinski <jakub.kicinski@...ronome.com> Subject: [RFC (v3) 00/19] MTU changes and other fixes Hi Dave, I'm posting this as RFC because I think +625/-339 of mostly code refactoring is not good for net, my intention is to show you I did the homework and then repost this as two parts - for net and for net-next. In retrospect I could've just asked you right away where you intend this series to go... First four patches are what you already seen - those plus number 5 I would be glad to see in net. Patches 6-13 refactor open/stop paths to follow this: - alloc; - dev/FW init; - stack init/start. stop: - stack stop; - dev/FW down; - free. That's a quite a bit of code churn I did my best to split it up but probably still not much fun to review. Patch 14 splits the open/stop into chunks I can call later. Patch 15 makes sure that FW start/stop operations are reflected in SW state (which was not needed earlier since we always did full down/up). Patches 16 and 18 are trivial, split for readability. Patch 17 does what you requested for MTU change: - alloc new resources; - stop dev; - try to start dev with new config; - if failed try with old config; - if failed die loudly. Patch 19 does the same thing for ring resize. I tested this with various error injection hacks and it seems quite solid. Please let me know if 1-5/6-19 split makes sense to you or if you prefer to take them all into one tree (and I should squash #1 and #2 into proper rework (#17)). Thanks! Jakub Kicinski (19): nfp: return error if MTU change fails nfp: free buffers before changing MTU nfp: correct RX buffer length calculation nfp: fix RX buffer length validation nfp: don't trust netif_running() in debug code nfp: move link state interrupt request/free calls nfp: break up nfp_net_{alloc|free}_rings nfp: make *x_ring_init do all the init nfp: allocate ring SW structs dynamically nfp: cleanup tx ring flush and rename to reset nfp: reorganize initial filling of RX rings nfp: preallocate RX buffers early in .ndo_open nfp: move filling ring information to FW config nfp: slice .ndo_open() and .ndo_stop() up nfp: sync ring state during FW reconfiguration nfp: propagate list buffer size in struct rx_ring nfp: convert .ndo_change_mtu() to prepare/commit paradigm nfp: pass ring count as function parameter nfp: allow ring size reconfiguration at runtime drivers/net/ethernet/netronome/nfp/nfp_net.h | 10 +- .../net/ethernet/netronome/nfp/nfp_net_common.c | 920 ++++++++++++++------- .../net/ethernet/netronome/nfp/nfp_net_debugfs.c | 4 +- .../net/ethernet/netronome/nfp/nfp_net_ethtool.c | 30 +- 4 files changed, 625 insertions(+), 339 deletions(-) -- 1.9.1
Powered by blists - more mailing lists