mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 02:34:10 -04:00
Merge branch 'pktgen-code-cleanup'
Peter Seiderer says: ==================== net: pktgen: fix checkpatch code style errors/warnings Fix checkpatch detected code style errors/warnings detected in the file net/core/pktgen.c (remaining checkpatch checks will be addressed in a follow up patch set). ==================== Link: https://patch.msgid.link/20250410071749.30505-1-ps.report@gmx.net Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -177,7 +177,7 @@
|
||||
#define MAX_IMIX_ENTRIES 20
|
||||
#define IMIX_PRECISION 100 /* Precision of IMIX distribution */
|
||||
|
||||
#define func_enter() pr_debug("entering %s\n", __func__);
|
||||
#define func_enter() pr_debug("entering %s\n", __func__)
|
||||
|
||||
#define PKT_FLAGS \
|
||||
pf(IPV6) /* Interface in IPV6 Mode */ \
|
||||
@@ -231,8 +231,8 @@ static char *pkt_flag_names[] = {
|
||||
#define M_QUEUE_XMIT 2 /* Inject packet into qdisc */
|
||||
|
||||
/* If lock -- protects updating of if_list */
|
||||
#define if_lock(t) mutex_lock(&(t->if_lock));
|
||||
#define if_unlock(t) mutex_unlock(&(t->if_lock));
|
||||
#define if_lock(t) mutex_lock(&(t->if_lock))
|
||||
#define if_unlock(t) mutex_unlock(&(t->if_lock))
|
||||
|
||||
/* Used to help with determining the pkts on receive */
|
||||
#define PKTGEN_MAGIC 0xbe9be955
|
||||
@@ -283,7 +283,8 @@ struct pktgen_dev {
|
||||
int pkt_overhead; /* overhead for MPLS, VLANs, IPSEC etc */
|
||||
int nfrags;
|
||||
int removal_mark; /* non-zero => the device is marked for
|
||||
* removal by worker thread */
|
||||
* removal by worker thread
|
||||
*/
|
||||
|
||||
struct page *page;
|
||||
u64 delay; /* nano-seconds */
|
||||
@@ -346,10 +347,12 @@ struct pktgen_dev {
|
||||
__u16 udp_dst_max; /* exclusive, dest UDP port */
|
||||
|
||||
/* DSCP + ECN */
|
||||
__u8 tos; /* six MSB of (former) IPv4 TOS
|
||||
are for dscp codepoint */
|
||||
__u8 traffic_class; /* ditto for the (former) Traffic Class in IPv6
|
||||
(see RFC 3260, sec. 4) */
|
||||
__u8 tos; /* six MSB of (former) IPv4 TOS
|
||||
* are for dscp codepoint
|
||||
*/
|
||||
__u8 traffic_class; /* ditto for the (former) Traffic Class in IPv6
|
||||
* (see RFC 3260, sec. 4)
|
||||
*/
|
||||
|
||||
/* IMIX */
|
||||
unsigned int n_imix_entries;
|
||||
@@ -389,12 +392,12 @@ struct pktgen_dev {
|
||||
|
||||
__u8 hh[14];
|
||||
/* = {
|
||||
0x00, 0x80, 0xC8, 0x79, 0xB3, 0xCB,
|
||||
|
||||
We fill in SRC address later
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00
|
||||
};
|
||||
* 0x00, 0x80, 0xC8, 0x79, 0xB3, 0xCB,
|
||||
*
|
||||
* We fill in SRC address later
|
||||
* 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
* 0x08, 0x00
|
||||
* };
|
||||
*/
|
||||
__u16 pad; /* pad out the hh struct to an even 16 bytes */
|
||||
|
||||
@@ -458,7 +461,8 @@ struct pktgen_thread {
|
||||
char result[512];
|
||||
|
||||
/* Field for thread to receive "posted" events terminate,
|
||||
stop ifs etc. */
|
||||
* stop ifs etc.
|
||||
*/
|
||||
|
||||
u32 control;
|
||||
int cpu;
|
||||
@@ -472,8 +476,7 @@ struct pktgen_thread {
|
||||
#define FIND 0
|
||||
|
||||
static const char version[] =
|
||||
"Packet Generator for packet performance testing. "
|
||||
"Version: " VERSION "\n";
|
||||
"Packet Generator for packet performance testing. Version: " VERSION "\n";
|
||||
|
||||
static int pktgen_remove_device(struct pktgen_thread *t, struct pktgen_dev *i);
|
||||
static int pktgen_add_device(struct pktgen_thread *t, const char *ifname);
|
||||
@@ -624,8 +627,7 @@ static int pktgen_if_show(struct seq_file *seq, void *v)
|
||||
seq_printf(seq, "%pM\n", pkt_dev->dst_mac);
|
||||
|
||||
seq_printf(seq,
|
||||
" udp_src_min: %d udp_src_max: %d"
|
||||
" udp_dst_min: %d udp_dst_max: %d\n",
|
||||
" udp_src_min: %d udp_src_max: %d udp_dst_min: %d udp_dst_max: %d\n",
|
||||
pkt_dev->udp_src_min, pkt_dev->udp_src_max,
|
||||
pkt_dev->udp_dst_min, pkt_dev->udp_dst_max);
|
||||
|
||||
@@ -754,6 +756,7 @@ static ssize_t hex32_arg(const char __user *user_buffer, size_t maxlen,
|
||||
for (; i < maxlen; i++) {
|
||||
int value;
|
||||
char c;
|
||||
|
||||
if (get_user(c, &user_buffer[i]))
|
||||
return -EFAULT;
|
||||
value = hex_to_bin(c);
|
||||
@@ -773,6 +776,7 @@ static ssize_t count_trail_chars(const char __user *user_buffer, size_t maxlen)
|
||||
|
||||
for (i = 0; i < maxlen; i++) {
|
||||
char c;
|
||||
|
||||
if (get_user(c, &user_buffer[i]))
|
||||
return -EFAULT;
|
||||
switch (c) {
|
||||
@@ -799,6 +803,7 @@ static ssize_t num_arg(const char __user *user_buffer, size_t maxlen,
|
||||
|
||||
for (i = 0; i < maxlen; i++) {
|
||||
char c;
|
||||
|
||||
if (get_user(c, &user_buffer[i]))
|
||||
return -EFAULT;
|
||||
if ((c >= '0') && (c <= '9')) {
|
||||
@@ -816,6 +821,7 @@ static ssize_t strn_len(const char __user *user_buffer, size_t maxlen)
|
||||
|
||||
for (i = 0; i < maxlen; i++) {
|
||||
char c;
|
||||
|
||||
if (get_user(c, &user_buffer[i]))
|
||||
return -EFAULT;
|
||||
switch (c) {
|
||||
@@ -974,8 +980,8 @@ static __u32 pktgen_read_flag(const char *f, bool *disable)
|
||||
}
|
||||
|
||||
static ssize_t pktgen_if_write(struct file *file,
|
||||
const char __user * user_buffer, size_t count,
|
||||
loff_t * offset)
|
||||
const char __user *user_buffer, size_t count,
|
||||
loff_t *offset)
|
||||
{
|
||||
struct seq_file *seq = file->private_data;
|
||||
struct pktgen_dev *pkt_dev = seq->private;
|
||||
@@ -1909,8 +1915,8 @@ static int pktgen_thread_show(struct seq_file *seq, void *v)
|
||||
}
|
||||
|
||||
static ssize_t pktgen_thread_write(struct file *file,
|
||||
const char __user * user_buffer,
|
||||
size_t count, loff_t * offset)
|
||||
const char __user *user_buffer,
|
||||
size_t count, loff_t *offset)
|
||||
{
|
||||
struct seq_file *seq = file->private_data;
|
||||
struct pktgen_thread *t = seq->private;
|
||||
@@ -1962,6 +1968,7 @@ static ssize_t pktgen_thread_write(struct file *file,
|
||||
|
||||
if (!strcmp(name, "add_device")) {
|
||||
char f[32];
|
||||
|
||||
memset(f, 0, 32);
|
||||
max = min(sizeof(f) - 1, count - i);
|
||||
len = strn_len(&user_buffer[i], max);
|
||||
@@ -2397,13 +2404,14 @@ static inline int f_pick(struct pktgen_dev *pkt_dev)
|
||||
|
||||
/* If there was already an IPSEC SA, we keep it as is, else
|
||||
* we go look for it ...
|
||||
*/
|
||||
*/
|
||||
#define DUMMY_MARK 0
|
||||
static void get_ipsec_sa(struct pktgen_dev *pkt_dev, int flow)
|
||||
{
|
||||
#ifdef CONFIG_XFRM
|
||||
struct xfrm_state *x = pkt_dev->flows[flow].x;
|
||||
struct pktgen_net *pn = net_generic(dev_net(pkt_dev->odev), pg_net_id);
|
||||
|
||||
if (!x) {
|
||||
|
||||
if (pkt_dev->spi) {
|
||||
@@ -2436,6 +2444,7 @@ static void set_cur_queue_map(struct pktgen_dev *pkt_dev)
|
||||
|
||||
else if (pkt_dev->queue_map_min <= pkt_dev->queue_map_max) {
|
||||
__u16 t;
|
||||
|
||||
if (pkt_dev->flags & F_QUEUE_MAP_RND) {
|
||||
t = get_random_u32_inclusive(pkt_dev->queue_map_min,
|
||||
pkt_dev->queue_map_max);
|
||||
@@ -2517,6 +2526,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
|
||||
|
||||
if (pkt_dev->flags & F_MPLS_RND) {
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < pkt_dev->nr_labels; i++)
|
||||
if (pkt_dev->labels[i] & MPLS_STACK_BOTTOM)
|
||||
pkt_dev->labels[i] = MPLS_STACK_BOTTOM |
|
||||
@@ -2561,6 +2571,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
|
||||
imx = ntohl(pkt_dev->saddr_max);
|
||||
if (imn < imx) {
|
||||
__u32 t;
|
||||
|
||||
if (pkt_dev->flags & F_IPSRC_RND)
|
||||
t = get_random_u32_inclusive(imn, imx - 1);
|
||||
else {
|
||||
@@ -2581,6 +2592,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
|
||||
if (imn < imx) {
|
||||
__u32 t;
|
||||
__be32 s;
|
||||
|
||||
if (pkt_dev->flags & F_IPDST_RND) {
|
||||
|
||||
do {
|
||||
@@ -2628,6 +2640,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
|
||||
|
||||
if (pkt_dev->min_pkt_size < pkt_dev->max_pkt_size) {
|
||||
__u32 t;
|
||||
|
||||
if (pkt_dev->flags & F_TXSIZE_RND) {
|
||||
t = get_random_u32_inclusive(pkt_dev->min_pkt_size,
|
||||
pkt_dev->max_pkt_size - 1);
|
||||
@@ -2694,7 +2707,8 @@ static int pktgen_output_ipsec(struct sk_buff *skb, struct pktgen_dev *pkt_dev)
|
||||
if (!x)
|
||||
return 0;
|
||||
/* XXX: we dont support tunnel mode for now until
|
||||
* we resolve the dst issue */
|
||||
* we resolve the dst issue
|
||||
*/
|
||||
if ((x->props.mode != XFRM_MODE_TRANSPORT) && (pkt_dev->spi == 0))
|
||||
return 0;
|
||||
|
||||
@@ -2729,8 +2743,10 @@ static void free_SAs(struct pktgen_dev *pkt_dev)
|
||||
if (pkt_dev->cflows) {
|
||||
/* let go of the SAs if we have them */
|
||||
int i;
|
||||
|
||||
for (i = 0; i < pkt_dev->cflows; i++) {
|
||||
struct xfrm_state *x = pkt_dev->flows[i].x;
|
||||
|
||||
if (x) {
|
||||
xfrm_state_put(x);
|
||||
pkt_dev->flows[i].x = NULL;
|
||||
@@ -2745,6 +2761,7 @@ static int process_ipsec(struct pktgen_dev *pkt_dev,
|
||||
if (pkt_dev->flags & F_IPSEC) {
|
||||
struct xfrm_state *x = pkt_dev->flows[pkt_dev->curfl].x;
|
||||
int nhead = 0;
|
||||
|
||||
if (x) {
|
||||
struct ethhdr *eth;
|
||||
struct iphdr *iph;
|
||||
@@ -2788,6 +2805,7 @@ static int process_ipsec(struct pktgen_dev *pkt_dev,
|
||||
static void mpls_push(__be32 *mpls, struct pktgen_dev *pkt_dev)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < pkt_dev->nr_labels; i++)
|
||||
*mpls++ = pkt_dev->labels[i] & ~MPLS_STACK_BOTTOM;
|
||||
|
||||
@@ -2900,7 +2918,7 @@ static struct sk_buff *pktgen_alloc_skb(struct net_device *dev,
|
||||
skb->dev = dev;
|
||||
}
|
||||
} else {
|
||||
skb = __netdev_alloc_skb(dev, size, GFP_NOWAIT);
|
||||
skb = __netdev_alloc_skb(dev, size, GFP_NOWAIT);
|
||||
}
|
||||
|
||||
/* the caller pre-fetches from skb->data and reserves for the mac hdr */
|
||||
@@ -2981,7 +2999,7 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
|
||||
skb->priority = pkt_dev->skb_priority;
|
||||
|
||||
memcpy(eth, pkt_dev->hh, 12);
|
||||
*(__be16 *) & eth[12] = protocol;
|
||||
*(__be16 *)ð[12] = protocol;
|
||||
|
||||
/* Eth + IPh + UDPh + mpls */
|
||||
datalen = pkt_dev->cur_pkt_size - 14 - 20 - 8 -
|
||||
@@ -3473,6 +3491,7 @@ static void pktgen_rem_thread(struct pktgen_thread *t)
|
||||
static void pktgen_resched(struct pktgen_dev *pkt_dev)
|
||||
{
|
||||
ktime_t idle_start = ktime_get();
|
||||
|
||||
schedule();
|
||||
pkt_dev->idle_acc += ktime_to_ns(ktime_sub(ktime_get(), idle_start));
|
||||
}
|
||||
@@ -3788,7 +3807,8 @@ static int add_dev_to_thread(struct pktgen_thread *t,
|
||||
* userspace on another CPU than the kthread. The if_lock()
|
||||
* is used here to sync with concurrent instances of
|
||||
* _rem_dev_from_if_list() invoked via kthread, which is also
|
||||
* updating the if_list */
|
||||
* updating the if_list
|
||||
*/
|
||||
if_lock(t);
|
||||
|
||||
if (pkt_dev->pg_thread) {
|
||||
@@ -3983,7 +4003,8 @@ static int pktgen_remove_device(struct pktgen_thread *t,
|
||||
|
||||
/* Remove proc before if_list entry, because add_device uses
|
||||
* list to determine if interface already exist, avoid race
|
||||
* with proc_create_data() */
|
||||
* with proc_create_data()
|
||||
*/
|
||||
proc_remove(pkt_dev->entry);
|
||||
|
||||
/* And update the thread if_list */
|
||||
|
||||
Reference in New Issue
Block a user