diff --git a/newip/examples/check_nip_enable.c b/newip/examples/check_nip_enable.c index 8e649f7ae6599bb9ca730f7f5ced4d7d65520d47..d8947925e5964567868057fd279a18b90478d796 100644 --- a/newip/examples/check_nip_enable.c +++ b/newip/examples/check_nip_enable.c @@ -42,7 +42,7 @@ void _check_nip_enable(void) g_nip_enable = atoi(tmp) ? 0 : 1; } -bool check_nip_enable(void) +int check_nip_enable(void) { if (g_nip_enable == NIP_ENABLE_INVALID) { _check_nip_enable(); diff --git a/newip/examples/nip.h b/newip/examples/nip.h index aacfc9a8aca709ca2f65499230160040c44ca22d..c26d8225f03d3e6a860d3b0c848106bda2a6e5e9 100644 --- a/newip/examples/nip.h +++ b/newip/examples/nip.h @@ -66,9 +66,9 @@ enum nip_32bit_addr_index { NIP_32BIT_ADDR_INDEX_MAX, }; -#define nip_addr_field8 v.u.field8 -#define nip_addr_field16 v.u.field16 -#define nip_addr_field32 v.u.field32 +#define NIP_ADDR_FIELD8 v.u.field8 +#define NIP_ADDR_FIELD16 v.u.field16 +#define NIP_ADDR_FIELD32 v.u.field32 #pragma pack(1) struct nip_addr_field { diff --git a/newip/examples/nip_addr_cfg_demo.c b/newip/examples/nip_addr_cfg_demo.c index 3f0f889c53920b35db789df35ca2bc6a5a91bb6c..308725f8399793c2e57fd7d068cef9b8e300c6a7 100644 --- a/newip/examples/nip_addr_cfg_demo.c +++ b/newip/examples/nip_addr_cfg_demo.c @@ -35,7 +35,7 @@ int nip_add_addr(int ifindex, const unsigned char *addr, unsigned char addr_len) memset(&ifrn, 0, sizeof(ifrn)); ifrn.ifrn_addr.bitlen = addr_len * BITS_PER_BYTE; // Byte length is converted to bit length - memcpy(ifrn.ifrn_addr.nip_addr_field8, addr, addr_len); + memcpy(ifrn.ifrn_addr.NIP_ADDR_FIELD8, addr, addr_len); ifrn.ifrn_ifindex = ifindex; ret = ioctl(fd, SIOCSIFADDR, &ifrn); diff --git a/newip/examples/nip_lib.c b/newip/examples/nip_lib.c index aa62efc2af4af0fcb60d5f9275dcce0704c853c8..5169540126abe06b3c5579be30725027c53d2bf5 100644 --- a/newip/examples/nip_lib.c +++ b/newip/examples/nip_lib.c @@ -97,9 +97,9 @@ int nip_addr_fmt(char *addr_str, struct nip_addr *sap, int addrlen_input) printf("*************************************************\n"); printf("Newip addr len=%d\n", addrlen); for (i = 0; i < addrlen; i++) { - sap->nip_addr_field8[i] = addr_str[i * INDEX_2] << INDEX_4; - sap->nip_addr_field8[i] += addr_str[i * INDEX_2 + 1]; - printf("%02x ", sap->nip_addr_field8[i]); + sap->NIP_ADDR_FIELD8[i] = addr_str[i * INDEX_2] << INDEX_4; + sap->NIP_ADDR_FIELD8[i] += addr_str[i * INDEX_2 + 1]; + printf("%02x ", sap->NIP_ADDR_FIELD8[i]); } printf("\n*************************************************\n\n"); diff --git a/newip/examples/nip_route_cfg_demo.c b/newip/examples/nip_route_cfg_demo.c index a3311641e9ec67a5b9896699d86d79eaf357dc6b..b5a0a1ee3de69b05a2ebb1f44dbab46f88b7e2cf 100644 --- a/newip/examples/nip_route_cfg_demo.c +++ b/newip/examples/nip_route_cfg_demo.c @@ -41,11 +41,11 @@ int nip_route_add(int ifindex, const unsigned char *dst_addr, uint8_t dst_addr_l rt.rtmsg_ifindex = ifindex; rt.rtmsg_flags = RTF_UP; rt.rtmsg_dst.bitlen = dst_addr_len * BITS_PER_BYTE; - memcpy(rt.rtmsg_dst.nip_addr_field8, dst_addr, dst_addr_len); + memcpy(rt.rtmsg_dst.NIP_ADDR_FIELD8, dst_addr, dst_addr_len); if (gateway_addr) { rt.rtmsg_gateway.bitlen = gateway_addr_len * BITS_PER_BYTE; - memcpy(rt.rtmsg_gateway.nip_addr_field8, gateway_addr, gateway_addr_len); + memcpy(rt.rtmsg_gateway.NIP_ADDR_FIELD8, gateway_addr, gateway_addr_len); rt.rtmsg_flags |= RTF_GATEWAY; } diff --git a/newip/examples/nip_tcp_client_demo.c b/newip/examples/nip_tcp_client_demo.c index 61cb16467456f971e804027be210ce43eed186bc..b96a47ca3ca4fb0f9b0a56b28dfd041052eab648 100644 --- a/newip/examples/nip_tcp_client_demo.c +++ b/newip/examples/nip_tcp_client_demo.c @@ -119,16 +119,16 @@ int main(int argc, char **argv) si_server.sin_family = AF_NINET; si_server.sin_port = htons(TCP_SERVER_PORT); // 2-byte address of the server: 0xDE00 - si_server.sin_addr.nip_addr_field8[INDEX_0] = 0xDE; - si_server.sin_addr.nip_addr_field8[INDEX_1] = 0x00; + si_server.sin_addr.NIP_ADDR_FIELD8[INDEX_0] = 0xDE; + si_server.sin_addr.NIP_ADDR_FIELD8[INDEX_1] = 0x00; si_server.sin_addr.bitlen = NIP_ADDR_BIT_LEN_16; // 2-byte: 16bit if (connect(cfd, (struct sockaddr *)&si_server, sizeof(si_server)) < 0) { perror("connect"); return -1; } printf("connect success, addr=0x%02x%02x, port=%d\n", - si_server.sin_addr.nip_addr_field8[INDEX_0], - si_server.sin_addr.nip_addr_field8[INDEX_1], TCP_SERVER_PORT); + si_server.sin_addr.NIP_ADDR_FIELD8[INDEX_0], + si_server.sin_addr.NIP_ADDR_FIELD8[INDEX_1], TCP_SERVER_PORT); th_args.si_server = si_server; th_args.si_server.sin_port = htons(TCP_SERVER_PORT); diff --git a/newip/examples/nip_tcp_server_demo.c b/newip/examples/nip_tcp_server_demo.c index bb70b9981021580405e7316560fb52e741802d77..5c05ffbb4c6818acbb022fcc6b208db04720a6c6 100644 --- a/newip/examples/nip_tcp_server_demo.c +++ b/newip/examples/nip_tcp_server_demo.c @@ -67,8 +67,8 @@ int main(int argc, char **argv) si_local.sin_family = AF_NINET; si_local.sin_port = htons(TCP_SERVER_PORT); // 2-byte address of the server: 0xDE00 - si_local.sin_addr.nip_addr_field8[INDEX_0] = 0xDE; - si_local.sin_addr.nip_addr_field8[INDEX_1] = 0x00; + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_0] = 0xDE; + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_1] = 0x00; si_local.sin_addr.bitlen = NIP_ADDR_BIT_LEN_16; // 2-byte: 16bit if (bind(fd, (const struct sockaddr *)&si_local, sizeof(si_local)) < 0) { @@ -76,8 +76,8 @@ int main(int argc, char **argv) goto END; } printf("bind success, addr=0x%02x%02x, port=%d\n", - si_local.sin_addr.nip_addr_field8[INDEX_0], - si_local.sin_addr.nip_addr_field8[INDEX_1], TCP_SERVER_PORT); + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_0], + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_1], TCP_SERVER_PORT); if (listen(fd, LISTEN_MAX) < 0) { perror("listen"); diff --git a/newip/examples/nip_udp_client_demo.c b/newip/examples/nip_udp_client_demo.c index 804820075f25d60284bb744f5d3eaa3efc8106de..05ffa62503feffe13822956360ce8c73381e008d 100644 --- a/newip/examples/nip_udp_client_demo.c +++ b/newip/examples/nip_udp_client_demo.c @@ -117,8 +117,8 @@ int main(int argc, char **argv) si_server.sin_family = AF_NINET; si_server.sin_port = htons(UDP_SERVER_PORT); // 2-byte address of the server: 0xDE00 - si_server.sin_addr.nip_addr_field8[INDEX_0] = 0xDE; - si_server.sin_addr.nip_addr_field8[INDEX_1] = 0x00; + si_server.sin_addr.NIP_ADDR_FIELD8[INDEX_0] = 0xDE; + si_server.sin_addr.NIP_ADDR_FIELD8[INDEX_1] = 0x00; si_server.sin_addr.bitlen = NIP_ADDR_BIT_LEN_16; // 2-byte: 16bit th_args.si_server = si_server; diff --git a/newip/examples/nip_udp_server_demo.c b/newip/examples/nip_udp_server_demo.c index 77e538b3c54f68d239ec809c8177e8eb61586fdc..fb2eb1a171544cf860069735693966c2cbb7b0b7 100644 --- a/newip/examples/nip_udp_server_demo.c +++ b/newip/examples/nip_udp_server_demo.c @@ -45,7 +45,7 @@ void *recv_send(void *args) ; } else { printf("Received -- %s -- from 0x%x:%d\n", buf, - si_remote.sin_addr.nip_addr_field16[0], ntohs(si_remote.sin_port)); + si_remote.sin_addr.NIP_ADDR_FIELD16[0], ntohs(si_remote.sin_port)); slen = sizeof(si_remote); ret = sendto(fd, buf, BUFLEN, 0, (struct sockaddr *)&si_remote, slen); if (ret < 0) { @@ -53,7 +53,7 @@ void *recv_send(void *args) goto END; } printf("Sending -- %s -- to 0x%0x:%d\n", buf, - si_remote.sin_addr.nip_addr_field8[0], ntohs(si_remote.sin_port)); + si_remote.sin_addr.NIP_ADDR_FIELD8[0], ntohs(si_remote.sin_port)); } count++; } @@ -76,8 +76,8 @@ int main(int argc, char **argv) si_local.sin_family = AF_NINET; si_local.sin_port = htons(UDP_SERVER_PORT); // 2-byte address of the server: 0xDE00 - si_local.sin_addr.nip_addr_field8[INDEX_0] = 0xDE; - si_local.sin_addr.nip_addr_field8[INDEX_1] = 0x00; + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_0] = 0xDE; + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_1] = 0x00; si_local.sin_addr.bitlen = NIP_ADDR_BIT_LEN_16; // 2-byte: 16bit if (bind(fd, (const struct sockaddr *)&si_local, sizeof(si_local)) < 0) { @@ -86,8 +86,8 @@ int main(int argc, char **argv) } printf("bind success, addr=0x%02x%02x, port=%d\n", - si_local.sin_addr.nip_addr_field8[INDEX_0], - si_local.sin_addr.nip_addr_field8[INDEX_1], UDP_SERVER_PORT); + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_0], + si_local.sin_addr.NIP_ADDR_FIELD8[INDEX_1], UDP_SERVER_PORT); pthread_create(&th, NULL, recv_send, &fd); /* Wait for the thread to end and synchronize operations between threads */ diff --git a/newip/src/common/nip_addr.c b/newip/src/common/nip_addr.c index 64cd02694667c734fc129123a0fed90655e79a51..eb88a3cb9117eb0167a496c6f72f37c58a552ce3 100644 --- a/newip/src/common/nip_addr.c +++ b/newip/src/common/nip_addr.c @@ -16,20 +16,20 @@ */ const struct nip_addr nip_any_addr = { .bitlen = NIP_ADDR_BIT_LEN_16, - .nip_addr_field8[0] = 0xFF, /* 0xFF09 addr, big-endian */ - .nip_addr_field8[1] = 0x09, + .NIP_ADDR_FIELD8[0] = 0xFF, /* 0xFF09 addr, big-endian */ + .NIP_ADDR_FIELD8[1] = 0x09, }; const struct nip_addr nip_broadcast_addr_arp = { .bitlen = NIP_ADDR_BIT_LEN_16, - .nip_addr_field8[0] = 0xFF, /* 0xFF04 addr, big-endian */ - .nip_addr_field8[1] = 0x04, + .NIP_ADDR_FIELD8[0] = 0xFF, /* 0xFF04 addr, big-endian */ + .NIP_ADDR_FIELD8[1] = 0x04, }; static const struct nip_addr nip_local_addr = { .bitlen = NIP_ADDR_BIT_LEN_16, - .nip_addr_field8[0] = 0xFF, /* 0xFF00 addr, big-endian */ - .nip_addr_field8[1] = 0x00, + .NIP_ADDR_FIELD8[0] = 0xFF, /* 0xFF00 addr, big-endian */ + .NIP_ADDR_FIELD8[1] = 0x00, }; enum addr_check_ret { @@ -133,8 +133,8 @@ int is_nip_local_addr(const struct nip_addr *addr) int result = 0; if (addr->bitlen == NIP_ADDR_BIT_LEN_16) { - if (addr->nip_addr_field16[0] == nip_local_addr.nip_addr_field16[0] && - addr->nip_addr_field16[1] == nip_local_addr.nip_addr_field16[1]) + if (addr->NIP_ADDR_FIELD16[0] == nip_local_addr.NIP_ADDR_FIELD16[0] && + addr->NIP_ADDR_FIELD16[1] == nip_local_addr.NIP_ADDR_FIELD16[1]) result = 1; } return result; @@ -308,14 +308,14 @@ int nip_addr_invalid(const struct nip_addr *addr) int ret = NIP_ADDR_UNKNOWN; unsigned char first_byte, second_byte, third_byte; - first_byte = addr->nip_addr_field8[NIP_8BIT_ADDR_INDEX_0]; - second_byte = addr->nip_addr_field8[NIP_8BIT_ADDR_INDEX_1]; - third_byte = addr->nip_addr_field8[NIP_8BIT_ADDR_INDEX_2]; + first_byte = addr->NIP_ADDR_FIELD8[NIP_8BIT_ADDR_INDEX_0]; + second_byte = addr->NIP_ADDR_FIELD8[NIP_8BIT_ADDR_INDEX_1]; + third_byte = addr->NIP_ADDR_FIELD8[NIP_8BIT_ADDR_INDEX_2]; addr_len = addr->bitlen / NIP_ADDR_BIT_LEN_8; /* The value of the field after the effective length of the short address should be 0 */ for (i = addr_len; i < NIP_8BIT_ADDR_INDEX_MAX; i++) { - if (addr->nip_addr_field8[i] > 0x00) + if (addr->NIP_ADDR_FIELD8[i] > 0x00) return ADDR_BITLEN_INVALID; } @@ -345,7 +345,7 @@ int nip_addr_invalid(const struct nip_addr *addr) */ int nip_addr_public(const struct nip_addr *addr) { - if (is_public_addr_flag(addr->nip_addr_field8[NIP_8BIT_ADDR_INDEX_0]) && + if (is_public_addr_flag(addr->NIP_ADDR_FIELD8[NIP_8BIT_ADDR_INDEX_0]) && addr->bitlen == NIP_ADDR_BIT_LEN_16) return 1; else @@ -358,8 +358,8 @@ int nip_addr_any(const struct nip_addr *addr) int result = 0; if (addr->bitlen == NIP_ADDR_BIT_LEN_16) { - if (addr->nip_addr_field16[0] == nip_any_addr.nip_addr_field16[0] && - addr->nip_addr_field16[1] == nip_any_addr.nip_addr_field16[1]) + if (addr->NIP_ADDR_FIELD16[0] == nip_any_addr.NIP_ADDR_FIELD16[0] && + addr->NIP_ADDR_FIELD16[1] == nip_any_addr.NIP_ADDR_FIELD16[1]) result = 1; } return result; @@ -368,7 +368,7 @@ int nip_addr_any(const struct nip_addr *addr) int get_nip_addr_len(const struct nip_addr *addr) { int len = 0; - unsigned char first_byte = addr->nip_addr_field8[0]; + unsigned char first_byte = addr->NIP_ADDR_FIELD8[0]; if (is_1byte_addr_flag(first_byte)) len = NIP_ADDR_LEN_1; @@ -396,7 +396,7 @@ unsigned char *build_nip_addr(const struct nip_addr *addr, unsigned char *buf) return 0; for (i = 0; i < addr_len; i++) { - *p = addr->nip_addr_field8[i]; + *p = addr->NIP_ADDR_FIELD8[i]; p++; } @@ -410,13 +410,13 @@ unsigned char *decode_nip_addr(unsigned char *buf, struct nip_addr *addr) int addr_len; unsigned char *p = buf; - addr->nip_addr_field8[0] = *p; + addr->NIP_ADDR_FIELD8[0] = *p; addr_len = get_nip_addr_len(addr); if (addr_len == 0) return 0; for (i = 0; i < addr_len; i++) { - addr->nip_addr_field8[i] = *p; + addr->NIP_ADDR_FIELD8[i] = *p; p++; } addr->bitlen = addr_len * NIP_ADDR_BIT_LEN_8; diff --git a/newip/src/common/nip_addr.h b/newip/src/common/nip_addr.h index 1e1d6bf3351bd0f74b931926964baf84b3fa35cd..370007f20a549bdac9e0e804f7a5a1c79681e084 100644 --- a/newip/src/common/nip_addr.h +++ b/newip/src/common/nip_addr.h @@ -66,9 +66,9 @@ enum nip_32bit_addr_index { NIP_32BIT_ADDR_INDEX_MAX, }; -#define nip_addr_field8 v.u.field8 -#define nip_addr_field16 v.u.field16 -#define nip_addr_field32 v.u.field32 +#define NIP_ADDR_FIELD8 v.u.field8 +#define NIP_ADDR_FIELD16 v.u.field16 +#define NIP_ADDR_FIELD32 v.u.field32 #pragma pack(1) struct nip_addr_field { diff --git a/newip/src/common/nip_checksum.c b/newip/src/common/nip_checksum.c index cae92e6b5a2ad564fc68889d2ae618bce5eb85cf..e2ba185922d83826ada8c8919fd56b8a10303fff 100644 --- a/newip/src/common/nip_checksum.c +++ b/newip/src/common/nip_checksum.c @@ -41,7 +41,7 @@ unsigned int _nip_header_chksum(struct nip_pseudo_header *chksum_header) if (addr_len) { j = 0; for (i = 0; i < addr_len; i++, j++) - pseudo_header[j] = chksum_header->saddr.nip_addr_field8[i]; + pseudo_header[j] = chksum_header->saddr.NIP_ADDR_FIELD8[i]; hdr_len += addr_len; } @@ -49,7 +49,7 @@ unsigned int _nip_header_chksum(struct nip_pseudo_header *chksum_header) if (addr_len) { j = hdr_len; for (i = 0; i < addr_len; i++, j++) - pseudo_header[j] = chksum_header->daddr.nip_addr_field8[i]; + pseudo_header[j] = chksum_header->daddr.NIP_ADDR_FIELD8[i]; hdr_len += addr_len; } diff --git a/newip/src/linux-5.10/drivers/net/bt/btdev.c b/newip/src/linux-5.10/drivers/net/bt/btdev.c index 6ae40ae6aad2a5d72c91b62c208bc8052891805f..4a5fcf8cc51cda42faad627a41c4b351efcf442c 100644 --- a/newip/src/linux-5.10/drivers/net/bt/btdev.c +++ b/newip/src/linux-5.10/drivers/net/bt/btdev.c @@ -14,20 +14,20 @@ #include "btdev.h" -#define NDEV_NAME(vnet) bt_virnet_get_ndev_name(vnet) /* btn1/2/3/4/... */ -#define CDEV_NAME(vnet) bt_virnet_get_cdev_name(vnet) /* dev/btdev1/2/3/4/... */ +#define ndev_name(vnet) bt_virnet_get_ndev_name(vnet) /* btn1/2/3/4/... */ +#define cdev_name(vnet) bt_virnet_get_cdev_name(vnet) /* dev/btdev1/2/3/4/... */ /* /sys/module/btdev/parameters/btdev_debug */ bool g_btdev_debug; module_param_named(btdev_debug, g_btdev_debug, bool, 0644); -#define BTDEV_DBG(fmt, ...) \ +#define btdev_dbg(fmt, ...) \ do { \ if (g_btdev_debug) \ pr_crit(fmt, ##__VA_ARGS__); \ } while (0) -#define BTDEV_DBG_ERR(fmt, ...) pr_err(fmt, ##__VA_ARGS__) +#define btdev_dbg_err(fmt, ...) pr_err(fmt, ##__VA_ARGS__) static struct bt_drv *g_bt_drv; @@ -36,7 +36,7 @@ static int bt_seq_show(struct seq_file *m, void *v) struct bt_virnet *vnet = NULL; if (unlikely(!g_bt_drv)) { - BTDEV_DBG_ERR("invalid bt_drv"); + btdev_dbg_err("invalid bt_drv"); return -EINVAL; } @@ -46,7 +46,7 @@ static int bt_seq_show(struct seq_file *m, void *v) list_for_each_entry(vnet, &g_bt_drv->devices_table->head, virnet_entry) { seq_printf(m, "dev: %12s, interface: %7s, state: %12s, MTU: %4d\n", - CDEV_NAME(vnet), NDEV_NAME(vnet), + cdev_name(vnet), ndev_name(vnet), bt_virnet_get_state_rep(vnet), vnet->ndev->mtu); seq_printf(m, "ring head: %4d, ring tail: %4d, packets num: %4d\n", vnet->tx_ring->head, vnet->tx_ring->tail, @@ -59,7 +59,7 @@ static int bt_seq_show(struct seq_file *m, void *v) static int bt_proc_open(struct inode *inode, struct file *file) { if (unlikely(!inode) || unlikely(!file)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } @@ -100,15 +100,15 @@ static int __bt_virnet_open(struct file *filp, struct bt_virnet *vnet) if (unlikely(ret < 0)) { rtnl_unlock(); - BTDEV_DBG_ERR("%s dev change flags failed, ret=%d", CDEV_NAME(vnet), ret); + btdev_dbg_err("%s dev change flags failed, ret=%d", cdev_name(vnet), ret); return -EBUSY; } } rtnl_unlock(); - SET_STATE(vnet, BT_VIRNET_STATE_CONNECTED); + set_state(vnet, BT_VIRNET_STATE_CONNECTED); filp->private_data = vnet; - BTDEV_DBG("%s has been opened", CDEV_NAME(vnet)); + btdev_dbg("%s has been opened", cdev_name(vnet)); return OK; /* If the file is not opened for the first time, an error occurs @@ -116,12 +116,12 @@ static int __bt_virnet_open(struct file *filp, struct bt_virnet *vnet) */ read_twice_already: atomic_inc(&vnet->io_file->read_open_limit); - BTDEV_DBG_ERR("%s has been opened for read twice already", CDEV_NAME(vnet)); + btdev_dbg_err("%s has been opened for read twice already", cdev_name(vnet)); return -EBUSY; write_twice_already: atomic_inc(&vnet->io_file->write_open_limit); - BTDEV_DBG_ERR("%s has been opened for write twice already", CDEV_NAME(vnet)); + btdev_dbg_err("%s has been opened for write twice already", cdev_name(vnet)); return -EBUSY; } @@ -130,7 +130,7 @@ static int bt_io_file_open(struct inode *node, struct file *filp) struct bt_virnet *vnet = NULL; if (unlikely(!node) || unlikely(!filp)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } @@ -146,12 +146,12 @@ static int bt_io_file_release(struct inode *node, struct file *filp) struct bt_virnet *vnet = NULL; if (unlikely(!filp) || unlikely(!filp->private_data)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } vnet = filp->private_data; - BTDEV_DBG("%s has been released", CDEV_NAME(vnet)); + btdev_dbg("%s has been released", cdev_name(vnet)); /* Set xx_open_limit to 1 when the file is closed */ if ((filp->f_flags & O_ACCMODE) == O_RDONLY) { @@ -163,7 +163,7 @@ static int bt_io_file_release(struct inode *node, struct file *filp) atomic_inc(&vnet->io_file->write_open_limit); } - SET_STATE(vnet, BT_VIRNET_STATE_DISCONNECTED); + set_state(vnet, BT_VIRNET_STATE_DISCONNECTED); return OK; } @@ -177,7 +177,7 @@ static ssize_t bt_io_file_read(struct file *filp, struct sk_buff *skb = NULL; if (unlikely(!filp) || unlikely(!buffer) || unlikely(!filp->private_data)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } @@ -192,7 +192,7 @@ static ssize_t bt_io_file_read(struct file *filp, skb = bt_ring_current(vnet->tx_ring); if (unlikely(!skb)) { - BTDEV_DBG_ERR("%s invalid skb", CDEV_NAME(vnet)); + btdev_dbg_err("%s invalid skb", cdev_name(vnet)); return -EINVAL; } out_sz = skb->len - MACADDR_LEN; @@ -202,8 +202,8 @@ static ssize_t bt_io_file_read(struct file *filp, * the skb cannot be released at this time, because the skb is still unchained * on the ring buf. */ - BTDEV_DBG_ERR("%s usr-buf too small, skb-len=%ld, usr-buf-len=%ld", - CDEV_NAME(vnet), (long)out_sz, (long)size); + btdev_dbg_err("%s usr-buf too small, skb-len=%ld, usr-buf-len=%ld", + cdev_name(vnet), (long)out_sz, (long)size); return -EINVAL; } @@ -213,15 +213,15 @@ static ssize_t bt_io_file_read(struct file *filp, * from the ring buf. In this case, the skb needs to be released when the skb data * fails to be copied to the user mode. */ - BTDEV_DBG_ERR("%s copy to user failed", CDEV_NAME(vnet)); + btdev_dbg_err("%s copy to user failed", cdev_name(vnet)); dev_kfree_skb(skb); return -EIO; } dev_kfree_skb(skb); - BTDEV_DBG("read %ld data from %s", (long)out_sz, CDEV_NAME(vnet)); + btdev_dbg("read %ld data from %s", (long)out_sz, cdev_name(vnet)); if (unlikely(netif_queue_stopped(vnet->ndev))) { - BTDEV_DBG("consume data: wake the queue"); + btdev_dbg("consume data: wake the queue"); netif_wake_queue(vnet->ndev); } @@ -239,7 +239,7 @@ static ssize_t bt_io_file_write(struct file *filp, ssize_t in_sz; if (unlikely(!filp) || unlikely(!buffer) || unlikely(!filp->private_data)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } @@ -256,7 +256,7 @@ static ssize_t bt_io_file_write(struct file *filp, memset(skb->data, 0, MACADDR_LEN); if (copy_from_user(skb->data + MACADDR_LEN, buffer, size)) { - BTDEV_DBG_ERR("%s copy from user failed", CDEV_NAME(vnet)); + btdev_dbg_err("%s copy from user failed", cdev_name(vnet)); dev_kfree_skb(skb); return -EIO; } @@ -267,11 +267,11 @@ static ssize_t bt_io_file_write(struct file *filp, ret = netif_rx_ni(skb); if (ret == NET_RX_SUCCESS) { - BTDEV_DBG("write %lu bytes data to %s", size, CDEV_NAME(vnet)); + btdev_dbg("write %lu bytes data to %s", size, cdev_name(vnet)); vnet->ndev->stats.rx_packets++; vnet->ndev->stats.rx_bytes += len; } else { - BTDEV_DBG_ERR("failed to write %lu bytes data to %s", size, CDEV_NAME(vnet)); + btdev_dbg_err("failed to write %lu bytes data to %s", size, cdev_name(vnet)); vnet->ndev->stats.rx_errors++; vnet->ndev->stats.rx_dropped++; } @@ -282,10 +282,10 @@ static ssize_t bt_io_file_write(struct file *filp, static int bt_virnet_change_mtu(struct net_device *dev, int mtu) { if (unlikely(!dev) || unlikely(mtu < 0) || unlikely(mtu > BT_MAX_MTU)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } - BTDEV_DBG("change %s mtu %u to %u", dev->name, dev->mtu, mtu); + btdev_dbg("change %s mtu %u to %u", dev->name, dev->mtu, mtu); dev->mtu = mtu; return OK; } @@ -295,7 +295,7 @@ static int bt_set_mtu(struct net_device *dev, int mtu) int err = OK; if (unlikely(mtu < 0) || unlikely(mtu > BT_MAX_MTU)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } @@ -303,9 +303,9 @@ static int bt_set_mtu(struct net_device *dev, int mtu) err = dev_set_mtu(dev, mtu); rtnl_unlock(); if (err < 0) - BTDEV_DBG_ERR("failed to set %s mtu to %d, err=%d", dev->name, mtu, err); + btdev_dbg_err("failed to set %s mtu to %d, err=%d", dev->name, mtu, err); else - BTDEV_DBG("set %s mtu to %d", dev->name, mtu); + btdev_dbg("set %s mtu to %d", dev->name, mtu); return err; } @@ -315,7 +315,7 @@ static int bt_cmd_enable_virnet(struct bt_virnet *vnet, unsigned long arg) int ret; if (unlikely(vnet->state != BT_VIRNET_STATE_DISABLED)) { - BTDEV_DBG_ERR("%s enable can only be set at disabled state", CDEV_NAME(vnet)); + btdev_dbg_err("%s enable can only be set at disabled state", cdev_name(vnet)); return -EINVAL; // enable failed } @@ -323,12 +323,12 @@ static int bt_cmd_enable_virnet(struct bt_virnet *vnet, unsigned long arg) ret = dev_change_flags(vnet->ndev, vnet->ndev->flags | IFF_UP, NULL); rtnl_unlock(); if (unlikely(ret < 0)) { - BTDEV_DBG_ERR("%s dev change flags failed, ret=%d", CDEV_NAME(vnet), ret); + btdev_dbg_err("%s dev change flags failed, ret=%d", cdev_name(vnet), ret); return -EIO; } - BTDEV_DBG("%s has been enabled", CDEV_NAME(vnet)); - SET_STATE(vnet, BT_VIRNET_STATE_CONNECTED); + btdev_dbg("%s has been enabled", cdev_name(vnet)); + set_state(vnet, BT_VIRNET_STATE_CONNECTED); return OK; } @@ -337,7 +337,7 @@ static int bt_cmd_disable_virnet(struct bt_virnet *vnet, unsigned long arg) int ret; if (unlikely(vnet->state != BT_VIRNET_STATE_CONNECTED)) { - BTDEV_DBG_ERR("%s disable can only be set at connected state", CDEV_NAME(vnet)); + btdev_dbg_err("%s disable can only be set at connected state", cdev_name(vnet)); return -EINVAL; } @@ -345,12 +345,12 @@ static int bt_cmd_disable_virnet(struct bt_virnet *vnet, unsigned long arg) ret = dev_change_flags(vnet->ndev, vnet->ndev->flags & ~IFF_UP, NULL); rtnl_unlock(); if (unlikely(ret < 0)) { - BTDEV_DBG_ERR("%s dev change flags failed, ret=%d", CDEV_NAME(vnet), ret); + btdev_dbg_err("%s dev change flags failed, ret=%d", cdev_name(vnet), ret); return -EIO; } - BTDEV_DBG("%s has been disabled", CDEV_NAME(vnet)); - SET_STATE(vnet, BT_VIRNET_STATE_DISABLED); + btdev_dbg("%s has been disabled", cdev_name(vnet)); + set_state(vnet, BT_VIRNET_STATE_DISABLED); return OK; } @@ -360,17 +360,17 @@ static int bt_cmd_change_mtu(struct bt_virnet *vnet, unsigned long arg) int ret; if (unlikely(get_user(mtu, (int __user *)arg))) { - BTDEV_DBG_ERR("%s get user failed", NDEV_NAME(vnet)); + btdev_dbg_err("%s get user failed", ndev_name(vnet)); return -EIO; } ret = bt_set_mtu(vnet->ndev, mtu); if (unlikely(ret < 0)) { - BTDEV_DBG_ERR("%s changed mtu to %d failed", NDEV_NAME(vnet), mtu); + btdev_dbg_err("%s changed mtu to %d failed", ndev_name(vnet), mtu); return -EIO; } - BTDEV_DBG("%s changed mtu to %d", NDEV_NAME(vnet), mtu); + btdev_dbg("%s changed mtu to %d", ndev_name(vnet), mtu); return OK; } @@ -380,7 +380,7 @@ static int bt_cmd_peek_packet(struct bt_virnet *vnet, unsigned long arg) struct sk_buff *skb; if (unlikely(bt_ring_is_empty(vnet->tx_ring))) { - BTDEV_DBG_ERR("%s ring is empty", NDEV_NAME(vnet)); + btdev_dbg_err("%s ring is empty", ndev_name(vnet)); return -EAGAIN; } @@ -389,17 +389,17 @@ static int bt_cmd_peek_packet(struct bt_virnet *vnet, unsigned long arg) */ skb = bt_ring_current(vnet->tx_ring); if (unlikely(!skb)) { - BTDEV_DBG_ERR("%s invalid skb", NDEV_NAME(vnet)); + btdev_dbg_err("%s invalid skb", ndev_name(vnet)); return -EINVAL; } len = skb->len - MACADDR_LEN; if (unlikely(put_user(len, (int __user *)arg))) { - BTDEV_DBG_ERR("%s put_user failed", NDEV_NAME(vnet)); + btdev_dbg_err("%s put_user failed", ndev_name(vnet)); return -EIO; } - BTDEV_DBG("%s get packet len is %u", NDEV_NAME(vnet), len); + btdev_dbg("%s get packet len is %u", ndev_name(vnet), len); return OK; } @@ -411,7 +411,7 @@ static long bt_io_file_ioctl(struct file *filep, struct bt_virnet *vnet = NULL; if (unlikely(!filep) || unlikely(!filep->private_data)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } vnet = filep->private_data; @@ -429,7 +429,7 @@ static long bt_io_file_ioctl(struct file *filep, ret = bt_cmd_peek_packet(vnet, arg); break; default: - BTDEV_DBG_ERR("not a valid cmd(%u)", cmd); + btdev_dbg_err("not a valid cmd(%u)", cmd); return -ENOIOCTLCMD; } @@ -442,7 +442,7 @@ static unsigned int bt_io_file_poll(struct file *filp, poll_table *wait) unsigned int mask = 0; if (unlikely(!filp) || unlikely(!wait) || unlikely(!filp->private_data)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } vnet = filp->private_data; @@ -470,7 +470,7 @@ static const struct file_operations g_bt_io_file_ops = { static int bt_mng_file_open(struct inode *node, struct file *filp) { if (unlikely(!filp)) { - BTDEV_DBG_ERR("bt mng file open: invalid filp"); + btdev_dbg_err("bt mng file open: invalid filp"); return -EINVAL; } @@ -480,7 +480,7 @@ static int bt_mng_file_open(struct inode *node, struct file *filp) * and open_limit is restored to the open state. (set to 0) */ atomic_inc(&g_bt_drv->mng_file->open_limit); - BTDEV_DBG_ERR("file %s has been opened already", + btdev_dbg_err("file %s has been opened already", g_bt_drv->mng_file->bt_cdev->dev_filename); return -EBUSY; } @@ -488,7 +488,7 @@ static int bt_mng_file_open(struct inode *node, struct file *filp) /* open_limit becomes 0 after the file is first opened */ filp->private_data = g_bt_drv; - BTDEV_DBG("%s has been opened", g_bt_drv->mng_file->bt_cdev->dev_filename); + btdev_dbg("%s has been opened", g_bt_drv->mng_file->bt_cdev->dev_filename); return OK; } @@ -497,7 +497,7 @@ static int bt_mng_file_release(struct inode *node, struct file *filp) struct bt_drv *drv = NULL; if (unlikely(!filp) || unlikely(!filp->private_data)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } drv = filp->private_data; @@ -505,7 +505,7 @@ static int bt_mng_file_release(struct inode *node, struct file *filp) /* Set open_limit to 1 when the file is closed */ atomic_inc(&drv->mng_file->open_limit); - BTDEV_DBG("%s has been released", g_bt_drv->mng_file->bt_cdev->dev_filename); + btdev_dbg("%s has been released", g_bt_drv->mng_file->bt_cdev->dev_filename); return OK; } @@ -519,39 +519,38 @@ static int bt_cmd_create_virnet(struct bt_drv *bt_mng, unsigned long arg) mutex_lock(&bt_mng->bitmap_lock); id = bt_get_unused_id(bt_mng->bitmap); - if ((unlikely(bt_mng->devices_table->num >= BT_VIRNET_MAX_NUM)) || (unlikely(id < 0))) { - BTDEV_DBG_ERR("reach the limit of max virnets"); + btdev_dbg_err("reach the limit of max virnets"); goto virnet_create_failed; } vnet = bt_virnet_create(bt_mng, id); if (unlikely(!vnet)) { - BTDEV_DBG_ERR("bt virnet create failed"); + btdev_dbg_err("bt virnet create failed"); goto virnet_create_failed; } ret = bt_table_add_device(bt_mng->devices_table, vnet); if (unlikely(ret < 0)) { - BTDEV_DBG_ERR("bt table add device failed: ret=%d", ret); + btdev_dbg_err("bt table add device failed: ret=%d", ret); goto add_device_failed; } bt_set_bit(&bt_mng->bitmap, id); mutex_unlock(&bt_mng->bitmap_lock); - memcpy(vp.ifa_name, NDEV_NAME(vnet), sizeof(vp.ifa_name)); - memcpy(vp.cfile_name, CDEV_NAME(vnet), sizeof(vp.cfile_name)); + memcpy(vp.ifa_name, ndev_name(vnet), sizeof(vp.ifa_name)); + memcpy(vp.cfile_name, cdev_name(vnet), sizeof(vp.cfile_name)); mdelay(DELAY_100_MS); size = copy_to_user((void __user *)arg, &vp, sizeof(struct bt_uioc_args)); if (unlikely(size)) { - BTDEV_DBG_ERR("copy_to_user failed: left size=%lu", size); + btdev_dbg_err("copy_to_user failed: left size=%lu", size); goto copy_to_user_failed; } - BTDEV_DBG("%s has been created", NDEV_NAME(vnet)); + btdev_dbg("%s has been created", ndev_name(vnet)); return OK; copy_to_user_failed: @@ -578,17 +577,17 @@ static int bt_cmd_delete_virnet(struct bt_drv *bt_mng, unsigned long arg) size = copy_from_user(&vp, (void __user *)arg, sizeof(struct bt_uioc_args)); if (unlikely(size)) { - BTDEV_DBG_ERR("copy_from_user failed: left size=%lu", size); + btdev_dbg_err("copy_from_user failed: left size=%lu", size); return -EIO; } vnet = bt_table_find(bt_mng->devices_table, vp.ifa_name); if (unlikely(!vnet)) { - BTDEV_DBG_ERR("virnet: %s cannot be found in bt table", vp.ifa_name); + btdev_dbg_err("virnet: %s cannot be found in bt table", vp.ifa_name); return -EIO; // not found } - BTDEV_DBG("%s has been deleted", NDEV_NAME(vnet)); + btdev_dbg("%s has been deleted", ndev_name(vnet)); mutex_lock(&bt_mng->bitmap_lock); err = bt_virnet_get_cdev_number(vnet, &number); if (likely(!err)) @@ -602,7 +601,7 @@ static int bt_cmd_delete_virnet(struct bt_drv *bt_mng, unsigned long arg) static int bt_cmd_query_all_virnets(struct bt_drv *bt_mng, unsigned long arg) { if (unlikely(put_user(bt_mng->bitmap, (u32 *)arg))) { - BTDEV_DBG_ERR("put_user failed"); + btdev_dbg_err("put_user failed"); return -EIO; } return OK; @@ -621,7 +620,7 @@ static long bt_mng_file_ioctl(struct file *filep, struct bt_drv *bt_mng = NULL; if (unlikely(!filep) || unlikely(!filep->private_data)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } bt_mng = filep->private_data; @@ -640,7 +639,7 @@ static long bt_mng_file_ioctl(struct file *filep, ret = bt_cmd_delete_all_virnets(bt_mng, arg); break; default: - BTDEV_DBG_ERR("not a valid cmd(%u)", cmd); + btdev_dbg_err("not a valid cmd(%u)", cmd); return -ENOIOCTLCMD; } return ret; @@ -660,21 +659,20 @@ static netdev_tx_t bt_virnet_xmit(struct sk_buff *skb, struct bt_virnet *vnet = NULL; if (unlikely(!skb) || unlikely(!dev)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } vnet = bt_table_find(g_bt_drv->devices_table, dev->name); if (unlikely(!vnet)) { - BTDEV_DBG_ERR("bt_table_find %s failed", NDEV_NAME(vnet)); + btdev_dbg_err("bt_table_find %s failed", ndev_name(vnet)); return -EINVAL; } ret = bt_virnet_produce_data(vnet, (void *)skb); - if (unlikely(ret < 0)) { - BTDEV_DBG("%s produce data failed: ring is full, need to stop queue", - NDEV_NAME(vnet)); + btdev_dbg("%s produce data failed: ring is full, need to stop queue", + ndev_name(vnet)); netif_stop_queue(vnet->ndev); return NETDEV_TX_BUSY; } @@ -682,7 +680,7 @@ static netdev_tx_t bt_virnet_xmit(struct sk_buff *skb, vnet->ndev->stats.tx_packets++; vnet->ndev->stats.tx_bytes += skb->len; - BTDEV_DBG("%s send success, skb-len=%u", NDEV_NAME(vnet), skb->len); + btdev_dbg("%s send success, skb-len=%u", ndev_name(vnet), skb->len); return NETDEV_TX_OK; } @@ -695,7 +693,7 @@ static struct bt_table *bt_table_init(void) struct bt_table *tbl = kmalloc(sizeof(*tbl), GFP_KERNEL); if (unlikely(!tbl)) { - BTDEV_DBG_ERR("alloc failed"); + btdev_dbg_err("alloc failed"); return NULL; } @@ -710,17 +708,17 @@ static int bt_table_add_device(struct bt_table *tbl, struct bt_virnet *vn) struct bt_virnet *vnet = NULL; if (unlikely(!tbl)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return -EINVAL; } - vnet = bt_table_find(tbl, NDEV_NAME(vn)); + vnet = bt_table_find(tbl, ndev_name(vn)); if (unlikely(vnet)) { - BTDEV_DBG_ERR("found duplicated device %s", NDEV_NAME(vn)); + btdev_dbg_err("found duplicated device %s", ndev_name(vn)); return -ENOIOCTLCMD; // duplicated } - BTDEV_DBG("%s has been added", NDEV_NAME(vn)); + btdev_dbg("%s has been added", ndev_name(vn)); mutex_lock(&tbl->tbl_lock); list_add_tail(&vn->virnet_entry, &tbl->head); if (tbl->num < UINT32_MAX) @@ -735,7 +733,7 @@ static void bt_table_remove_device(struct bt_table *tbl, struct bt_virnet *vn) if (unlikely(!tbl)) return; - BTDEV_DBG("%s has been removed", NDEV_NAME(vn)); + btdev_dbg("%s has been removed", ndev_name(vn)); mutex_lock(&tbl->tbl_lock); list_del(&vn->virnet_entry); if (tbl->num) @@ -748,12 +746,12 @@ static struct bt_virnet *bt_table_find(struct bt_table *tbl, const char *ifa_nam struct bt_virnet *vnet = NULL; if (unlikely(!tbl) || unlikely(!ifa_name)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); return NULL; } list_for_each_entry(vnet, &tbl->head, virnet_entry) { - if (!strcmp(NDEV_NAME(vnet), ifa_name)) + if (!strcmp(ndev_name(vnet), ifa_name)) return vnet; } @@ -763,7 +761,8 @@ static struct bt_virnet *bt_table_find(struct bt_table *tbl, const char *ifa_nam static void __bt_table_delete_all(struct bt_drv *drv) { dev_t number; - struct bt_virnet *vnet = NULL, *tmp_vnet = NULL; + struct bt_virnet *vnet = NULL; + struct bt_virnet *tmp_vnet = NULL; if (unlikely(!g_bt_drv->devices_table)) return; @@ -777,7 +776,7 @@ static void __bt_table_delete_all(struct bt_drv *drv) if (likely(!err)) bt_clear_bit(&drv->bitmap, (u32)MINOR(number)); list_del(&vnet->virnet_entry); - BTDEV_DBG("%s has been deleted", NDEV_NAME(vnet)); + btdev_dbg("%s has been deleted", ndev_name(vnet)); bt_virnet_destroy(vnet); } drv->devices_table->num = 0; @@ -814,7 +813,7 @@ static struct bt_ring *__bt_ring_create(int size) ring = kmalloc(sizeof(*ring), GFP_KERNEL); if (unlikely(!ring)) { - BTDEV_DBG_ERR("ring alloc failed"); + btdev_dbg_err("ring alloc failed"); return NULL; } @@ -822,7 +821,7 @@ static struct bt_ring *__bt_ring_create(int size) ring->tail = 0; ring->data = kmalloc_array(size, sizeof(void *), GFP_KERNEL); if (unlikely(!ring->data)) { - BTDEV_DBG_ERR("ring data allocfailed"); + btdev_dbg_err("ring data allocfailed"); kfree(ring); return NULL; } @@ -893,7 +892,7 @@ static void bt_ring_destroy(struct bt_ring *ring) static int bt_virnet_produce_data(struct bt_virnet *dev, void *data) { if (unlikely(bt_ring_is_full(dev->tx_ring))) { - BTDEV_DBG("ring is full"); + btdev_dbg("ring is full"); return -ENFILE; } @@ -916,7 +915,7 @@ static struct class *bt_dev_class_create(void) struct class *cls = class_create(THIS_MODULE, "bt"); if (IS_ERR(cls)) { - BTDEV_DBG_ERR("create struct class failed"); + btdev_dbg_err("create struct class failed"); return NULL; } return cls; @@ -944,25 +943,25 @@ static int bt_cdev_device_create(struct bt_cdev *dev, int ret; if (unlikely(!cls)) { - BTDEV_DBG_ERR("not a valid class"); + btdev_dbg_err("not a valid class"); return -EINVAL; } dev->bt_class = cls; device = device_create(cls, NULL, devno, NULL, "%s%u", BT_DEV_NAME_PREFIX, id); if (IS_ERR(device)) { - BTDEV_DBG_ERR("create device failed, id=%d", id); + btdev_dbg_err("create device failed, id=%d", id); return -EIO; } ret = snprintf(dev->dev_filename, sizeof(dev->dev_filename), "%s%u", BT_DEV_PATH_PREFIX, id); if (ret < 0) { - BTDEV_DBG_ERR("snprintf failed, id=%d", id); + btdev_dbg_err("snprintf failed, id=%d", id); bt_cdev_device_destroy(dev); return -EFAULT; } - BTDEV_DBG("%s has been created", dev->dev_filename); + btdev_dbg("%s has been created", dev->dev_filename); return OK; } @@ -976,13 +975,13 @@ static struct bt_cdev *bt_cdev_create(const struct file_operations *ops, dev = kmalloc(sizeof(*dev), GFP_KERNEL); if (unlikely(!dev)) { - BTDEV_DBG_ERR("dev alloc failed, id=%d", id); + btdev_dbg_err("dev alloc failed, id=%d", id); goto dev_alloc_failed; } chrdev = cdev_alloc(); if (unlikely(!chrdev)) { - BTDEV_DBG_ERR("cdev alloc failed, id=%d", id); + btdev_dbg_err("cdev alloc failed, id=%d", id); goto cdev_alloc_failed; } @@ -991,12 +990,12 @@ static struct bt_cdev *bt_cdev_create(const struct file_operations *ops, ret = cdev_add(chrdev, MKDEV(BT_DEV_MAJOR, minor), 1); if (unlikely(ret < 0)) { - BTDEV_DBG_ERR("cdev add failed, id=%d", id); + btdev_dbg_err("cdev add failed, id=%d", id); goto cdev_add_failed; } if (unlikely(bt_cdev_device_create(dev, g_bt_drv->bt_class, minor) < 0)) { - BTDEV_DBG_ERR("bt cdev device create failed, id=%d", id); + btdev_dbg_err("bt cdev device create failed, id=%d", id); goto cdev_device_create_failed; } @@ -1029,7 +1028,7 @@ static void bt_cdev_delete(struct bt_cdev *bt_cdev) cdev_del(bt_cdev->cdev); } else { - BTDEV_DBG_ERR("cdev is null"); + btdev_dbg_err("cdev is null"); } } @@ -1041,12 +1040,12 @@ static struct bt_io_file *bt_create_io_file(u32 id) struct bt_io_file *file = kmalloc(sizeof(*file), GFP_KERNEL); if (unlikely(!file)) { - BTDEV_DBG_ERR("file alloc failed, id=%d", id); + btdev_dbg_err("file alloc failed, id=%d", id); return NULL; } file->bt_cdev = bt_cdev_create(&g_bt_io_file_ops, id); if (unlikely(!file->bt_cdev)) { - BTDEV_DBG_ERR("create cdev failed, id=%d", id); + btdev_dbg_err("create cdev failed, id=%d", id); kfree(file); return NULL; } @@ -1062,7 +1061,7 @@ static struct bt_io_file **bt_create_io_files(void) GFP_KERNEL); if (unlikely(!all_files)) { - BTDEV_DBG_ERR("all_files alloc failed"); + btdev_dbg_err("all_files alloc failed"); return NULL; } for (i = 0; i < BT_VIRNET_MAX_NUM; ++i) @@ -1099,20 +1098,20 @@ static struct bt_mng_file *bt_create_mng_file(int id) struct bt_mng_file *file = kmalloc(sizeof(*file), GFP_KERNEL); if (unlikely(!file)) { - BTDEV_DBG_ERR("file alloc failed"); + btdev_dbg_err("file alloc failed"); return NULL; } file->bt_cdev = bt_cdev_create(&g_bt_mng_file_ops, id); if (unlikely(!file->bt_cdev)) { - BTDEV_DBG_ERR("create cdev failed"); + btdev_dbg_err("create cdev failed"); kfree(file); return NULL; } atomic_set(&file->open_limit, 1); - BTDEV_DBG("mng file has been created"); + btdev_dbg("mng file has been created"); return file; } @@ -1143,17 +1142,17 @@ static struct net_device *bt_net_device_create(u32 id) char ifa_name[IFNAMSIZ]; if (unlikely(id < 0) || unlikely(id > BT_VIRNET_MAX_NUM)) { - BTDEV_DBG_ERR("invalid id"); + btdev_dbg_err("invalid id"); return NULL; } err = snprintf(ifa_name, sizeof(ifa_name), "%s%d", BT_VIRNET_NAME_PREFIX, id); if (err < 0) { - BTDEV_DBG_ERR("snprintf failed, id=%d", id); + btdev_dbg_err("snprintf failed, id=%d", id); return NULL; } ndev = alloc_netdev(0, ifa_name, NET_NAME_UNKNOWN, ether_setup); if (unlikely(!ndev)) { - BTDEV_DBG_ERR("%s ndev alloc failed", ifa_name); + btdev_dbg_err("%s ndev alloc failed", ifa_name); return NULL; } @@ -1165,12 +1164,12 @@ static struct net_device *bt_net_device_create(u32 id) err = register_netdev(ndev); if (unlikely(err)) { - BTDEV_DBG_ERR("%s register netdev failed", ifa_name); + btdev_dbg_err("%s register netdev failed", ifa_name); free_netdev(ndev); return NULL; } - BTDEV_DBG("%s has been created", ifa_name); + btdev_dbg("%s has been created", ifa_name); return ndev; } @@ -1179,7 +1178,7 @@ static struct net_device *bt_net_device_create(u32 id) */ static void bt_net_device_destroy(struct net_device *dev) { - BTDEV_DBG("%s has been destroyed", dev->name); + btdev_dbg("%s has been destroyed", dev->name); unregister_netdev(dev); free_netdev(dev); } @@ -1200,32 +1199,32 @@ static struct bt_virnet *bt_virnet_create(struct bt_drv *bt_mng, u32 id) struct bt_virnet *vnet = kmalloc(sizeof(*vnet), GFP_KERNEL); if (unlikely(!vnet)) { - BTDEV_DBG_ERR("invalid parameter"); + btdev_dbg_err("invalid parameter"); goto out_of_memory; } vnet->tx_ring = bt_ring_create(); if (unlikely(!vnet->tx_ring)) { - BTDEV_DBG_ERR("create ring failed"); + btdev_dbg_err("create ring failed"); goto bt_ring_create_failed; } vnet->ndev = bt_net_device_create(id); if (unlikely(!vnet->ndev)) { - BTDEV_DBG_ERR("create net device failed"); + btdev_dbg_err("create net device failed"); goto net_device_create_failed; } vnet->io_file = bt_get_io_file(bt_mng, id); if (unlikely(!vnet->io_file)) { - BTDEV_DBG_ERR("create cdev failed"); + btdev_dbg_err("create cdev failed"); goto get_io_file_failed; } init_waitqueue_head(&vnet->rx_queue); - SET_STATE(vnet, BT_VIRNET_STATE_CREATED); - BTDEV_DBG("%s has been created", CDEV_NAME(vnet)); + set_state(vnet, BT_VIRNET_STATE_CREATED); + btdev_dbg("%s has been created", cdev_name(vnet)); return vnet; get_io_file_failed: @@ -1243,11 +1242,11 @@ out_of_memory: static void bt_virnet_destroy(struct bt_virnet *vnet) { - BTDEV_DBG("%s has been destroyed", NDEV_NAME(vnet)); + btdev_dbg("%s has been destroyed", ndev_name(vnet)); bt_ring_destroy(vnet->tx_ring); bt_net_device_destroy(vnet->ndev); - SET_STATE(vnet, BT_VIRNET_STATE_DELETED); + set_state(vnet, BT_VIRNET_STATE_DELETED); kfree(vnet); } @@ -1266,88 +1265,119 @@ static void __exit bt_module_release(void) bt_cdev_region_destroy(BT_DEV_MAJOR, BT_VIRNET_MAX_NUM); remove_proc_entry("bt_info_proc", NULL); - BTDEV_DBG("success"); + btdev_dbg("success"); } -/** - * module init function - */ -static int __init bt_module_init(void) +static int __bt_module_base_init(void) { - int mid = 0; - struct proc_dir_entry *entry = NULL; + int ret = 0; g_bt_drv = kmalloc(sizeof(*g_bt_drv), GFP_KERNEL); if (unlikely(!g_bt_drv)) { - BTDEV_DBG_ERR("bt_drv alloc failed"); - goto out_of_memory; + btdev_dbg_err("bt_drv alloc failed"); + ret = -ENOMEM; + goto btdrv_alloc_failed; } if (unlikely(bt_cdev_region_init(BT_DEV_MAJOR, BT_VIRNET_MAX_NUM) < 0)) { - BTDEV_DBG_ERR("bt cdev region init failed"); - goto cdev_region_failed; + btdev_dbg_err("bt cdev region init failed"); + ret = -EFAULT; + goto cdev_region_fail; } g_bt_drv->devices_table = bt_table_init(); if (unlikely(!g_bt_drv->devices_table)) { - BTDEV_DBG_ERR("bt table init failed"); - goto table_init_failed; + btdev_dbg_err("bt table init failed"); + ret = -ENOMEM; + goto table_init_fail; } g_bt_drv->bt_class = bt_dev_class_create(); if (unlikely(!g_bt_drv->bt_class)) { - BTDEV_DBG_ERR("class create failed"); - goto class_create_failed; + btdev_dbg_err("class create failed"); + ret = -ENOMEM; + goto class_create_fail; } g_bt_drv->io_files = bt_create_io_files(); if (unlikely(!g_bt_drv->io_files)) { - BTDEV_DBG_ERR("bt create io files failed"); - goto io_files_create_failed; + btdev_dbg_err("bt create io files failed"); + ret = -ENOMEM; + goto io_files_create_fail; } mutex_init(&g_bt_drv->bitmap_lock); g_bt_drv->bitmap = 0; + return ret; + +io_files_create_fail: + bt_dev_class_destroy(g_bt_drv->bt_class); + +class_create_fail: + bt_table_destroy(g_bt_drv); + +table_init_fail: + bt_cdev_region_destroy(BT_DEV_MAJOR, BT_VIRNET_MAX_NUM); + +cdev_region_fail: + kfree(g_bt_drv); + g_bt_drv = NULL; + +btdrv_alloc_failed: + return ret; +} + +static int __bt_module_dev_create(void) +{ + int mid = 0; + struct proc_dir_entry *entry = NULL; + int ret = 0; mutex_lock(&g_bt_drv->bitmap_lock); g_bt_drv->mng_file = bt_create_mng_file(mid); if (unlikely(!g_bt_drv->mng_file)) { - BTDEV_DBG_ERR("bt create mng file failed"); + btdev_dbg_err("bt create mng file failed"); + ret = -ENOMEM; mutex_unlock(&g_bt_drv->bitmap_lock); - goto mng_file_create_failed; + goto mng_file_create_fail; } bt_set_bit(&g_bt_drv->bitmap, mid); mutex_unlock(&g_bt_drv->bitmap_lock); entry = proc_create_data("bt_info_proc", 0, NULL, &g_bt_proc_fops, NULL); if (unlikely(!entry)) { - BTDEV_DBG_ERR("create proc data failed"); - goto proc_create_failed; + btdev_dbg_err("create proc data failed"); + ret = -ENOMEM; + goto proc_create_fail; } - BTDEV_DBG("success"); - return OK; - -proc_create_failed: + return ret; +proc_create_fail: bt_delete_mng_file(g_bt_drv->mng_file); -mng_file_create_failed: +mng_file_create_fail: bt_delete_io_files(g_bt_drv); - -io_files_create_failed: bt_dev_class_destroy(g_bt_drv->bt_class); - -class_create_failed: bt_table_destroy(g_bt_drv); - -table_init_failed: bt_cdev_region_destroy(BT_DEV_MAJOR, BT_VIRNET_MAX_NUM); - -cdev_region_failed: kfree(g_bt_drv); + g_bt_drv = NULL; -out_of_memory: - return -1; + return ret; +} + +/** + * module init function + */ +static int __init bt_module_init(void) +{ + int ret; + + ret = __bt_module_base_init(); + if (ret < 0) + return ret; + + return __bt_module_dev_create(); } module_init(bt_module_init); diff --git a/newip/src/linux-5.10/drivers/net/bt/btdev.h b/newip/src/linux-5.10/drivers/net/bt/btdev.h index 92b4262c9c30bd813ef88c275eab843f299a461c..a214365fee468c2645d808255c685ae002f0ec7f 100644 --- a/newip/src/linux-5.10/drivers/net/bt/btdev.h +++ b/newip/src/linux-5.10/drivers/net/bt/btdev.h @@ -172,7 +172,7 @@ static inline void bt_clear_bit(u32 *bitmap, u32 idx) *bitmap &= ~(1 << idx); } -#define SET_STATE(vn, st) bt_virnet_set_state(vn, st) +#define set_state(vn, st) bt_virnet_set_state(vn, st) static inline void bt_virnet_set_state(struct bt_virnet *vn, enum bt_virnet_state state) { diff --git a/newip/src/linux-5.10/drivers/net/bt/btdev_user.h b/newip/src/linux-5.10/drivers/net/bt/btdev_user.h index 22630db7b1327884279db1d47a926676cbc66d88..bae24258abfc61ed90a508e07e00d72af6c27a25 100644 --- a/newip/src/linux-5.10/drivers/net/bt/btdev_user.h +++ b/newip/src/linux-5.10/drivers/net/bt/btdev_user.h @@ -13,14 +13,14 @@ #define BT_DEV_NAME_PREFIX "btdev" #define BT_DEV_PATH_PREFIX "/dev/" BT_DEV_NAME_PREFIX -#define BT_DEV_PATH(idx) (BT_DEV_PATH_PREFIX#idx) -#define BT_DEV_NAME(idx) (BT_DEV_NAME_PREFIX#idx) - -#define BT_DEV_NAME_MNG_FILE BT_DEV_NAME(0) -#define BT_DEV_PATH_MNG_FILE BT_DEV_PATH(0) -#define BT_DEV_NAME_IO_FILE(idx) BT_DEV_NAME(idx) -#define BT_DEV_PATH_IO_FILE(idx) BT_DEV_PATH(idx) -#define BT_VIRNET_NAME(idx) (BT_VIRNET_NAME_PREFIX#idx) +#define bt_dev_path(idx) (BT_DEV_PATH_PREFIX#idx) +#define bt_dev_name(idx) (BT_DEV_NAME_PREFIX#idx) + +#define BT_DEV_NAME_MNG_FILE bt_dev_name(0) +#define BT_DEV_PATH_MNG_FILE bt_dev_path(0) +#define bt_dev_name_to_file(idx) bt_dev_name(idx) +#define bt_dev_path_to_file(idx) bt_dev_path(idx) +#define bt_virnet_name(idx) (BT_VIRNET_NAME_PREFIX#idx) #define BT_PATHNAME_MAX 256 #define BT_VIRNET_MAX_NUM 16 diff --git a/newip/src/linux-5.10/net/newip/Kconfig b/newip/src/linux-5.10/net/newip/Kconfig index 603a4208ddc60b01bb0e2d1243ef765ab020c9c5..ce282cecea9a8898c02687f09755a2273c508f68 100644 --- a/newip/src/linux-5.10/net/newip/Kconfig +++ b/newip/src/linux-5.10/net/newip/Kconfig @@ -17,7 +17,7 @@ config NEWIP_FAST_KEEPALIVE Support for NewIP fast keepalive. config NEWIP_HOOKS - def_bool NEWIP && VENDOR_HOOKS + default n help Enable NewIP hooks implemented as tracepoints Allow NewIP modules to attach to tracepoint "hooks" defined via diff --git a/newip/src/linux-5.10/net/newip/nip_hooks_register.c b/newip/src/linux-5.10/net/newip/nip_hooks_register.c index 0541c4565a13769488db7c64291ce5f163fb9078..1d942501a1028876b1168f63681373438a91b883 100644 --- a/newip/src/linux-5.10/net/newip/nip_hooks_register.c +++ b/newip/src/linux-5.10/net/newip/nip_hooks_register.c @@ -12,25 +12,26 @@ #ifdef CONFIG_NEWIP_HOOKS #define pr_fmt(fmt) KBUILD_MODNAME ": [%s:%d] " fmt, __func__, __LINE__ +#include +#include +#include +#include #include /* ninet_ehashfn */ #include -#include #include "tcp_nip_parameter.h" /* call the newip hook function in sk_ehashfn function (net\ipv4\inet_hashtables.c): - * if trace_vendor_ninet_ehashfn_enabled() then call trace_vendor_ninet_ehashfn function. */ -void vendor_ninet_ehashfn(void *data, const struct sock *sk, u32 *ret) +void nip_ninet_ehashfn(const struct sock *sk, u32 *ret) { - *ret = ninet_ehashfn(sock_net(sk), &sk->sk_nip_rcv_saddr, - sk->sk_num, &sk->sk_nip_daddr, sk->sk_dport); + *ret = ninet_ehashfn(sock_net(sk), &sk->SK_NIP_RCV_SADDR, + sk->sk_num, &sk->SK_NIP_DADDR, sk->sk_dport); } /* call the newip hook function in inet_gifconf function (net\ipv4\devinet.c): - * call the newip trace_vendor_ninet_gifconf function after the IPv4 process. */ -void vendor_ninet_gifconf(void *data, struct net_device *dev, - char __user *buf, int len, int size, int *ret) +void nip_ninet_gifconf(struct net_device *dev, + char __user *buf, int len, int size, int *ret) { if (*ret >= 0) { int done = ninet_gifconf(dev, buf + *ret, len - *ret, size); @@ -42,23 +43,28 @@ void vendor_ninet_gifconf(void *data, struct net_device *dev, } } -int ninet_hooks_register(void) +void nip_ninet_ehashfn_lhck_register(void) { - int ret; + REGISTER_HCK_LITE_HOOK(nip_ninet_ehashfn_lhck, nip_ninet_ehashfn); +} - ret = register_trace_vendor_ninet_ehashfn(&vendor_ninet_ehashfn, NULL); - if (ret) { - nip_dbg("failed to register to vendor_ninet_ehashfn"); - return -1; - } +void nip_ninet_gifconf_lhck_register(void) +{ + REGISTER_HCK_LITE_HOOK(nip_ninet_gifconf_lhck, nip_ninet_gifconf); +} - ret = register_trace_vendor_ninet_gifconf(&vendor_ninet_gifconf, NULL); - if (ret) { - nip_dbg("failed to register to vendor_ninet_gifconf"); - return -1; - } +void __init ninet_hooks_init(void) +{ + nip_ninet_ehashfn_lhck_register(); + nip_ninet_gifconf_lhck_register(); +} - return 0; +void __exit ninet_hooks_exit(void) +{ } + +module_init(ninet_hooks_init); +module_exit(ninet_hooks_exit); + #endif /* CONFIG_NEWIP_HOOKS */ diff --git a/newip/src/linux-5.10/net/newip/nip_hooks_register.h b/newip/src/linux-5.10/net/newip/nip_hooks_register.h index 7ec04d13411d9c037f8d8c4f12c1a580b2bc7da3..b1bc8e7febfbd844b31464cac350d37b4a22abf7 100644 --- a/newip/src/linux-5.10/net/newip/nip_hooks_register.h +++ b/newip/src/linux-5.10/net/newip/nip_hooks_register.h @@ -13,7 +13,7 @@ #define _NIP_HOOKS_REGISTER_H #ifdef CONFIG_NEWIP_HOOKS -int ninet_hooks_register(void); +void __init ninet_hooks_init(void); #endif #endif /* _NIP_HOOKS_REGISTER_H */ diff --git a/newip/third_party/linux-5.10/include/linux/newip_route.h b/newip/third_party/linux-5.10/include/linux/newip_route.h index 94fbfc0d684864cf0b88e1bc3a47902aef2b3a00..5a555d4dd41906ddf2bbd287a6d1e3671407b882 100644 --- a/newip/third_party/linux-5.10/include/linux/newip_route.h +++ b/newip/third_party/linux-5.10/include/linux/newip_route.h @@ -2,7 +2,7 @@ /* * Based on include/uapi/linux/ipv6_route.h * Authors: - * Pedro Roque + * Pedro Roque * * Linux NewIP INET implementation * diff --git a/newip/third_party/linux-5.10/include/linux/nip.h b/newip/third_party/linux-5.10/include/linux/nip.h index 09732c2ba099ceb19472c7295ff79bc861962c3c..1cab1fe18a058e0221508a1ed821d9ca181c3d08 100644 --- a/newip/third_party/linux-5.10/include/linux/nip.h +++ b/newip/third_party/linux-5.10/include/linux/nip.h @@ -39,12 +39,12 @@ #define ETH_P_NEWIP 0xEADD /* NIP */ /* struct sock_common __sk_common */ -#define sk_nip_daddr __sk_common.nip_daddr -#define sk_nip_rcv_saddr __sk_common.nip_rcv_saddr +#define SK_NIP_DADDR __sk_common.nip_daddr +#define SK_NIP_RCV_SADDR __sk_common.nip_rcv_saddr /* struct request_sock req */ -#define ir_nip_rmt_addr req.__req_common.nip_daddr -#define ir_nip_loc_addr req.__req_common.nip_rcv_saddr +#define IR_NIP_RMT_ADDR req.__req_common.nip_daddr +#define IR_NIP_LOC_ADDR req.__req_common.nip_rcv_saddr struct nip_devconf { __s32 forwarding; diff --git a/newip/third_party/linux-5.10/include/net/flow_nip.h b/newip/third_party/linux-5.10/include/net/flow_nip.h index 47fc151f3d3ee5aa70d76acb6e317ea3fa1b19b2..73827509a657f3d01db52c2d2a5a2c3a1b478449 100644 --- a/newip/third_party/linux-5.10/include/net/flow_nip.h +++ b/newip/third_party/linux-5.10/include/net/flow_nip.h @@ -12,13 +12,13 @@ struct flow_nip { struct flowi_common __fl_common; -#define flowin_oif __fl_common.flowic_oif -#define flowin_iif __fl_common.flowic_iif +#define FLOWIN_OIF __fl_common.flowic_oif +#define FLOWIN_IIF __fl_common.flowic_iif struct nip_addr daddr; struct nip_addr saddr; union flowi_uli uli; -#define fln_sport uli.ports.sport -#define fln_dport uli.ports.dport +#define FLN_SPORT uli.ports.sport +#define FLN_DPORT uli.ports.dport } __attribute__((__aligned__(BITS_PER_LONG / 8))); #endif diff --git a/newip/third_party/linux-5.10/include/net/ninet_hashtables.h b/newip/third_party/linux-5.10/include/net/ninet_hashtables.h index 39442831d2f83b4633feeb85ae9d701a2f80242b..c1ec2b2f9c063f40bc4ac8e00f7b71e2250ad1cb 100644 --- a/newip/third_party/linux-5.10/include/net/ninet_hashtables.h +++ b/newip/third_party/linux-5.10/include/net/ninet_hashtables.h @@ -90,16 +90,16 @@ static inline struct sock *__ninet_lookup_skb(struct inet_hashinfo *hashinfo, return sk; return __ninet_lookup(dev_net(skb->dev), hashinfo, skb, - doff, &(NIPCB(skb)->srcaddr), sport, - &(NIPCB(skb)->dstaddr), ntohs(dport), + doff, &(nipcb(skb)->srcaddr), sport, + &(nipcb(skb)->dstaddr), ntohs(dport), iif, refcounted); } -#define NINET_MATCH(__sk, __net, __saddr, __daddr, __ports, __dif) \ +#define ninet_match(__sk, __net, __saddr, __daddr, __ports, __dif) \ (((__sk)->sk_portpair == (__ports)) && \ ((__sk)->sk_family == AF_NINET) && \ - nip_addr_eq(&(__sk)->sk_nip_daddr, (__saddr)) && \ - nip_addr_eq(&(__sk)->sk_nip_rcv_saddr, (__daddr)) && \ + nip_addr_eq(&(__sk)->SK_NIP_DADDR, (__saddr)) && \ + nip_addr_eq(&(__sk)->SK_NIP_RCV_SADDR, (__daddr)) && \ (!(__sk)->sk_bound_dev_if || \ ((__sk)->sk_bound_dev_if == (__dif))) && \ net_eq(sock_net(__sk), (__net))) diff --git a/newip/third_party/linux-5.10/include/net/nip.h b/newip/third_party/linux-5.10/include/net/nip.h index 52dc97a64bfb4e422b951c3b6e71adc09d098527..3b6777bac7bc9a3e2ce5304f1baf6c4617a913a1 100644 --- a/newip/third_party/linux-5.10/include/net/nip.h +++ b/newip/third_party/linux-5.10/include/net/nip.h @@ -56,7 +56,7 @@ struct ninet_protocol { unsigned int flags; }; -#define NIPCB(skb) ((struct ninet_skb_parm *)&(TCP_SKB_CB(skb)->header.hnip)) +#define nipcb(skb) ((struct ninet_skb_parm *)&(TCP_SKB_CB(skb)->header.hnip)) extern const struct ninet_protocol __rcu *ninet_protos[MAX_INET_PROTOS]; extern const struct proto_ops ninet_dgram_ops; diff --git a/newip/third_party/linux-5.10/include/uapi/linux/nip.h b/newip/third_party/linux-5.10/include/uapi/linux/nip.h index 9bf7dd805ca4fbd9e7a5cc1362846223ecd8a497..e4791cc70ac5cd64fac89bafb8b19dbec6ab50ee 100644 --- a/newip/third_party/linux-5.10/include/uapi/linux/nip.h +++ b/newip/third_party/linux-5.10/include/uapi/linux/nip.h @@ -43,7 +43,7 @@ struct nip_devreq { } devreq; }; -#define nip_dev_addr devreq.addr /* nip address */ -#define nip_dev_flags devreq.flags /* net device flags */ +#define NIP_DEV_ADDR devreq.addr /* nip address */ +#define NIP_DEV_FLAGS devreq.flags /* net device flags */ #endif /* _UAPI_NEWIP_H */ diff --git a/newip/third_party/linux-5.10/net/newip/af_ninet.c b/newip/third_party/linux-5.10/net/newip/af_ninet.c index dabd7dcc99f508468136f7daa57415bd31b2509a..f952f4bc85e0771d19dba1d52658db41febd4293 100644 --- a/newip/third_party/linux-5.10/net/newip/af_ninet.c +++ b/newip/third_party/linux-5.10/net/newip/af_ninet.c @@ -52,7 +52,6 @@ #include #ifdef CONFIG_NEWIP_HOOKS -#include #include "nip_hooks_register.h" #endif #include "tcp_nip_parameter.h" @@ -160,8 +159,8 @@ static int ninet_create(struct net *net, struct socket *sock, int protocol, sk->sk_family = PF_NINET; sk->sk_protocol = protocol; sk->sk_backlog_rcv = answer->prot->backlog_rcv; - sk->sk_nip_daddr = nip_any_addr; - sk->sk_nip_rcv_saddr = nip_any_addr; + sk->SK_NIP_DADDR = nip_any_addr; + sk->SK_NIP_RCV_SADDR = nip_any_addr; inet->uc_ttl = -1; inet->mc_loop = 1; @@ -231,7 +230,7 @@ int ninet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) goto out; } - sk->sk_nip_rcv_saddr = addr->sin_addr; + sk->SK_NIP_RCV_SADDR = addr->sin_addr; /* make sure we are allowed to bind here */ if ((snum || !inet->bind_address_no_port) && @@ -320,10 +319,10 @@ int ninet_getname(struct socket *sock, struct sockaddr *uaddr, peer == 1) return -ENOTCONN; sin->sin_port = inet->inet_dport; - sin->sin_addr = sk->sk_nip_daddr; + sin->sin_addr = sk->SK_NIP_DADDR; } else { sin->sin_port = inet->inet_sport; - sin->sin_addr = sk->sk_nip_rcv_saddr; + sin->sin_addr = sk->SK_NIP_RCV_SADDR; } return sizeof(*sin); } @@ -534,7 +533,7 @@ static int compat_select_ninet_ioctl(struct socket *sock, unsigned int cmd, static int __ninet_ioctl_cmd(struct socket *sock, unsigned int cmd, void __user *iov_base, __kernel_size_t iov_len) { - unsigned long arg = (unsigned long)(iov_base + NINET_IOCTL_HEAD_LEN); + unsigned long arg = (unsigned long)((char *)iov_base + NINET_IOCTL_HEAD_LEN); #ifdef CONFIG_COMPAT int arglen = iov_len - NINET_IOCTL_HEAD_LEN; @@ -803,11 +802,7 @@ static int __init ninet_init(void) } #ifdef CONFIG_NEWIP_HOOKS - err = ninet_hooks_register(); - if (err) { - nip_dbg("failed to register to nip hooks"); - goto nip_packet_fail; - } + ninet_hooks_init(); #endif nip_dbg("init newip address family ok"); diff --git a/newip/third_party/linux-5.10/net/newip/ninet_hashtables.c b/newip/third_party/linux-5.10/net/newip/ninet_hashtables.c index a5e7efccfedc869418cf806f97ca161325b228f2..5c39a3a48a96a313587b1e9f69a1cf25c5f1f25d 100644 --- a/newip/third_party/linux-5.10/net/newip/ninet_hashtables.c +++ b/newip/third_party/linux-5.10/net/newip/ninet_hashtables.c @@ -111,18 +111,18 @@ static inline u32 nip_portaddr_hash(const struct net *net, const struct nip_addr *saddr, unsigned int port) { - u32 v = (__force u32)saddr->nip_addr_field32[0] ^ (__force u32)saddr->nip_addr_field32[1]; + u32 v = (__force u32)saddr->NIP_ADDR_FIELD32[0] ^ (__force u32)saddr->NIP_ADDR_FIELD32[1]; return jhash_1word(v, net_hash_mix(net)) ^ port; } static u32 __nip_addr_jhash(const struct nip_addr *a, const u32 initval) { - u32 v = (__force u32)a->nip_addr_field32[0] ^ (__force u32)a->nip_addr_field32[1]; + u32 v = (__force u32)a->NIP_ADDR_FIELD32[0] ^ (__force u32)a->NIP_ADDR_FIELD32[1]; return jhash_3words(v, - (__force u32)a->nip_addr_field32[0], - (__force u32)a->nip_addr_field32[1], + (__force u32)a->NIP_ADDR_FIELD32[0], + (__force u32)a->NIP_ADDR_FIELD32[1], initval); } @@ -130,7 +130,7 @@ static struct inet_listen_hashbucket * ninet_lhash2_bucket_sk(struct inet_hashinfo *h, struct sock *sk) { u32 hash = nip_portaddr_hash(sock_net(sk), - &sk->sk_nip_rcv_saddr, + &sk->SK_NIP_RCV_SADDR, inet_sk(sk)->inet_num); return inet_lhash2_bucket(h, hash); } @@ -173,7 +173,7 @@ u32 ninet_ehashfn(const struct net *net, net_get_random_once(&ninet_hash_secret, sizeof(ninet_hash_secret)); /* Ipv6 uses S6_ADdr32 [3], the last 32bits of the address */ - lhash = (__force u32)laddr->nip_addr_field32[0]; + lhash = (__force u32)laddr->NIP_ADDR_FIELD32[0]; fhash = __nip_addr_jhash(faddr, ninet_hash_secret); return __ninet_ehashfn(lhash, lport, fhash, fport, @@ -321,14 +321,14 @@ begin: sk_nulls_for_each_rcu(sk, node, &head->chain) { if (sk->sk_hash != hash) continue; - if (!NINET_MATCH(sk, net, saddr, daddr, ports, dif)) + if (!ninet_match(sk, net, saddr, daddr, ports, dif)) continue; if (unlikely(!refcount_inc_not_zero(&sk->sk_refcnt))) { nip_dbg("sk->sk_refcnt == 0"); goto out; } - if (unlikely(!NINET_MATCH(sk, net, saddr, daddr, ports, dif))) { + if (unlikely(!ninet_match(sk, net, saddr, daddr, ports, dif))) { sock_gen_put(sk); goto begin; } @@ -352,8 +352,8 @@ static inline int nip_tcp_compute_score(struct sock *sk, struct net *net, if (inet_sk(sk)->inet_num == hnum && sk->sk_family == PF_NINET && net_eq(sock_net(sk), net)) { score = 1; - if (!nip_addr_eq(&sk->sk_nip_rcv_saddr, &nip_any_addr)) { - if (!nip_addr_eq(&sk->sk_nip_rcv_saddr, daddr)) + if (!nip_addr_eq(&sk->SK_NIP_RCV_SADDR, &nip_any_addr)) { + if (!nip_addr_eq(&sk->SK_NIP_RCV_SADDR, daddr)) return -1; score++; } @@ -448,9 +448,8 @@ static int __ninet_check_established(struct inet_timewait_death_row *death_row, { struct inet_hashinfo *hinfo = death_row->hashinfo; struct inet_sock *inet = inet_sk(sk); - struct nip_addr *daddr = &sk->sk_nip_rcv_saddr; - struct nip_addr *saddr = &sk->sk_nip_daddr; - int dif = sk->sk_bound_dev_if; + struct nip_addr *daddr = &sk->SK_NIP_RCV_SADDR; + struct nip_addr *saddr = &sk->SK_NIP_DADDR; struct net *net = sock_net(sk); const __portpair ports = INET_COMBINED_PORTS(inet->inet_dport, lport); unsigned int hash = ninet_ehashfn(net, daddr, lport, @@ -466,8 +465,8 @@ static int __ninet_check_established(struct inet_timewait_death_row *death_row, if (sk2->sk_hash != hash) continue; - if (likely(NINET_MATCH(sk2, net, - saddr, daddr, ports, dif))) { + if (likely(ninet_match(sk2, net, + saddr, daddr, ports, sk->sk_bound_dev_if))) { nip_dbg("found same sk in ehash"); goto not_unique; } @@ -496,8 +495,8 @@ static u64 ninet_sk_port_offset(const struct sock *sk) { const struct inet_sock *inet = inet_sk(sk); - return secure_newip_port_ephemeral(sk->sk_nip_rcv_saddr.nip_addr_field32, - sk->sk_nip_daddr.nip_addr_field32, + return secure_newip_port_ephemeral(sk->SK_NIP_RCV_SADDR.NIP_ADDR_FIELD32, + sk->SK_NIP_DADDR.NIP_ADDR_FIELD32, inet->inet_dport); } diff --git a/newip/third_party/linux-5.10/net/newip/nip_addrconf.c b/newip/third_party/linux-5.10/net/newip/nip_addrconf.c index afbe350fc7ce3b975175bd9b0718342554c00813..062fbc53ba4fe19964ec5eacf0a96b56a684c38d 100644 --- a/newip/third_party/linux-5.10/net/newip/nip_addrconf.c +++ b/newip/third_party/linux-5.10/net/newip/nip_addrconf.c @@ -724,7 +724,7 @@ static int nip_addr_proc_show(struct seq_file *seq, void *v) continue; for (j = 0; j < ifp->addr.bitlen / NIP_ADDR_BIT_LEN_8; j++) - seq_printf(seq, "%02x", ifp->addr.nip_addr_field8[j]); + seq_printf(seq, "%02x", ifp->addr.NIP_ADDR_FIELD8[j]); seq_printf(seq, "\t%8s\n", ifp->idev->dev ? ifp->idev->dev->name : ""); } @@ -842,7 +842,7 @@ int nip_addrconf_get_ifaddr(struct net *net, unsigned int cmd, void __user *arg) goto out; ifr.nip_ifr_name[IFNAMSIZ - 1] = 0; - snin = (struct sockaddr_nin *)&ifr.nip_dev_addr; + snin = (struct sockaddr_nin *)&ifr.NIP_DEV_ADDR; nip_dbg("dev name is %s", ifr.nip_ifr_name); dev_load(net, ifr.nip_ifr_name); @@ -886,7 +886,7 @@ void nip_addr_to_str(const struct nip_addr *addr, unsigned char *buf, int buf_le total_len = sprintf(buf, "%s", "0x"); for (i = 0; (i < addr_num) && (total_len < buf_len); i++) { - int len = sprintf(buf + total_len, "%02x", addr->nip_addr_field8[i]); + int len = sprintf(buf + total_len, "%02x", addr->NIP_ADDR_FIELD8[i]); if (len <= 0) break; diff --git a/newip/third_party/linux-5.10/net/newip/nip_input.c b/newip/third_party/linux-5.10/net/newip/nip_input.c index b459b77d525f9d1c98ba2ce6d5e1f491e4ce67b3..462c300de0b5123f9b0486244cea159e1da3f29c 100644 --- a/newip/third_party/linux-5.10/net/newip/nip_input.c +++ b/newip/third_party/linux-5.10/net/newip/nip_input.c @@ -8,7 +8,7 @@ * Changes * * Mitsuru KANDA @USAGI and - * YOSHIFUJI Hideaki @USAGI: Remove ipv6_parse_exthdrs(). + * YOSHIFUJI Hideaki @USAGI: Remove ipv6_parse_exthdrs(). * * NewIP input * Linux NewIP INET implementation @@ -63,8 +63,8 @@ static int nip_rcv_finish(struct sk_buff *skb) if (net->ipv4.sysctl_ip_early_demux && !skb_dst(skb) && !skb->sk) { const struct ninet_protocol *ipprot; - nip_dbg("try to early demux skb, nexthdr=0x%x", NIPCB(skb)->nexthdr); - ipprot = rcu_dereference(ninet_protos[NIPCB(skb)->nexthdr]); + nip_dbg("try to early demux skb, nexthdr=0x%x", nipcb(skb)->nexthdr); + ipprot = rcu_dereference(ninet_protos[nipcb(skb)->nexthdr]); if (ipprot) edemux = READ_ONCE(ipprot->early_demux); if (edemux) @@ -99,7 +99,7 @@ int nip_rcv(struct sk_buff *skb, struct net_device *dev, if (!skb) goto out; - memset(NIPCB(skb), 0, sizeof(struct ninet_skb_parm)); + memset(nipcb(skb), 0, sizeof(struct ninet_skb_parm)); offset = nip_hdr_parse(skb->data, skb->len, &niph); if (offset <= 0) { nip_dbg("check in failure, errcode=%d, Drop a packet (nexthdr=%u, hdr_len=%u)", @@ -114,9 +114,9 @@ int nip_rcv(struct sk_buff *skb, struct net_device *dev, } niph.total_len = ntohs(niph.total_len); - NIPCB(skb)->dstaddr = niph.daddr; - NIPCB(skb)->srcaddr = niph.saddr; - NIPCB(skb)->nexthdr = niph.nexthdr; + nipcb(skb)->dstaddr = niph.daddr; + nipcb(skb)->srcaddr = niph.saddr; + nipcb(skb)->nexthdr = niph.nexthdr; skb->transport_header = skb->network_header + offset; skb_orphan(skb); @@ -142,7 +142,7 @@ void nip_protocol_deliver_rcu(struct sk_buff *skb) if (!pskb_pull(skb, skb_transport_offset(skb))) goto discard; - ipprot = rcu_dereference(ninet_protos[NIPCB(skb)->nexthdr]); + ipprot = rcu_dereference(ninet_protos[nipcb(skb)->nexthdr]); if (ipprot) { ipprot->handler(skb); } else { diff --git a/newip/third_party/linux-5.10/net/newip/nip_output.c b/newip/third_party/linux-5.10/net/newip/nip_output.c index e6091969d26dc14a5dce82a26511015881a986f9..3aeb7c11ca1a607d19e8b2a12221e5b80a51f9c1 100644 --- a/newip/third_party/linux-5.10/net/newip/nip_output.c +++ b/newip/third_party/linux-5.10/net/newip/nip_output.c @@ -77,7 +77,7 @@ int nip_output(struct net *net, struct sock *sk, struct sk_buff *skb) skb->dev = dev; /* prepare to build ethernet header */ - nexthop = nip_nexthop((struct nip_rt_info *)dst, &NIPCB(skb)->dstaddr); + nexthop = nip_nexthop((struct nip_rt_info *)dst, &nipcb(skb)->dstaddr); rcu_read_lock_bh(); @@ -134,8 +134,8 @@ unsigned short nip_get_output_checksum(struct sk_buff *skb, unsigned short check_len = head->trans_hdr_len + head->usr_data_len; nph.nexthdr = IPPROTO_UDP; - nph.saddr = NIPCB(skb)->srcaddr; - nph.daddr = NIPCB(skb)->dstaddr; + nph.saddr = nipcb(skb)->srcaddr; + nph.daddr = nipcb(skb)->dstaddr; nph.check_len = htons(check_len); return nip_check_sum_build(udp_hdr, check_len, &nph); } @@ -165,7 +165,7 @@ static struct sk_buff *_nip_alloc_skb(struct sock *sk, dst_hold(dst); nip_dbg("malloc_len=%d, dst->__refcnt=%u", len, atomic_read(&dst->__refcnt)); skb_dst_set(skb, dst); - memset(NIPCB(skb), 0, sizeof(struct ninet_skb_parm)); + memset(nipcb(skb), 0, sizeof(struct ninet_skb_parm)); return skb; } @@ -196,9 +196,9 @@ static int _nip_udp_single_output(struct sock *sk, head->hdr_buf = skb->data; nip_hdr_udp_encap(head); skb_reserve(skb, head->hdr_buf_pos); - NIPCB(skb)->dstaddr = head->daddr; - NIPCB(skb)->srcaddr = head->saddr; - NIPCB(skb)->nexthdr = IPPROTO_UDP; + nipcb(skb)->dstaddr = head->daddr; + nipcb(skb)->srcaddr = head->saddr; + nipcb(skb)->nexthdr = IPPROTO_UDP; /* Fill in the Transport Layer Header (UDP) */ skb_reset_transport_header(skb); @@ -292,7 +292,7 @@ static int nip_sk_dst_check(struct dst_entry *dst, if (!dst) goto out; - if (fln->flowin_oif && fln->flowin_oif != dst->dev->ifindex) + if (fln->FLOWIN_OIF && fln->FLOWIN_OIF != dst->dev->ifindex) err = -EPERM; out: @@ -385,8 +385,8 @@ int tcp_nip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl) skb->protocol = htons(ETH_P_NEWIP); skb->ip_summed = CHECKSUM_NONE; skb->csum = 0; - saddr = &sk->sk_nip_rcv_saddr; - daddr = &sk->sk_nip_daddr; + saddr = &sk->SK_NIP_RCV_SADDR; + daddr = &sk->SK_NIP_DADDR; head.saddr = *saddr; head.daddr = *daddr; @@ -397,7 +397,7 @@ int tcp_nip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl) head.total_len = head.hdr_buf_pos + skb->len; nip_update_total_len(&head, htons(head.total_len)); - fln.daddr = sk->sk_nip_daddr; + fln.daddr = sk->SK_NIP_DADDR; dst = __sk_dst_check(sk, 0); if (!dst) { nip_dbg("no dst cache for sk, search newip rt"); @@ -417,9 +417,9 @@ int tcp_nip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl) memcpy(skb->data, head.hdr_buf, head.hdr_buf_pos); skb_reset_network_header(skb); - NIPCB(skb)->srcaddr = *saddr; - NIPCB(skb)->dstaddr = *daddr; - NIPCB(skb)->nexthdr = head.nexthdr; + nipcb(skb)->srcaddr = *saddr; + nipcb(skb)->dstaddr = *daddr; + nipcb(skb)->nexthdr = head.nexthdr; skb->priority = sk->sk_priority; head.total_len = skb->len; @@ -471,8 +471,8 @@ void tcp_nip_actual_send_reset(struct sock *sk, struct sk_buff *skb, u32 seq, skb_reserve(buff, MAX_TCP_HEADER); buff->sk = sk; // sk could be NULL - saddr = &(NIPCB(skb)->dstaddr); - daddr = &(NIPCB(skb)->srcaddr); + saddr = &(nipcb(skb)->dstaddr); + daddr = &(nipcb(skb)->srcaddr); /* Fill in tcp header */ t1 = skb_push(buff, sizeof(struct tcphdr)); @@ -520,9 +520,9 @@ void tcp_nip_actual_send_reset(struct sock *sk, struct sk_buff *skb, u32 seq, memcpy(buff->data, head.hdr_buf, head.hdr_buf_pos); skb_reset_network_header(buff); - NIPCB(buff)->srcaddr = *saddr; - NIPCB(buff)->dstaddr = *daddr; - NIPCB(buff)->nexthdr = head.nexthdr; + nipcb(buff)->srcaddr = *saddr; + nipcb(buff)->dstaddr = *daddr; + nipcb(buff)->nexthdr = head.nexthdr; buff->priority = priority; head.total_len = buff->len; diff --git a/newip/third_party/linux-5.10/net/newip/nndisc.c b/newip/third_party/linux-5.10/net/newip/nndisc.c index 65415108834ebb1417bd3a28b3ddcc03595d0af0..918843fa67b9c00820c6c2d495b0918b8e981cc6 100644 --- a/newip/third_party/linux-5.10/net/newip/nndisc.c +++ b/newip/third_party/linux-5.10/net/newip/nndisc.c @@ -237,9 +237,9 @@ bool nip_get_nndisc_rcv_checksum(struct sk_buff *skb, struct nip_pseudo_header nph = {0}; unsigned short check_len = (unsigned short)(transport_tail - (skb_transport_header(skb))); - nph.nexthdr = NIPCB(skb)->nexthdr; - nph.saddr = NIPCB(skb)->srcaddr; - nph.daddr = NIPCB(skb)->dstaddr; + nph.nexthdr = nipcb(skb)->nexthdr; + nph.saddr = nipcb(skb)->srcaddr; + nph.daddr = nipcb(skb)->dstaddr; nph.check_len = htons(check_len); return nip_check_sum_parse(skb_transport_header(skb), check_len, &nph) @@ -327,11 +327,11 @@ static struct sk_buff *nndisc_alloc_skb(struct net_device *dev, skb->ip_summed = CHECKSUM_NONE; skb->csum = 0; skb->dev = dev; - memset(NIPCB(skb), 0, sizeof(struct ninet_skb_parm)); + memset(nipcb(skb), 0, sizeof(struct ninet_skb_parm)); - NIPCB(skb)->dstaddr = head->daddr; - NIPCB(skb)->srcaddr = head->saddr; - NIPCB(skb)->nexthdr = head->nexthdr; + nipcb(skb)->dstaddr = head->daddr; + nipcb(skb)->srcaddr = head->saddr; + nipcb(skb)->nexthdr = head->nexthdr; /* reserve space for hardware header */ skb_reserve(skb, NIP_ETH_HDR_LEN); skb_reset_network_header(skb); @@ -523,13 +523,13 @@ int nndisc_rcv_ns(struct sk_buff *skb) goto out; } - neigh = __neigh_lookup(&nnd_tbl, &NIPCB(skb)->srcaddr, dev, lladdr || !dev->addr_len); + neigh = __neigh_lookup(&nnd_tbl, &nipcb(skb)->srcaddr, dev, lladdr || !dev->addr_len); if (neigh) { neigh_update(neigh, lladdr, NUD_STALE, NEIGH_UPDATE_F_OVERRIDE, 0); neigh_release(neigh); } - nndisc_send_na(dev, &NIPCB(skb)->srcaddr, &addr); + nndisc_send_na(dev, &nipcb(skb)->srcaddr, &addr); out: kfree_skb(skb); return err; @@ -555,7 +555,7 @@ int nndisc_rcv_na(struct sk_buff *skb) return 0; } - neigh = neigh_lookup(&nnd_tbl, &NIPCB(skb)->srcaddr, dev); + neigh = neigh_lookup(&nnd_tbl, &nipcb(skb)->srcaddr, dev); if (neigh) { neigh_update(neigh, lladdr, NUD_REACHABLE, NEIGH_UPDATE_F_OVERRIDE, 0); neigh_release(neigh); diff --git a/newip/third_party/linux-5.10/net/newip/route.c b/newip/third_party/linux-5.10/net/newip/route.c index d98c9abb2ee823f1da7854685932cb28c4d16dac..c0a83c8fa06d9ce156c9299e8d6c16cc8c2385a3 100644 --- a/newip/third_party/linux-5.10/net/newip/route.c +++ b/newip/third_party/linux-5.10/net/newip/route.c @@ -311,7 +311,7 @@ static struct nip_rt_info *nip_pol_route_input(struct net *net, struct nip_fib_table *table, struct flow_nip *fln, int flags) { - return nip_pol_route(net, table, fln->flowin_iif, fln, flags); + return nip_pol_route(net, table, fln->FLOWIN_IIF, fln, flags); } struct dst_entry *nip_route_input_lookup(struct net *net, @@ -326,9 +326,9 @@ int nip_route_input(struct sk_buff *skb) struct net *net = dev_net(skb->dev); int flags = 0; struct flow_nip fln = { - .flowin_iif = skb->skb_iif, - .daddr = NIPCB(skb)->dstaddr, - .saddr = NIPCB(skb)->srcaddr, + .FLOWIN_IIF = skb->skb_iif, + .daddr = nipcb(skb)->dstaddr, + .saddr = nipcb(skb)->srcaddr, }; struct dst_entry *out_dst; int tbl_type = 0; @@ -366,7 +366,7 @@ static struct nip_rt_info *nip_pol_route_output(struct net *net, struct nip_fib_table *table, struct flow_nip *fln, int flags) { - return nip_pol_route(net, table, fln->flowin_oif, fln, flags); + return nip_pol_route(net, table, fln->FLOWIN_OIF, fln, flags); } struct dst_entry *nip_route_output_flags(struct net *net, const struct sock *sk, @@ -717,7 +717,7 @@ static inline const void *nip_choose_neigh_daddr(struct nip_rt_info *rt, if (rt->rt_flags & RTF_GATEWAY) return (const void *)p; else if (skb) - return &NIPCB(skb)->dstaddr; + return &nipcb(skb)->dstaddr; return daddr; } @@ -961,7 +961,7 @@ static void seq_printf_nipaddr_to_proc(struct seq_file *seq, int i = 0; for (i = 0; i < addr->bitlen / NIP_ADDR_BIT_LEN_8; i++) - seq_printf(seq, "%02x", addr->nip_addr_field8[i]); + seq_printf(seq, "%02x", addr->NIP_ADDR_FIELD8[i]); seq_puts(seq, "\t"); } diff --git a/newip/third_party/linux-5.10/net/newip/tcp_nip.c b/newip/third_party/linux-5.10/net/newip/tcp_nip.c index 1ff3b2d3643d2f870d42d013179f01ea8b61d25b..63e2ff5d3c98158232cfb9a70e8b63524cfd0050 100644 --- a/newip/third_party/linux-5.10/net/newip/tcp_nip.c +++ b/newip/third_party/linux-5.10/net/newip/tcp_nip.c @@ -402,7 +402,7 @@ #include "nip_checksum.h" #include "tcp_nip_parameter.h" -#define TCP_HEADER_LENGTH(th) ((th)->doff << 2) +#define tcp_header_length(th) ((th)->doff << 2) #define TCP_ACK_NUM_MULTIPLIER 20 #define TCP_WINDOW_RAISE_THRESHOLD 2 #define TCP_BACKLOG_HEADROOM (64 * 1024) @@ -437,9 +437,9 @@ bool nip_get_tcp_input_checksum(struct sk_buff *skb) { struct nip_pseudo_header nph = {0}; - nph.nexthdr = NIPCB(skb)->nexthdr; - nph.saddr = NIPCB(skb)->srcaddr; - nph.daddr = NIPCB(skb)->dstaddr; + nph.nexthdr = nipcb(skb)->nexthdr; + nph.saddr = nipcb(skb)->srcaddr; + nph.daddr = nipcb(skb)->dstaddr; nph.check_len = htons(skb->len); return nip_check_sum_parse(skb_transport_header(skb), @@ -583,8 +583,8 @@ static void tcp_nip_init_req(struct request_sock *req, { struct inet_request_sock *ireq = inet_rsk(req); - ireq->ir_nip_rmt_addr = NIPCB(skb)->srcaddr; - ireq->ir_nip_loc_addr = NIPCB(skb)->dstaddr; + ireq->IR_NIP_RMT_ADDR = nipcb(skb)->srcaddr; + ireq->IR_NIP_LOC_ADDR = nipcb(skb)->dstaddr; } /* Function @@ -596,8 +596,8 @@ static void tcp_nip_init_req(struct request_sock *req, */ static __u32 tcp_nip_init_sequence(const struct sk_buff *skb) { - return secure_tcp_nip_sequence_number(NIPCB(skb)->dstaddr.nip_addr_field32, - NIPCB(skb)->srcaddr.nip_addr_field32, + return secure_tcp_nip_sequence_number(nipcb(skb)->dstaddr.NIP_ADDR_FIELD32, + nipcb(skb)->srcaddr.NIP_ADDR_FIELD32, tcp_hdr(skb)->dest, tcp_hdr(skb)->source); } @@ -610,7 +610,7 @@ static struct dst_entry *tcp_nip_route_req(const struct sock *sk, struct inet_request_sock *ireq = inet_rsk(req); struct flow_nip fln; - fln.daddr = ireq->ir_nip_rmt_addr; + fln.daddr = ireq->IR_NIP_RMT_ADDR; dst = nip_route_output(sock_net(sk), sk, &fln); return dst; } @@ -653,7 +653,7 @@ static int tcp_nip_connect(struct sock *sk, struct sockaddr *uaddr, /* Find the route and obtain the source address */ nip_dbg("sk->sk_bound_dev_if is %d", sk->sk_bound_dev_if); - fln.flowin_oif = sk->sk_bound_dev_if; + fln.FLOWIN_OIF = sk->sk_bound_dev_if; dst = nip_dst_lookup_flow(sock_net(sk), sk, &fln, NULL); if (IS_ERR(dst)) { nip_dbg("cannot find dst"); @@ -661,10 +661,10 @@ static int tcp_nip_connect(struct sock *sk, struct sockaddr *uaddr, goto failure; } - /* find the actual source addr for sk->sk_nip_rcv_saddr */ - if (nip_addr_eq(&sk->sk_nip_rcv_saddr, &nip_any_addr)) - sk->sk_nip_rcv_saddr = fln.saddr; - fln.saddr = sk->sk_nip_rcv_saddr; + /* find the actual source addr for sk->SK_NIP_RCV_SADDR */ + if (nip_addr_eq(&sk->SK_NIP_RCV_SADDR, &nip_any_addr)) + sk->SK_NIP_RCV_SADDR = fln.saddr; + fln.saddr = sk->SK_NIP_RCV_SADDR; if (nip_addr_invalid(&fln.daddr)) { nip_dbg("nip daddr invalid, bitlen=%u", fln.daddr.bitlen); @@ -680,7 +680,7 @@ static int tcp_nip_connect(struct sock *sk, struct sockaddr *uaddr, /* The destination address and port are set to the transport control block */ inet->inet_dport = usin->sin_port; - sk->sk_nip_daddr = usin->sin_addr; + sk->SK_NIP_DADDR = usin->sin_addr; inet_csk(sk)->icsk_ext_hdr_len = 0; if (inet_opt) @@ -707,8 +707,8 @@ static int tcp_nip_connect(struct sock *sk, struct sockaddr *uaddr, if (!tp->write_seq) tp->write_seq = - secure_tcp_nip_sequence_number(sk->sk_nip_rcv_saddr.nip_addr_field32, - sk->sk_nip_daddr.nip_addr_field32, + secure_tcp_nip_sequence_number(sk->SK_NIP_RCV_SADDR.NIP_ADDR_FIELD32, + sk->SK_NIP_DADDR.NIP_ADDR_FIELD32, inet->inet_sport, usin->sin_port); @@ -746,7 +746,7 @@ static void tcp_nip_send_reset(struct sock *sk, struct sk_buff *skb) seq = ntohl(th->ack_seq); else ack_seq = ntohl(th->seq) + th->syn + th->fin + skb->len - - TCP_HEADER_LENGTH(th); + tcp_header_length(th); tcp_nip_actual_send_reset(sk, skb, seq, ack_seq, 0, 1, priority); } @@ -870,7 +870,7 @@ static struct sock *tcp_nip_syn_recv_sock(const struct sock *sk, struct sk_buff if (sk_acceptq_is_full(sk)) goto out_overflow; - fln.daddr = ireq->ir_nip_rmt_addr; + fln.daddr = ireq->IR_NIP_RMT_ADDR; if (!dst) { dst = nip_route_output(sock_net(sk), sk, &fln); if (!dst) @@ -890,8 +890,8 @@ static struct sock *tcp_nip_syn_recv_sock(const struct sock *sk, struct sk_buff newtp = tcp_sk(newsk); newinet = inet_sk(newsk); - newsk->sk_nip_daddr = ireq->ir_nip_rmt_addr; - newsk->sk_nip_rcv_saddr = ireq->ir_nip_loc_addr; + newsk->SK_NIP_DADDR = ireq->IR_NIP_RMT_ADDR; + newsk->SK_NIP_RCV_SADDR = ireq->IR_NIP_LOC_ADDR; newinet->inet_opt = NULL; @@ -1842,8 +1842,8 @@ static void tcp_nip_early_demux(struct sk_buff *skb) return; sk = __ninet_lookup_established(dev_net(skb->dev), &tcp_hashinfo, - &NIPCB(skb)->srcaddr, th->source, - &NIPCB(skb)->dstaddr, ntohs(th->dest), skb->skb_iif); + &nipcb(skb)->srcaddr, th->source, + &nipcb(skb)->dstaddr, ntohs(th->dest), skb->skb_iif); if (sk) { skb->sk = sk; skb->destructor = sock_edemux; @@ -1990,8 +1990,9 @@ struct sock *ninet_csk_accept(struct sock *sk, int flags, int *err, bool kern) u32 sk_max_ack_backlog = READ_ONCE(sk->sk_max_ack_backlog); newsk = inet_csk_accept(sk, flags, err, kern); - nip_dbg("accept %s, sk_ack_backlog_last=%u, sk_max_ack_backlog=%u", - (newsk ? "ok" : "fail"), sk_ack_backlog_last, sk_max_ack_backlog); + nip_dbg("accept %s, sk_ack_backlog_last=%u, sk_max_ack_backlog=%u, err=%d", + (newsk ? "ok" : "fail"), sk_ack_backlog_last, sk_max_ack_backlog, + *err); return newsk; } diff --git a/newip/third_party/linux-5.10/net/newip/tcp_nip_output.c b/newip/third_party/linux-5.10/net/newip/tcp_nip_output.c index 0a62877376b59262ee269cd39a1d9c22b1b259ca..47dd74582e3c21ea0f36c0f70ca6c100f8c31905 100644 --- a/newip/third_party/linux-5.10/net/newip/tcp_nip_output.c +++ b/newip/third_party/linux-5.10/net/newip/tcp_nip_output.c @@ -84,7 +84,7 @@ static inline int __tcp_nip_mtu_to_mss(struct sock *sk, int pmtu) const struct tcp_sock *tp = tcp_sk(sk); const struct inet_connection_sock *icsk = inet_csk(sk); int mss_now; - int nip_hdr_len = get_nip_hdr_len(NIP_HDR_COMM, &sk->sk_nip_rcv_saddr, &sk->sk_nip_daddr); + int nip_hdr_len = get_nip_hdr_len(NIP_HDR_COMM, &sk->SK_NIP_RCV_SADDR, &sk->SK_NIP_DADDR); /* Calculate base mss without TCP options: It is MMS_S - sizeof(tcphdr) of rfc1122 */ nip_hdr_len = nip_hdr_len == 0 ? NIP_HDR_MAX : nip_hdr_len; @@ -393,8 +393,8 @@ static __u16 tcp_nip_advertise_mss(struct sock *sk) } mtu = dst_mtu(dst); - nip_hdr_len = get_nip_hdr_len(NIP_HDR_COMM, &sk->sk_nip_rcv_saddr, - &sk->sk_nip_daddr); + nip_hdr_len = get_nip_hdr_len(NIP_HDR_COMM, &sk->SK_NIP_RCV_SADDR, + &sk->SK_NIP_DADDR); nip_hdr_len = nip_hdr_len == 0 ? NIP_HDR_MAX : nip_hdr_len; nip_mss = mtu - nip_hdr_len - sizeof(struct tcphdr); if (nip_mss > mss) { @@ -577,7 +577,7 @@ static int __tcp_nip_transmit_skb(struct sock *sk, struct sk_buff *skb, sk->sk_rcvbuf, atomic_read(&sk->sk_rmem_alloc), ack, skb->len); /* Fill in checksum */ - check = nip_get_output_checksum_tcp(skb, sk->sk_nip_rcv_saddr, sk->sk_nip_daddr); + check = nip_get_output_checksum_tcp(skb, sk->SK_NIP_RCV_SADDR, sk->SK_NIP_DADDR); th->check = htons(check); if (likely(tcb->tcp_flags & TCPHDR_ACK)) @@ -759,7 +759,7 @@ static int get_nip_mss(const struct sock *sk, struct dst_entry *dst, struct requ mss = user_mss; mtu = dst_mtu(dst); - nip_hdr_len = get_nip_hdr_len(NIP_HDR_COMM, &ireq->ir_nip_loc_addr, &ireq->ir_nip_rmt_addr); + nip_hdr_len = get_nip_hdr_len(NIP_HDR_COMM, &ireq->IR_NIP_LOC_ADDR, &ireq->IR_NIP_RMT_ADDR); nip_hdr_len = nip_hdr_len == 0 ? NIP_HDR_MAX : nip_hdr_len; nip_mss = mtu - nip_hdr_len - sizeof(struct tcphdr); @@ -853,7 +853,7 @@ struct sk_buff *tcp_nip_make_synack(const struct sock *sk, struct dst_entry *dst __TCP_INC_STATS(sock_net(sk), TCP_MIB_OUTSEGS); /* Fill in checksum */ - check = nip_get_output_checksum_tcp(skb, ireq->ir_nip_loc_addr, ireq->ir_nip_rmt_addr); + check = nip_get_output_checksum_tcp(skb, ireq->IR_NIP_LOC_ADDR, ireq->IR_NIP_RMT_ADDR); th->check = htons(check); /* Do not fool tcpdump (if any), clean our debris */ @@ -879,8 +879,8 @@ int __nip_send_synack(struct request_sock *req, struct sk_buff *skb) skb->protocol = htons(ETH_P_NEWIP); skb->ip_summed = csummode; skb->csum = 0; - saddr = &ireq->ir_nip_loc_addr; - daddr = &ireq->ir_nip_rmt_addr; + saddr = &ireq->IR_NIP_LOC_ADDR; + daddr = &ireq->IR_NIP_RMT_ADDR; head.saddr = *saddr; head.daddr = *daddr; @@ -894,9 +894,9 @@ int __nip_send_synack(struct request_sock *req, struct sk_buff *skb) skb_push(skb, head.hdr_buf_pos); memcpy(skb->data, head.hdr_buf, head.hdr_buf_pos); skb_reset_network_header(skb); - NIPCB(skb)->srcaddr = *saddr; - NIPCB(skb)->dstaddr = *daddr; - NIPCB(skb)->nexthdr = head.nexthdr; + nipcb(skb)->srcaddr = *saddr; + nipcb(skb)->dstaddr = *daddr; + nipcb(skb)->nexthdr = head.nexthdr; head.total_len = skb->len; err = nip_send_skb(skb); diff --git a/newip/third_party/linux-5.10/net/newip/udp.c b/newip/third_party/linux-5.10/net/newip/udp.c index b2619a94787a0bb9f21c4b134f15634fee1cd86c..5ff0c6044ce2a54df4b9fca468f87902d6bd512a 100644 --- a/newip/third_party/linux-5.10/net/newip/udp.c +++ b/newip/third_party/linux-5.10/net/newip/udp.c @@ -133,7 +133,7 @@ int nip_udp_get_port(struct sock *sk, unsigned short snum) hash2_nulladdr = nip_udp_portaddr_hash(sock_net(sk), &nip_any_addr, snum); /* hash2_partial is the hash result of nip_addr only */ - hash2_partial = nip_udp_portaddr_hash(sock_net(sk), &sk->sk_nip_rcv_saddr, 0); + hash2_partial = nip_udp_portaddr_hash(sock_net(sk), &sk->SK_NIP_RCV_SADDR, 0); /* precompute partial secondary hash */ udp_sk(sk)->udp_portaddr_hash = hash2_partial; @@ -166,8 +166,8 @@ static int nip_udp_compute_score(struct sock *sk, struct net *net, /* Source ADDRESS of the local device * In the header sent by the peer device, it is the destination address */ - if (!nip_addr_any(&sk->sk_nip_rcv_saddr)) { - if (!nip_addr_eq(&sk->sk_nip_rcv_saddr, daddr)) + if (!nip_addr_any(&sk->SK_NIP_RCV_SADDR)) { + if (!nip_addr_eq(&sk->SK_NIP_RCV_SADDR, daddr)) return -1; score++; } @@ -175,8 +175,8 @@ static int nip_udp_compute_score(struct sock *sk, struct net *net, /* Address of the peer device * In the packet header sent by the peer device, is the source ADDRESS */ - if (!nip_addr_any(&sk->sk_nip_daddr)) { - if (!nip_addr_eq(&sk->sk_nip_daddr, saddr)) + if (!nip_addr_any(&sk->SK_NIP_DADDR)) { + if (!nip_addr_eq(&sk->SK_NIP_DADDR, saddr)) return -1; score++; } @@ -261,8 +261,8 @@ static struct sock *__nip_udp_lib_lookup_skb(struct sk_buff *skb, struct udp_table *udptable) { return __nip_udp_lib_lookup(dev_net(skb->dev), - &NIPCB(skb)->srcaddr, sport, - &NIPCB(skb)->dstaddr, dport, skb->skb_iif, + &nipcb(skb)->srcaddr, sport, + &nipcb(skb)->dstaddr, dport, skb->skb_iif, 0, udptable, skb); } @@ -309,7 +309,7 @@ int nip_udp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, sin->sin_family = AF_NINET; sin->sin_port = udp_hdr(skb)->source; - sin->sin_addr = NIPCB(skb)->srcaddr; + sin->sin_addr = nipcb(skb)->srcaddr; *addr_len = sizeof(*sin); } @@ -349,9 +349,9 @@ bool nip_get_udp_input_checksum(struct sk_buff *skb) struct udphdr *udphead = udp_hdr(skb); unsigned short check_len = ntohs(udphead->len); - nph.nexthdr = NIPCB(skb)->nexthdr; - nph.saddr = NIPCB(skb)->srcaddr; - nph.daddr = NIPCB(skb)->dstaddr; + nph.nexthdr = nipcb(skb)->nexthdr; + nph.saddr = nipcb(skb)->srcaddr; + nph.daddr = nipcb(skb)->dstaddr; nph.check_len = udphead->len; return nip_check_sum_parse(skb_transport_header(skb), check_len, &nph) @@ -433,7 +433,7 @@ int nip_udp_output(struct sock *sk, struct msghdr *msg, size_t len) sport = htons(inet->inet_num); /* Check the dev index */ - fln.flowin_oif = sk->sk_bound_dev_if; + fln.FLOWIN_OIF = sk->sk_bound_dev_if; /* Query the route & Obtain the Saddr */ dst = nip_sk_dst_lookup_flow(sk, &fln);