Merge branch 'iproute2-master' into iproute2-next

Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
David Ahern 2018-11-09 08:50:50 -08:00
commit 3a7246dce4
31 changed files with 179 additions and 67 deletions

View File

@ -181,13 +181,10 @@ int print_fdb(struct nlmsghdr *n, void *arg)
"mac", "%s ", lladdr); "mac", "%s ", lladdr);
} }
if (!filter_index && r->ndm_ifindex) { if (!filter_index && r->ndm_ifindex)
if (!is_json_context())
fprintf(fp, "dev ");
print_color_string(PRINT_ANY, COLOR_IFNAME, print_color_string(PRINT_ANY, COLOR_IFNAME,
"ifname", "dev %s ", "ifname", "dev %s ",
ll_index_to_name(r->ndm_ifindex)); ll_index_to_name(r->ndm_ifindex));
}
if (tb[NDA_DST]) { if (tb[NDA_DST]) {
int family = AF_INET; int family = AF_INET;

2
configure vendored
View File

@ -436,4 +436,4 @@ check_cap
echo >> $CONFIG echo >> $CONFIG
echo "%.o: %.c" >> $CONFIG echo "%.o: %.c" >> $CONFIG
echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<' >> $CONFIG echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG

View File

@ -18,9 +18,6 @@
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include "utils.h" #include "utils.h"
#include "genl_utils.h" #include "genl_utils.h"

View File

@ -103,6 +103,7 @@ enum bpf_cmd {
BPF_BTF_LOAD, BPF_BTF_LOAD,
BPF_BTF_GET_FD_BY_ID, BPF_BTF_GET_FD_BY_ID,
BPF_TASK_FD_QUERY, BPF_TASK_FD_QUERY,
BPF_MAP_LOOKUP_AND_DELETE_ELEM,
}; };
enum bpf_map_type { enum bpf_map_type {
@ -127,6 +128,9 @@ enum bpf_map_type {
BPF_MAP_TYPE_SOCKHASH, BPF_MAP_TYPE_SOCKHASH,
BPF_MAP_TYPE_CGROUP_STORAGE, BPF_MAP_TYPE_CGROUP_STORAGE,
BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
BPF_MAP_TYPE_QUEUE,
BPF_MAP_TYPE_STACK,
}; };
enum bpf_prog_type { enum bpf_prog_type {
@ -461,6 +465,28 @@ union bpf_attr {
* Return * Return
* 0 on success, or a negative error in case of failure. * 0 on success, or a negative error in case of failure.
* *
* int bpf_map_push_elem(struct bpf_map *map, const void *value, u64 flags)
* Description
* Push an element *value* in *map*. *flags* is one of:
*
* **BPF_EXIST**
* If the queue/stack is full, the oldest element is removed to
* make room for this.
* Return
* 0 on success, or a negative error in case of failure.
*
* int bpf_map_pop_elem(struct bpf_map *map, void *value)
* Description
* Pop an element from *map*.
* Return
* 0 on success, or a negative error in case of failure.
*
* int bpf_map_peek_elem(struct bpf_map *map, void *value)
* Description
* Get an element from *map* without removing it.
* Return
* 0 on success, or a negative error in case of failure.
*
* int bpf_probe_read(void *dst, u32 size, const void *src) * int bpf_probe_read(void *dst, u32 size, const void *src)
* Description * Description
* For tracing programs, safely attempt to read *size* bytes from * For tracing programs, safely attempt to read *size* bytes from
@ -1432,7 +1458,7 @@ union bpf_attr {
* Return * Return
* 0 on success, or a negative error in case of failure. * 0 on success, or a negative error in case of failure.
* *
* int bpf_skb_adjust_room(struct sk_buff *skb, u32 len_diff, u32 mode, u64 flags) * int bpf_skb_adjust_room(struct sk_buff *skb, s32 len_diff, u32 mode, u64 flags)
* Description * Description
* Grow or shrink the room for data in the packet associated to * Grow or shrink the room for data in the packet associated to
* *skb* by *len_diff*, and according to the selected *mode*. * *skb* by *len_diff*, and according to the selected *mode*.
@ -2143,6 +2169,94 @@ union bpf_attr {
* request in the skb. * request in the skb.
* Return * Return
* 0 on success, or a negative error in case of failure. * 0 on success, or a negative error in case of failure.
*
* struct bpf_sock *bpf_sk_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags)
* Description
* Look for TCP socket matching *tuple*, optionally in a child
* network namespace *netns*. The return value must be checked,
* and if non-NULL, released via **bpf_sk_release**\ ().
*
* The *ctx* should point to the context of the program, such as
* the skb or socket (depending on the hook in use). This is used
* to determine the base network namespace for the lookup.
*
* *tuple_size* must be one of:
*
* **sizeof**\ (*tuple*\ **->ipv4**)
* Look for an IPv4 socket.
* **sizeof**\ (*tuple*\ **->ipv6**)
* Look for an IPv6 socket.
*
* If the *netns* is zero, then the socket lookup table in the
* netns associated with the *ctx* will be used. For the TC hooks,
* this in the netns of the device in the skb. For socket hooks,
* this in the netns of the socket. If *netns* is non-zero, then
* it specifies the ID of the netns relative to the netns
* associated with the *ctx*.
*
* All values for *flags* are reserved for future usage, and must
* be left at zero.
*
* This helper is available only if the kernel was compiled with
* **CONFIG_NET** configuration option.
* Return
* Pointer to *struct bpf_sock*, or NULL in case of failure.
*
* struct bpf_sock *bpf_sk_lookup_udp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u32 netns, u64 flags)
* Description
* Look for UDP socket matching *tuple*, optionally in a child
* network namespace *netns*. The return value must be checked,
* and if non-NULL, released via **bpf_sk_release**\ ().
*
* The *ctx* should point to the context of the program, such as
* the skb or socket (depending on the hook in use). This is used
* to determine the base network namespace for the lookup.
*
* *tuple_size* must be one of:
*
* **sizeof**\ (*tuple*\ **->ipv4**)
* Look for an IPv4 socket.
* **sizeof**\ (*tuple*\ **->ipv6**)
* Look for an IPv6 socket.
*
* If the *netns* is zero, then the socket lookup table in the
* netns associated with the *ctx* will be used. For the TC hooks,
* this in the netns of the device in the skb. For socket hooks,
* this in the netns of the socket. If *netns* is non-zero, then
* it specifies the ID of the netns relative to the netns
* associated with the *ctx*.
*
* All values for *flags* are reserved for future usage, and must
* be left at zero.
*
* This helper is available only if the kernel was compiled with
* **CONFIG_NET** configuration option.
* Return
* Pointer to *struct bpf_sock*, or NULL in case of failure.
*
* int bpf_sk_release(struct bpf_sock *sk)
* Description
* Release the reference held by *sock*. *sock* must be a non-NULL
* pointer that was returned from bpf_sk_lookup_xxx\ ().
* Return
* 0 on success, or a negative error in case of failure.
*
* int bpf_msg_push_data(struct sk_buff *skb, u32 start, u32 len, u64 flags)
* Description
* For socket policies, insert *len* bytes into msg at offset
* *start*.
*
* If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a
* *msg* it may want to insert metadata or options into the msg.
* This can later be read and used by any of the lower layer BPF
* hooks.
*
* This helper may fail if under memory pressure (a malloc
* fails) in these cases BPF programs will get an appropriate
* error and BPF programs will need to handle them.
*
* Return
* 0 on success, or a negative error in case of failure.
*/ */
#define __BPF_FUNC_MAPPER(FN) \ #define __BPF_FUNC_MAPPER(FN) \
FN(unspec), \ FN(unspec), \
@ -2228,7 +2342,14 @@ union bpf_attr {
FN(get_current_cgroup_id), \ FN(get_current_cgroup_id), \
FN(get_local_storage), \ FN(get_local_storage), \
FN(sk_select_reuseport), \ FN(sk_select_reuseport), \
FN(skb_ancestor_cgroup_id), FN(skb_ancestor_cgroup_id), \
FN(sk_lookup_tcp), \
FN(sk_lookup_udp), \
FN(sk_release), \
FN(map_push_elem), \
FN(map_pop_elem), \
FN(map_peek_elem), \
FN(msg_push_data),
/* integer value in 'imm' field of BPF_CALL instruction selects which helper /* integer value in 'imm' field of BPF_CALL instruction selects which helper
* function eBPF program intends to call * function eBPF program intends to call
@ -2398,6 +2519,23 @@ struct bpf_sock {
*/ */
}; };
struct bpf_sock_tuple {
union {
struct {
__be32 saddr;
__be32 daddr;
__be16 sport;
__be16 dport;
} ipv4;
struct {
__be32 saddr[4];
__be32 daddr[4];
__be16 sport;
__be16 dport;
} ipv6;
};
};
#define XDP_PACKET_HEADROOM 256 #define XDP_PACKET_HEADROOM 256
/* User return codes for XDP prog type. /* User return codes for XDP prog type.

View File

@ -41,6 +41,7 @@
#define EM_TILEPRO 188 /* Tilera TILEPro */ #define EM_TILEPRO 188 /* Tilera TILEPro */
#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */ #define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */
#define EM_TILEGX 191 /* Tilera TILE-Gx */ #define EM_TILEGX 191 /* Tilera TILE-Gx */
#define EM_RISCV 243 /* RISC-V */
#define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */ #define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */
#define EM_FRV 0x5441 /* Fujitsu FR-V */ #define EM_FRV 0x5441 /* Fujitsu FR-V */

View File

@ -285,6 +285,7 @@ enum {
IFLA_BR_MCAST_STATS_ENABLED, IFLA_BR_MCAST_STATS_ENABLED,
IFLA_BR_MCAST_IGMP_VERSION, IFLA_BR_MCAST_IGMP_VERSION,
IFLA_BR_MCAST_MLD_VERSION, IFLA_BR_MCAST_MLD_VERSION,
IFLA_BR_VLAN_STATS_PER_PORT,
__IFLA_BR_MAX, __IFLA_BR_MAX,
}; };

View File

@ -29,6 +29,7 @@
#define HPFS_SUPER_MAGIC 0xf995e849 #define HPFS_SUPER_MAGIC 0xf995e849
#define ISOFS_SUPER_MAGIC 0x9660 #define ISOFS_SUPER_MAGIC 0x9660
#define JFFS2_SUPER_MAGIC 0x72b6 #define JFFS2_SUPER_MAGIC 0x72b6
#define XFS_SUPER_MAGIC 0x58465342 /* "XFSB" */
#define PSTOREFS_MAGIC 0x6165676C #define PSTOREFS_MAGIC 0x6165676C
#define EFIVARFS_MAGIC 0xde5e81e4 #define EFIVARFS_MAGIC 0xde5e81e4
#define HOSTFS_SUPER_MAGIC 0x00c0ffee #define HOSTFS_SUPER_MAGIC 0x00c0ffee

View File

@ -153,6 +153,7 @@ enum nlmsgerr_attrs {
#define NETLINK_LIST_MEMBERSHIPS 9 #define NETLINK_LIST_MEMBERSHIPS 9
#define NETLINK_CAP_ACK 10 #define NETLINK_CAP_ACK 10
#define NETLINK_EXT_ACK 11 #define NETLINK_EXT_ACK 11
#define NETLINK_DUMP_STRICT_CHK 12
struct nl_pktinfo { struct nl_pktinfo {
__u32 group; __u32 group;

View File

@ -301,6 +301,7 @@ enum sctp_sinfo_flags {
SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */ SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */
/* 2 bits here have been used by SCTP_PR_SCTP_MASK */ /* 2 bits here have been used by SCTP_PR_SCTP_MASK */
SCTP_SENDALL = (1 << 6), SCTP_SENDALL = (1 << 6),
SCTP_PR_SCTP_ALL = (1 << 7),
SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */ SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */
SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */ SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */
}; };

View File

@ -9,6 +9,10 @@
#include <stdbool.h> #include <stdbool.h>
#include <time.h> #include <time.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include "libnetlink.h" #include "libnetlink.h"
#include "ll_map.h" #include "ll_map.h"
#include "rtm_map.h" #include "rtm_map.h"

View File

@ -24,9 +24,6 @@
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <stdbool.h> #include <stdbool.h>
#include <linux/mpls.h> #include <linux/mpls.h>

View File

@ -8,9 +8,6 @@
#include <sys/syscall.h> #include <sys/syscall.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <sched.h> #include <sched.h>
#include <fcntl.h> #include <fcntl.h>
#include <dirent.h> #include <dirent.h>

View File

@ -16,9 +16,6 @@
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <linux/ila.h> #include <linux/ila.h>
#include <linux/lwtunnel.h> #include <linux/lwtunnel.h>
#include <linux/mpls_iptunnel.h> #include <linux/mpls_iptunnel.h>

View File

@ -21,9 +21,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <dirent.h> #include <dirent.h>
#include <errno.h> #include <errno.h>
#include <limits.h> #include <limits.h>

View File

@ -28,9 +28,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <time.h> #include <time.h>

View File

@ -24,9 +24,6 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <unistd.h> #include <unistd.h>
#include <errno.h> #include <errno.h>
#include <sys/types.h> #include <sys/types.h>

View File

@ -27,9 +27,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <netdb.h> #include <netdb.h>
#include "utils.h" #include "utils.h"
#include "xfrm.h" #include "xfrm.h"

View File

@ -15,9 +15,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#include <errno.h> #include <errno.h>

View File

@ -20,9 +20,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <errno.h> #include <errno.h>
#include <limits.h> #include <limits.h>

View File

@ -18,9 +18,6 @@
#include <netinet/in.h> #include <netinet/in.h>
#include <netdb.h> #include <netdb.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include "rt_names.h" #include "rt_names.h"
#include "utils.h" #include "utils.h"

View File

@ -7,7 +7,7 @@ devlink \- Devlink tool
.in +8 .in +8
.ti -8 .ti -8
.B devlink .B devlink
.RI "[ " OPTIONS " ] { " dev | port | monitor | sb | resource " } { " COMMAND " | " .RI "[ " OPTIONS " ] { " dev | port | monitor | sb | resource | region " } { " COMMAND " | "
.BR help " }" .BR help " }"
.sp .sp
@ -74,6 +74,10 @@ Turn on verbose output.
.B resource .B resource
- devlink device resource configuration. - devlink device resource configuration.
.TP
.B region
- devlink address region access
.SS .SS
.I COMMAND .I COMMAND

View File

@ -89,7 +89,13 @@ an uuid of the socket
Show socket memory usage. The output format is: Show socket memory usage. The output format is:
.RS .RS
.P .P
skmem:(r<rmem_alloc>,rb<rcv_buf>,t<wmem_alloc>,tb<snd_buf>,f<fwd_alloc>,w<wmem_queued>,o<opt_mem>,bl<back_log>) skmem:(r<rmem_alloc>,rb<rcv_buf>,t<wmem_alloc>,tb<snd_buf>,f<fwd_alloc>,
.br
.RS
.RS
w<wmem_queued>,o<opt_mem>,bl<back_log>)
.RE
.RE
.P .P
.TP .TP
.B <rmem_alloc> .B <rmem_alloc>

View File

@ -29,8 +29,8 @@ While SKB Priority Queue is agnostic to how
.B skb->priority .B skb->priority
is assigned. A typical use case is to copy is assigned. A typical use case is to copy
the 6-bit DS field of IPv4 and IPv6 packets using the 6-bit DS field of IPv4 and IPv6 packets using
.BR tc-skbedit (8) .BR tc-skbedit (8).
. If If
.B skb->priority .B skb->priority
is greater or equal to 64, the priority is assumed to be 63. is greater or equal to 64, the priority is assumed to be 63.
Priorities less than 64 are taken at face value. Priorities less than 64 are taken at face value.

View File

@ -16,16 +16,16 @@ ss: $(SSOBJ)
$(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@
nstat: nstat.c nstat: nstat.c
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o nstat nstat.c $(LDLIBS) -lm $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o nstat nstat.c $(LDLIBS) -lm
ifstat: ifstat.c ifstat: ifstat.c
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o ifstat ifstat.c $(LDLIBS) -lm $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o ifstat ifstat.c $(LDLIBS) -lm
rtacct: rtacct.c rtacct: rtacct.c
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -o rtacct rtacct.c $(LDLIBS) -lm $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o rtacct rtacct.c $(LDLIBS) -lm
arpd: arpd.c arpd: arpd.c
$(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(LDFLAGS) -o arpd arpd.c $(LDLIBS) -ldb $(QUIET_CC)$(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(CPPFLAGS) $(LDFLAGS) -o arpd arpd.c $(LDLIBS) -ldb
ssfilter.c: ssfilter.y ssfilter.c: ssfilter.y
$(QUIET_YACC)bison ssfilter.y -o ssfilter.c $(QUIET_YACC)bison ssfilter.y -o ssfilter.c

View File

@ -19,9 +19,6 @@
#include <sys/sysmacros.h> #include <sys/sysmacros.h>
#include <netinet/in.h> #include <netinet/in.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <errno.h> #include <errno.h>
#include <netdb.h> #include <netdb.h>
#include <arpa/inet.h> #include <arpa/inet.h>

View File

@ -16,13 +16,17 @@ static int res_help(struct rd *rd)
{ {
pr_out("Usage: %s resource\n", rd->filename); pr_out("Usage: %s resource\n", rd->filename);
pr_out(" resource show [DEV]\n"); pr_out(" resource show [DEV]\n");
pr_out(" resource show [qp|cm_id]\n"); pr_out(" resource show [qp|cm_id|pd|mr|cq]\n");
pr_out(" resource show qp link [DEV/PORT]\n"); pr_out(" resource show qp link [DEV/PORT]\n");
pr_out(" resource show qp link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n"); pr_out(" resource show qp link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n");
pr_out(" resource show cm_id link [DEV/PORT]\n"); pr_out(" resource show cm_id link [DEV/PORT]\n");
pr_out(" resource show cm_id link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n"); pr_out(" resource show cm_id link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n");
pr_out(" resource show cq link [DEV/PORT]\n"); pr_out(" resource show cq link [DEV/PORT]\n");
pr_out(" resource show cq link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n"); pr_out(" resource show cq link [DEV/PORT] [FILTER-NAME FILTER-VALUE]\n");
pr_out(" resource show pd dev [DEV]\n");
pr_out(" resource show pd dev [DEV] [FILTER-NAME FILTER-VALUE]\n");
pr_out(" resource show mr dev [DEV]\n");
pr_out(" resource show mr dev [DEV] [FILTER-NAME FILTER-VALUE]\n");
return 0; return 0;
} }

View File

@ -128,7 +128,7 @@ CFLAGS += -DYY_NO_INPUT
MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc
%.so: %.c %.so: %.c
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic $< -o $@ $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@
all: tc $(TCSO) all: tc $(TCSO)
@ -158,13 +158,13 @@ clean:
rm -f emp_ematch.yacc.* rm -f emp_ematch.yacc.*
q_atm.so: q_atm.c q_atm.so: q_atm.c
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o q_atm.so q_atm.c -latm
m_xt.so: m_xt.c m_xt.so: m_xt.c
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o m_xt.so m_xt.c $$($(PKG_CONFIG) xtables --cflags --libs) $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o m_xt.so m_xt.c $$($(PKG_CONFIG) xtables --cflags --libs)
m_xt_old.so: m_xt_old.c m_xt_old.so: m_xt_old.c
$(QUIET_CC)$(CC) $(CFLAGS) $(LDFLAGS) -shared -fpic -o m_xt_old.so m_xt_old.c $$($(PKG_CONFIG) xtables --cflags --libs) $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic -o m_xt_old.so m_xt_old.c $$($(PKG_CONFIG) xtables --cflags --libs)
em_ipset.o: CFLAGS += $$($(PKG_CONFIG) xtables --cflags) em_ipset.o: CFLAGS += $$($(PKG_CONFIG) xtables --cflags)

View File

@ -20,9 +20,6 @@
#include <netdb.h> #include <netdb.h>
#include <unistd.h> #include <unistd.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <stdlib.h> #include <stdlib.h>
#include <getopt.h> #include <getopt.h>

View File

@ -1147,13 +1147,9 @@ static int u32_parse_opt(struct filter_util *qu, char *handle,
terminal_ok++; terminal_ok++;
continue; continue;
} else if (strcmp(*argv, "skip_hw") == 0) { } else if (strcmp(*argv, "skip_hw") == 0) {
NEXT_ARG();
flags |= TCA_CLS_FLAGS_SKIP_HW; flags |= TCA_CLS_FLAGS_SKIP_HW;
continue;
} else if (strcmp(*argv, "skip_sw") == 0) { } else if (strcmp(*argv, "skip_sw") == 0) {
NEXT_ARG();
flags |= TCA_CLS_FLAGS_SKIP_SW; flags |= TCA_CLS_FLAGS_SKIP_SW;
continue;
} else if (strcmp(*argv, "help") == 0) { } else if (strcmp(*argv, "help") == 0) {
explain(); explain();
return -1; return -1;

View File

@ -23,9 +23,6 @@
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <string.h> #include <string.h>
#ifdef HAVE_LIBBSD
#include <bsd/string.h>
#endif
#include <dlfcn.h> #include <dlfcn.h>
#include "utils.h" #include "utils.h"
#include "tc_util.h" #include "tc_util.h"

View File

@ -3,7 +3,7 @@ CFLAGS=
include ../../config.mk include ../../config.mk
generate_nlmsg: generate_nlmsg.c ../../lib/libnetlink.c generate_nlmsg: generate_nlmsg.c ../../lib/libnetlink.c
$(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl $(QUIET_CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -I../../include -include../../include/uapi/linux/netlink.h -o $@ $^ -lmnl
clean: clean:
rm -f generate_nlmsg rm -f generate_nlmsg