lkml.org 
[lkml]   [2022]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH net-next 2/3] net: skb: use auto-generation to convert skb drop reason to string
On Fri, 27 May 2022 15:15:21 +0800 menglong8.dong@gmail.com wrote:
> +clean-files := dropreason_str.h
> +
> +quiet_cmd_dropreason_str = GEN $@
> +cmd_dropreason_str = echo '\n\#define __DEFINE_SKB_DROP_REASON(FN) \' > $@;\

echo -n

> + sed -e '/enum skb_drop_reason {/,/}/!d' $< | \
> + awk -F ',' '/SKB_DROP_REASON_/{printf " FN(%s) \\\n", substr($$1, 18)}' >> $@;\
> + echo '' >> $@

Trying to figure out when we're in the enum could be more robust
in case more stuff gets added to the header:

| awk -F ',' '/^enum skb_drop/ { dr=1; }
/\}\;/ { dr=0; }
/^\tSKB_DROP/ { if (dr) {print $1;}}'

> +$(obj)/dropreason_str.h: $(srctree)/include/linux/dropreason.h
> + $(call cmd,dropreason_str)
> +
> +$(obj)/skbuff.o: $(obj)/dropreason_str.h

Since we just generate the array directly now should we generate
a source file with it directly instead of generating a header with
the huge define?

\
 
 \ /
  Last update: 2022-05-28 03:15    [W:0.066 / U:0.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site