l2tp: style cleanup

Make l2tp conform to kernel style guidelines
This commit is contained in:
Stephen Hemminger 2016-11-29 13:40:06 -08:00
parent 51a9d01aaa
commit 281db53ff8
1 changed files with 84 additions and 55 deletions

View File

@ -110,11 +110,13 @@ static int create_tunnel(struct l2tp_parm *p)
if (p->local_ip.family == AF_INET6) if (p->local_ip.family == AF_INET6)
local_attr = L2TP_ATTR_IP6_SADDR; local_attr = L2TP_ATTR_IP6_SADDR;
addattr_l(&req.n, 1024, local_attr, &p->local_ip.data, p->local_ip.bytelen); addattr_l(&req.n, 1024, local_attr, &p->local_ip.data,
p->local_ip.bytelen);
if (p->peer_ip.family == AF_INET6) if (p->peer_ip.family == AF_INET6)
peer_attr = L2TP_ATTR_IP6_DADDR; peer_attr = L2TP_ATTR_IP6_DADDR;
addattr_l(&req.n, 1024, peer_attr, &p->peer_ip.data, p->peer_ip.bytelen); addattr_l(&req.n, 1024, peer_attr, &p->peer_ip.data,
p->peer_ip.bytelen);
if (p->encap == L2TP_ENCAPTYPE_UDP) { if (p->encap == L2TP_ENCAPTYPE_UDP) {
addattr16(&req.n, 1024, L2TP_ATTR_UDP_SPORT, p->local_udp_port); addattr16(&req.n, 1024, L2TP_ATTR_UDP_SPORT, p->local_udp_port);
@ -159,18 +161,27 @@ static int create_session(struct l2tp_parm *p)
addattr8(&req.n, 1024, L2TP_ATTR_L2SPEC_TYPE, p->l2spec_type); addattr8(&req.n, 1024, L2TP_ATTR_L2SPEC_TYPE, p->l2spec_type);
addattr8(&req.n, 1024, L2TP_ATTR_L2SPEC_LEN, p->l2spec_len); addattr8(&req.n, 1024, L2TP_ATTR_L2SPEC_LEN, p->l2spec_len);
if (p->mtu) addattr16(&req.n, 1024, L2TP_ATTR_MTU, p->mtu); if (p->mtu)
if (p->recv_seq) addattr8(&req.n, 1024, L2TP_ATTR_RECV_SEQ, 1); addattr16(&req.n, 1024, L2TP_ATTR_MTU, p->mtu);
if (p->send_seq) addattr8(&req.n, 1024, L2TP_ATTR_SEND_SEQ, 1); if (p->recv_seq)
if (p->lns_mode) addattr(&req.n, 1024, L2TP_ATTR_LNS_MODE); addattr8(&req.n, 1024, L2TP_ATTR_RECV_SEQ, 1);
if (p->data_seq) addattr8(&req.n, 1024, L2TP_ATTR_DATA_SEQ, p->data_seq); if (p->send_seq)
if (p->reorder_timeout) addattr64(&req.n, 1024, L2TP_ATTR_RECV_TIMEOUT, addattr8(&req.n, 1024, L2TP_ATTR_SEND_SEQ, 1);
if (p->lns_mode)
addattr(&req.n, 1024, L2TP_ATTR_LNS_MODE);
if (p->data_seq)
addattr8(&req.n, 1024, L2TP_ATTR_DATA_SEQ, p->data_seq);
if (p->reorder_timeout)
addattr64(&req.n, 1024, L2TP_ATTR_RECV_TIMEOUT,
p->reorder_timeout); p->reorder_timeout);
if (p->offset) addattr16(&req.n, 1024, L2TP_ATTR_OFFSET, p->offset); if (p->offset)
if (p->cookie_len) addattr_l(&req.n, 1024, L2TP_ATTR_COOKIE, addattr16(&req.n, 1024, L2TP_ATTR_OFFSET, p->offset);
p->cookie, p->cookie_len); if (p->cookie_len)
if (p->peer_cookie_len) addattr_l(&req.n, 1024, L2TP_ATTR_PEER_COOKIE, addattr_l(&req.n, 1024, L2TP_ATTR_COOKIE,
p->peer_cookie, p->peer_cookie_len); p->cookie, p->cookie_len);
if (p->peer_cookie_len)
addattr_l(&req.n, 1024, L2TP_ATTR_PEER_COOKIE,
p->peer_cookie, p->peer_cookie_len);
if (p->ifname && p->ifname[0]) if (p->ifname && p->ifname[0])
addattrstrz(&req.n, 1024, L2TP_ATTR_IFNAME, p->ifname); addattrstrz(&req.n, 1024, L2TP_ATTR_IFNAME, p->ifname);
@ -213,8 +224,12 @@ static void print_tunnel(const struct l2tp_data *data)
p->tunnel_id, p->tunnel_id,
p->encap == L2TP_ENCAPTYPE_UDP ? "UDP" : p->encap == L2TP_ENCAPTYPE_UDP ? "UDP" :
p->encap == L2TP_ENCAPTYPE_IP ? "IP" : "??"); p->encap == L2TP_ENCAPTYPE_IP ? "IP" : "??");
printf(" From %s ", inet_ntop(p->local_ip.family, p->local_ip.data, buf, sizeof(buf))); printf(" From %s ",
printf("to %s\n", inet_ntop(p->peer_ip.family, p->peer_ip.data, buf, sizeof(buf))); inet_ntop(p->local_ip.family, p->local_ip.data,
buf, sizeof(buf)));
printf("to %s\n",
inet_ntop(p->peer_ip.family, p->peer_ip.data,
buf, sizeof(buf)));
printf(" Peer tunnel %u\n", printf(" Peer tunnel %u\n",
p->peer_tunnel_id); p->peer_tunnel_id);
@ -229,10 +244,14 @@ static void print_tunnel(const struct l2tp_data *data)
break; break;
case AF_INET6: case AF_INET6:
printf(" UDP checksum: %s%s%s%s\n", printf(" UDP checksum: %s%s%s%s\n",
p->udp6_csum_tx && p->udp6_csum_rx ? "enabled" : "", p->udp6_csum_tx && p->udp6_csum_rx
p->udp6_csum_tx && !p->udp6_csum_rx ? "tx" : "", ? "enabled" : "",
!p->udp6_csum_tx && p->udp6_csum_rx ? "rx" : "", p->udp6_csum_tx && !p->udp6_csum_rx
!p->udp6_csum_tx && !p->udp6_csum_rx ? "disabled" : ""); ? "tx" : "",
!p->udp6_csum_tx && p->udp6_csum_rx
? "rx" : "",
!p->udp6_csum_tx && !p->udp6_csum_rx
? "disabled" : "");
break; break;
} }
} }
@ -247,9 +266,9 @@ static void print_session(struct l2tp_data *data)
printf(" Peer session %u, tunnel %u\n", printf(" Peer session %u, tunnel %u\n",
p->peer_session_id, p->peer_tunnel_id); p->peer_session_id, p->peer_tunnel_id);
if (p->ifname != NULL) { if (p->ifname != NULL)
printf(" interface name: %s\n", p->ifname); printf(" interface name: %s\n", p->ifname);
}
printf(" offset %u, peer offset %u\n", printf(" offset %u, peer offset %u\n",
p->offset, p->peer_offset); p->offset, p->peer_offset);
if (p->cookie_len > 0) if (p->cookie_len > 0)
@ -263,8 +282,10 @@ static void print_session(struct l2tp_data *data)
printf("\n"); printf("\n");
if (p->send_seq || p->recv_seq) { if (p->send_seq || p->recv_seq) {
printf(" sequence numbering:"); printf(" sequence numbering:");
if (p->send_seq) printf(" send"); if (p->send_seq)
if (p->recv_seq) printf(" recv"); printf(" send");
if (p->recv_seq)
printf(" recv");
printf("\n"); printf("\n");
} }
} }
@ -391,7 +412,8 @@ static int get_response(struct nlmsghdr *n, void *arg)
return 0; return 0;
} }
static int session_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) static int session_nlmsg(const struct sockaddr_nl *who,
struct nlmsghdr *n, void *arg)
{ {
int ret = get_response(n, arg); int ret = get_response(n, arg);
@ -411,7 +433,8 @@ static int get_session(struct l2tp_data *p)
if (p->config.tunnel_id && p->config.session_id) { if (p->config.tunnel_id && p->config.session_id) {
addattr32(&req.n, 128, L2TP_ATTR_CONN_ID, p->config.tunnel_id); addattr32(&req.n, 128, L2TP_ATTR_CONN_ID, p->config.tunnel_id);
addattr32(&req.n, 128, L2TP_ATTR_SESSION_ID, p->config.session_id); addattr32(&req.n, 128, L2TP_ATTR_SESSION_ID,
p->config.session_id);
} }
if (rtnl_send(&genl_rth, &req, req.n.nlmsg_len) < 0) if (rtnl_send(&genl_rth, &req, req.n.nlmsg_len) < 0)
@ -425,7 +448,8 @@ static int get_session(struct l2tp_data *p)
return 0; return 0;
} }
static int tunnel_nlmsg(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg) static int tunnel_nlmsg(const struct sockaddr_nl *who,
struct nlmsghdr *n, void *arg)
{ {
int ret = get_response(n, arg); int ret = get_response(n, arg);
@ -490,32 +514,33 @@ static void usage(void) __attribute__((noreturn));
static void usage(void) static void usage(void)
{ {
fprintf(stderr, "Usage: ip l2tp add tunnel\n"); fprintf(stderr, "Usage: ip l2tp add tunnel\n"
fprintf(stderr, " remote ADDR local ADDR\n"); " remote ADDR local ADDR\n"
fprintf(stderr, " tunnel_id ID peer_tunnel_id ID\n"); " tunnel_id ID peer_tunnel_id ID\n"
fprintf(stderr, " [ encap { ip | udp } ]\n"); " [ encap { ip | udp } ]\n"
fprintf(stderr, " [ udp_sport PORT ] [ udp_dport PORT ]\n"); " [ udp_sport PORT ] [ udp_dport PORT ]\n"
fprintf(stderr, " [ udp_csum { on | off } ]\n"); " [ udp_csum { on | off } ]\n"
fprintf(stderr, " [ udp6_csum_tx { on | off } ]\n"); " [ udp6_csum_tx { on | off } ]\n"
fprintf(stderr, " [ udp6_csum_rx { on | off } ]\n"); " [ udp6_csum_rx { on | off } ]\n"
fprintf(stderr, "Usage: ip l2tp add session [ name NAME ]\n"); "Usage: ip l2tp add session [ name NAME ]\n"
fprintf(stderr, " tunnel_id ID\n"); " tunnel_id ID\n"
fprintf(stderr, " session_id ID peer_session_id ID\n"); " session_id ID peer_session_id ID\n"
fprintf(stderr, " [ cookie HEXSTR ] [ peer_cookie HEXSTR ]\n"); " [ cookie HEXSTR ] [ peer_cookie HEXSTR ]\n"
fprintf(stderr, " [ offset OFFSET ] [ peer_offset OFFSET ]\n"); " [ offset OFFSET ] [ peer_offset OFFSET ]\n"
fprintf(stderr, " [ seq { none | send | recv | both } ]\n"); " [ seq { none | send | recv | both } ]\n"
fprintf(stderr, " [ l2spec_type L2SPEC ]\n"); " [ l2spec_type L2SPEC ]\n"
fprintf(stderr, " ip l2tp del tunnel tunnel_id ID\n"); " ip l2tp del tunnel tunnel_id ID\n"
fprintf(stderr, " ip l2tp del session tunnel_id ID session_id ID\n"); " ip l2tp del session tunnel_id ID session_id ID\n"
fprintf(stderr, " ip l2tp show tunnel [ tunnel_id ID ]\n"); " ip l2tp show tunnel [ tunnel_id ID ]\n"
fprintf(stderr, " ip l2tp show session [ tunnel_id ID ] [ session_id ID ]\n"); " ip l2tp show session [ tunnel_id ID ] [ session_id ID ]\n"
fprintf(stderr, "\n"); "\n"
fprintf(stderr, "Where: NAME := STRING\n"); "Where: NAME := STRING\n"
fprintf(stderr, " ADDR := { IP_ADDRESS | any }\n"); " ADDR := { IP_ADDRESS | any }\n"
fprintf(stderr, " PORT := { 0..65535 }\n"); " PORT := { 0..65535 }\n"
fprintf(stderr, " ID := { 1..4294967295 }\n"); " ID := { 1..4294967295 }\n"
fprintf(stderr, " HEXSTR := { 8 or 16 hex digits (4 / 8 bytes) }\n"); " HEXSTR := { 8 or 16 hex digits (4 / 8 bytes) }\n"
fprintf(stderr, " L2SPEC := { none | default }\n"); " L2SPEC := { none | default }\n");
exit(-1); exit(-1);
} }
@ -671,7 +696,9 @@ static int parse_args(int argc, char **argv, int cmd, struct l2tp_parm *p)
p->l2spec_type = L2TP_L2SPECTYPE_NONE; p->l2spec_type = L2TP_L2SPECTYPE_NONE;
p->l2spec_len = 0; p->l2spec_len = 0;
} else { } else {
fprintf(stderr, "Unknown layer2specific header type \"%s\"\n", *argv); fprintf(stderr,
"Unknown layer2specific header type \"%s\"\n",
*argv);
exit(-1); exit(-1);
} }
} else if (strcmp(*argv, "seq") == 0) { } else if (strcmp(*argv, "seq") == 0) {
@ -687,7 +714,8 @@ static int parse_args(int argc, char **argv, int cmd, struct l2tp_parm *p)
p->recv_seq = 0; p->recv_seq = 0;
p->send_seq = 0; p->send_seq = 0;
} else { } else {
fprintf(stderr, "Unknown seq value \"%s\"\n", *argv); fprintf(stderr,
"Unknown seq value \"%s\"\n", *argv);
exit(-1); exit(-1);
} }
} else if (strcmp(*argv, "tunnel") == 0) { } else if (strcmp(*argv, "tunnel") == 0) {
@ -818,6 +846,7 @@ int do_ipl2tp(int argc, char **argv)
matches(*argv, "list") == 0) matches(*argv, "list") == 0)
return do_show(argc-1, argv+1); return do_show(argc-1, argv+1);
fprintf(stderr, "Command \"%s\" is unknown, try \"ip l2tp help\".\n", *argv); fprintf(stderr,
"Command \"%s\" is unknown, try \"ip l2tp help\".\n", *argv);
exit(-1); exit(-1);
} }