2021-06-18 14:34:56

by Yejune Deng

[permalink] [raw]
Subject: [PATCH] net: add pf_family_names[] for protocol family

Modify the pr_info content from int to char *, this looks more readable.

Signed-off-by: Yejune Deng <[email protected]>
---
include/uapi/linux/net.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
net/socket.c | 2 +-
2 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/include/uapi/linux/net.h b/include/uapi/linux/net.h
index 4dabec6..a28caaf 100644
--- a/include/uapi/linux/net.h
+++ b/include/uapi/linux/net.h
@@ -55,4 +55,52 @@ typedef enum {

#define __SO_ACCEPTCON (1 << 16) /* performed a listen */

+static const char * const pf_family_names[] = {
+ [PF_UNSPEC] = "PF_UNSPEC",
+ [PF_UNIX] = "PF_UNIX/PF_LOCAL",
+ [PF_INET] = "PF_INET",
+ [PF_AX25] = "PF_AX25",
+ [PF_IPX] = "PF_IPX",
+ [PF_APPLETALK] = "PF_APPLETALK",
+ [PF_NETROM] = "PF_NETROM",
+ [PF_BRIDGE] = "PF_BRIDGE",
+ [PF_ATMPVC] = "PF_ATMPVC",
+ [PF_X25] = "PF_X25",
+ [PF_INET6] = "PF_INET6",
+ [PF_ROSE] = "PF_ROSE",
+ [PF_DECnet] = "PF_DECnet",
+ [PF_NETBEUI] = "PF_NETBEUI",
+ [PF_SECURITY] = "PF_SECURITY",
+ [PF_KEY] = "PF_KEY",
+ [PF_NETLINK] = "PF_NETLINK/PF_ROUTE",
+ [PF_PACKET] = "PF_PACKET",
+ [PF_ASH] = "PF_ASH",
+ [PF_ECONET] = "PF_ECONET",
+ [PF_ATMSVC] = "PF_ATMSVC",
+ [PF_RDS] = "PF_RDS",
+ [PF_SNA] = "PF_SNA",
+ [PF_IRDA] = "PF_IRDA",
+ [PF_PPPOX] = "PF_PPPOX",
+ [PF_WANPIPE] = "PF_WANPIPE",
+ [PF_LLC] = "PF_LLC",
+ [PF_IB] = "PF_IB",
+ [PF_MPLS] = "PF_MPLS",
+ [PF_CAN] = "PF_CAN",
+ [PF_TIPC] = "PF_TIPC",
+ [PF_BLUETOOTH] = "PF_BLUETOOTH",
+ [PF_IUCV] = "PF_IUCV",
+ [PF_RXRPC] = "PF_RXRPC",
+ [PF_ISDN] = "PF_ISDN",
+ [PF_PHONET] = "PF_PHONET",
+ [PF_IEEE802154] = "PF_IEEE802154",
+ [PF_CAIF] = "PF_CAIF",
+ [PF_ALG] = "PF_ALG",
+ [PF_NFC] = "PF_NFC",
+ [PF_VSOCK] = "PF_VSOCK",
+ [PF_KCM] = "PF_KCM",
+ [PF_QIPCRTR] = "PF_QIPCRTR",
+ [PF_SMC] = "PF_SMC",
+ [PF_XDP] = "PF_XDP",
+};
+
#endif /* _UAPI_LINUX_NET_H */
diff --git a/net/socket.c b/net/socket.c
index 27e3e7d..ff544cf 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -2988,7 +2988,7 @@ int sock_register(const struct net_proto_family *ops)
}
spin_unlock(&net_family_lock);

- pr_info("NET: Registered protocol family %d\n", ops->family);
+ pr_info("NET: Registered %s protocol family\n", pf_family_names[ops->family]);
return err;
}
EXPORT_SYMBOL(sock_register);
--
2.7.4


2021-06-18 20:12:50

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: add pf_family_names[] for protocol family


This patch doers not even compile successfully:

./usr/include/linux/net.h:59:3: error: ?PF_UNSPEC? undeclared here (not in a function)
59 | [PF_UNSPEC] = "PF_UNSPEC",
| ^~~~~~~~~
./usr/include/linux/net.h:59:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:59:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:60:3: error: ?PF_UNIX? undeclared here (not in a function)
60 | [PF_UNIX] = "PF_UNIX/PF_LOCAL",
| ^~~~~~~
./usr/include/linux/net.h:60:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:60:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:61:3: error: ?PF_INET? undeclared here (not in a function)
61 | [PF_INET] = "PF_INET",
| ^~~~~~~
./usr/include/linux/net.h:61:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:61:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:62:3: error: ?PF_AX25? undeclared here (not in a function)
62 | [PF_AX25] = "PF_AX25",
| ^~~~~~~
./usr/include/linux/net.h:62:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:62:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:63:3: error: ?PF_IPX? undeclared here (not in a function)
63 | [PF_IPX] = "PF_IPX",
| ^~~~~~
./usr/include/linux/net.h:63:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:63:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:64:3: error: ?PF_APPLETALK? undeclared here (not in a function)
64 | [PF_APPLETALK] = "PF_APPLETALK",
| ^~~~~~~~~~~~
./usr/include/linux/net.h:64:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:64:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:65:3: error: ?PF_NETROM? undeclared here (not in a function)
65 | [PF_NETROM] = "PF_NETROM",
| ^~~~~~~~~
./usr/include/linux/net.h:65:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:65:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:66:3: error: ?PF_BRIDGE? undeclared here (not in a function)
66 | [PF_BRIDGE] = "PF_BRIDGE",
| ^~~~~~~~~
./usr/include/linux/net.h:66:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:66:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:67:3: error: ?PF_ATMPVC? undeclared here (not in a function)
67 | [PF_ATMPVC] = "PF_ATMPVC",
| ^~~~~~~~~
./usr/include/linux/net.h:67:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:67:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:68:3: error: ?PF_X25? undeclared here (not in a function)
68 | [PF_X25] = "PF_X25",
| ^~~~~~
./usr/include/linux/net.h:68:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:68:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:69:3: error: ?PF_INET6? undeclared here (not in a function)
69 | [PF_INET6] = "PF_INET6",
| ^~~~~~~~
./usr/include/linux/net.h:69:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:69:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:70:3: error: ?PF_ROSE? undeclared here (not in a function)
70 | [PF_ROSE] = "PF_ROSE",
| ^~~~~~~
./usr/include/linux/net.h:70:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:70:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:71:3: error: ?PF_DECnet? undeclared here (not in a function)
71 | [PF_DECnet] = "PF_DECnet",
| ^~~~~~~~~
./usr/include/linux/net.h:71:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:71:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:72:3: error: ?PF_NETBEUI? undeclared here (not in a function)
72 | [PF_NETBEUI] = "PF_NETBEUI",
| ^~~~~~~~~~
./usr/include/linux/net.h:72:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:72:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:73:3: error: ?PF_SECURITY? undeclared here (not in a function)
73 | [PF_SECURITY] = "PF_SECURITY",
| ^~~~~~~~~~~
./usr/include/linux/net.h:73:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:73:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:74:3: error: ?PF_KEY? undeclared here (not in a function)
74 | [PF_KEY] = "PF_KEY",
| ^~~~~~
./usr/include/linux/net.h:74:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:74:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:75:3: error: ?PF_NETLINK? undeclared here (not in a function)
75 | [PF_NETLINK] = "PF_NETLINK/PF_ROUTE",
| ^~~~~~~~~~
./usr/include/linux/net.h:75:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:75:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:76:3: error: ?PF_PACKET? undeclared here (not in a function)
76 | [PF_PACKET] = "PF_PACKET",
| ^~~~~~~~~
./usr/include/linux/net.h:76:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:76:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:77:3: error: ?PF_ASH? undeclared here (not in a function)
77 | [PF_ASH] = "PF_ASH",
| ^~~~~~
./usr/include/linux/net.h:77:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:77:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:78:3: error: ?PF_ECONET? undeclared here (not in a function)
78 | [PF_ECONET] = "PF_ECONET",
| ^~~~~~~~~
./usr/include/linux/net.h:78:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:78:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:79:3: error: ?PF_ATMSVC? undeclared here (not in a function)
79 | [PF_ATMSVC] = "PF_ATMSVC",
| ^~~~~~~~~
./usr/include/linux/net.h:79:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:79:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:80:3: error: ?PF_RDS? undeclared here (not in a function)
80 | [PF_RDS] = "PF_RDS",
| ^~~~~~
./usr/include/linux/net.h:80:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:80:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:81:3: error: ?PF_SNA? undeclared here (not in a function)
81 | [PF_SNA] = "PF_SNA",
| ^~~~~~
./usr/include/linux/net.h:81:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:81:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:82:3: error: ?PF_IRDA? undeclared here (not in a function)
82 | [PF_IRDA] = "PF_IRDA",
| ^~~~~~~
./usr/include/linux/net.h:82:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:82:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:83:3: error: ?PF_PPPOX? undeclared here (not in a function)
83 | [PF_PPPOX] = "PF_PPPOX",
| ^~~~~~~~
./usr/include/linux/net.h:83:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:83:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:84:3: error: ?PF_WANPIPE? undeclared here (not in a function)
84 | [PF_WANPIPE] = "PF_WANPIPE",
| ^~~~~~~~~~
./usr/include/linux/net.h:84:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:84:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:85:3: error: ?PF_LLC? undeclared here (not in a function)
85 | [PF_LLC] = "PF_LLC",
| ^~~~~~
./usr/include/linux/net.h:85:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:85:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:86:3: error: ?PF_IB? undeclared here (not in a function)
86 | [PF_IB] = "PF_IB",
| ^~~~~
./usr/include/linux/net.h:86:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:86:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:87:3: error: ?PF_MPLS? undeclared here (not in a function)
87 | [PF_MPLS] = "PF_MPLS",
| ^~~~~~~
./usr/include/linux/net.h:87:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:87:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:88:3: error: ?PF_CAN? undeclared here (not in a function)
88 | [PF_CAN] = "PF_CAN",
| ^~~~~~
./usr/include/linux/net.h:88:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:88:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:89:3: error: ?PF_TIPC? undeclared here (not in a function)
89 | [PF_TIPC] = "PF_TIPC",
| ^~~~~~~
./usr/include/linux/net.h:89:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:89:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:90:3: error: ?PF_BLUETOOTH? undeclared here (not in a function)
90 | [PF_BLUETOOTH] = "PF_BLUETOOTH",
| ^~~~~~~~~~~~
./usr/include/linux/net.h:90:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:90:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:91:3: error: ?PF_IUCV? undeclared here (not in a function)
91 | [PF_IUCV] = "PF_IUCV",
| ^~~~~~~
./usr/include/linux/net.h:91:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:91:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:92:3: error: ?PF_RXRPC? undeclared here (not in a function)
92 | [PF_RXRPC] = "PF_RXRPC",
| ^~~~~~~~
./usr/include/linux/net.h:92:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:92:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:93:3: error: ?PF_ISDN? undeclared here (not in a function)
93 | [PF_ISDN] = "PF_ISDN",
| ^~~~~~~
./usr/include/linux/net.h:93:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:93:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:94:3: error: ?PF_PHONET? undeclared here (not in a function)
94 | [PF_PHONET] = "PF_PHONET",
| ^~~~~~~~~
./usr/include/linux/net.h:94:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:94:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:95:3: error: ?PF_IEEE802154? undeclared here (not in a function)
95 | [PF_IEEE802154] = "PF_IEEE802154",
| ^~~~~~~~~~~~~
./usr/include/linux/net.h:95:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:95:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:96:3: error: ?PF_CAIF? undeclared here (not in a function)
96 | [PF_CAIF] = "PF_CAIF",
| ^~~~~~~
./usr/include/linux/net.h:96:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:96:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:97:3: error: ?PF_ALG? undeclared here (not in a function)
97 | [PF_ALG] = "PF_ALG",
| ^~~~~~
./usr/include/linux/net.h:97:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:97:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:98:3: error: ?PF_NFC? undeclared here (not in a function)
98 | [PF_NFC] = "PF_NFC",
| ^~~~~~
./usr/include/linux/net.h:98:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:98:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:99:3: error: ?PF_VSOCK? undeclared here (not in a function)
99 | [PF_VSOCK] = "PF_VSOCK",
| ^~~~~~~~
./usr/include/linux/net.h:99:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:99:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:100:3: error: ?PF_KCM? undeclared here (not in a function)
100 | [PF_KCM] = "PF_KCM",
| ^~~~~~
./usr/include/linux/net.h:100:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:100:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:101:3: error: ?PF_QIPCRTR? undeclared here (not in a function)
101 | [PF_QIPCRTR] = "PF_QIPCRTR",
| ^~~~~~~~~~
./usr/include/linux/net.h:101:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:101:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:102:3: error: ?PF_SMC? undeclared here (not in a function)
102 | [PF_SMC] = "PF_SMC",
| ^~~~~~
./usr/include/linux/net.h:102:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:102:3: note: (near initialization for ?pf_family_names?)
./usr/include/linux/net.h:103:3: error: ?PF_XDP? undeclared here (not in a function)
103 | [PF_XDP] = "PF_XDP",
| ^~~~~~
./usr/include/linux/net.h:103:3: error: array index in initializer not of integer type
./usr/include/linux/net.h:103:3: note: (near initialization for ?pf_family_names?)

Please fix, thank you.