Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iproute2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
iproute2
Commits
e4d5edba
Commit
e4d5edba
authored
Apr 11, 2014
by
Stephen Hemminger
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'net-next'
parents
af6e4234
f687d73c
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
161 additions
and
59 deletions
+161
-59
include/linux/can.h
include/linux/can.h
+32
-0
include/linux/can/netlink.h
include/linux/can/netlink.h
+3
-0
include/linux/if.h
include/linux/if.h
+80
-54
include/linux/if_ether.h
include/linux/if_ether.h
+4
-2
include/linux/tcp.h
include/linux/tcp.h
+3
-0
include/linux/tcp_metrics.h
include/linux/tcp_metrics.h
+5
-2
include/linux/xfrm.h
include/linux/xfrm.h
+10
-0
ip/xfrm_state.c
ip/xfrm_state.c
+24
-1
No files found.
include/linux/can.h
View file @
e4d5edba
...
...
@@ -8,6 +8,38 @@
* Copyright (c) 2002-2007 Volkswagen Group Electronic Research
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of Volkswagen nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* Alternatively, provided that this notice is retained in full, this
* software may be distributed under the terms of the GNU General
* Public License ("GPL") version 2, in which case the provisions of the
* GPL apply INSTEAD OF those given above.
*
* The provided data structures and external interfaces from this code
* are not restricted to be used by modules with a GPL compatible license.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*/
#ifndef CAN_H
...
...
include/linux/can/netlink.h
View file @
e4d5edba
...
...
@@ -96,6 +96,7 @@ struct can_ctrlmode {
#define CAN_CTRLMODE_3_SAMPLES 0x04
/* Triple sampling mode */
#define CAN_CTRLMODE_ONE_SHOT 0x08
/* One-Shot mode */
#define CAN_CTRLMODE_BERR_REPORTING 0x10
/* Bus-error reporting */
#define CAN_CTRLMODE_FD 0x20
/* CAN FD mode */
/*
* CAN device statistics
...
...
@@ -122,6 +123,8 @@ enum {
IFLA_CAN_RESTART_MS
,
IFLA_CAN_RESTART
,
IFLA_CAN_BERR_COUNTER
,
IFLA_CAN_DATA_BITTIMING
,
IFLA_CAN_DATA_BITTIMING_CONST
,
__IFLA_CAN_MAX
};
...
...
include/linux/if.h
View file @
e4d5edba
...
...
@@ -27,65 +27,91 @@
#define IFALIASZ 256
#include <linux/hdlc/ioctl.h>
/* Standard interface flags (netdevice->flags). */
#define IFF_UP 0x1
/* interface is up */
#define IFF_BROADCAST 0x2
/* broadcast address valid */
#define IFF_DEBUG 0x4
/* turn on debugging */
#define IFF_LOOPBACK 0x8
/* is a loopback net */
#define IFF_POINTOPOINT 0x10
/* interface is has p-p link */
#define IFF_NOTRAILERS 0x20
/* avoid use of trailers */
#define IFF_RUNNING 0x40
/* interface RFC2863 OPER_UP */
#define IFF_NOARP 0x80
/* no ARP protocol */
#define IFF_PROMISC 0x100
/* receive all packets */
#define IFF_ALLMULTI 0x200
/* receive all multicast packets*/
#define IFF_MASTER 0x400
/* master of a load balancer */
#define IFF_SLAVE 0x800
/* slave of a load balancer */
#define IFF_MULTICAST 0x1000
/* Supports multicast */
#define IFF_PORTSEL 0x2000
/* can set media type */
#define IFF_AUTOMEDIA 0x4000
/* auto media select active */
#define IFF_DYNAMIC 0x8000
/* dialup device with changing addresses*/
#define IFF_LOWER_UP 0x10000
/* driver signals L1 up */
#define IFF_DORMANT 0x20000
/* driver signals dormant */
/**
* enum net_device_flags - &struct net_device flags
*
* These are the &struct net_device flags, they can be set by drivers, the
* kernel and some can be triggered by userspace. Userspace can query and
* set these flags using userspace utilities but there is also a sysfs
* entry available for all dev flags which can be queried and set. These flags
* are shared for all types of net_devices. The sysfs entries are available
* via /sys/class/net/<dev>/flags. Flags which can be toggled through sysfs
* are annotated below, note that only a few flags can be toggled and some
* other flags are always always preserved from the original net_device flags
* even if you try to set them via sysfs. Flags which are always preserved
* are kept under the flag grouping @IFF_VOLATILE. Flags which are __volatile__
* are annotated below as such.
*
* You should have a pretty good reason to be extending these flags.
*
* @IFF_UP: interface is up. Can be toggled through sysfs.
* @IFF_BROADCAST: broadcast address valid. Volatile.
* @IFF_DEBUG: turn on debugging. Can be toggled through sysfs.
* @IFF_LOOPBACK: is a loopback net. Volatile.
* @IFF_POINTOPOINT: interface is has p-p link. Volatile.
* @IFF_NOTRAILERS: avoid use of trailers. Can be toggled through sysfs.
* Volatile.
* @IFF_RUNNING: interface RFC2863 OPER_UP. Volatile.
* @IFF_NOARP: no ARP protocol. Can be toggled through sysfs. Volatile.
* @IFF_PROMISC: receive all packets. Can be toggled through sysfs.
* @IFF_ALLMULTI: receive all multicast packets. Can be toggled through
* sysfs.
* @IFF_MASTER: master of a load balancer. Volatile.
* @IFF_SLAVE: slave of a load balancer. Volatile.
* @IFF_MULTICAST: Supports multicast. Can be toggled through sysfs.
* @IFF_PORTSEL: can set media type. Can be toggled through sysfs.
* @IFF_AUTOMEDIA: auto media select active. Can be toggled through sysfs.
* @IFF_DYNAMIC: dialup device with changing addresses. Can be toggled
* through sysfs.
* @IFF_LOWER_UP: driver signals L1 up. Volatile.
* @IFF_DORMANT: driver signals dormant. Volatile.
* @IFF_ECHO: echo sent packets. Volatile.
*/
enum
net_device_flags
{
IFF_UP
=
1
<<
0
,
/* sysfs */
IFF_BROADCAST
=
1
<<
1
,
/* __volatile__ */
IFF_DEBUG
=
1
<<
2
,
/* sysfs */
IFF_LOOPBACK
=
1
<<
3
,
/* __volatile__ */
IFF_POINTOPOINT
=
1
<<
4
,
/* __volatile__ */
IFF_NOTRAILERS
=
1
<<
5
,
/* sysfs */
IFF_RUNNING
=
1
<<
6
,
/* __volatile__ */
IFF_NOARP
=
1
<<
7
,
/* sysfs */
IFF_PROMISC
=
1
<<
8
,
/* sysfs */
IFF_ALLMULTI
=
1
<<
9
,
/* sysfs */
IFF_MASTER
=
1
<<
10
,
/* __volatile__ */
IFF_SLAVE
=
1
<<
11
,
/* __volatile__ */
IFF_MULTICAST
=
1
<<
12
,
/* sysfs */
IFF_PORTSEL
=
1
<<
13
,
/* sysfs */
IFF_AUTOMEDIA
=
1
<<
14
,
/* sysfs */
IFF_DYNAMIC
=
1
<<
15
,
/* sysfs */
IFF_LOWER_UP
=
1
<<
16
,
/* __volatile__ */
IFF_DORMANT
=
1
<<
17
,
/* __volatile__ */
IFF_ECHO
=
1
<<
18
,
/* __volatile__ */
};
#define IFF_ECHO 0x40000
/* echo sent packets */
#define IFF_UP IFF_UP
#define IFF_BROADCAST IFF_BROADCAST
#define IFF_DEBUG IFF_DEBUG
#define IFF_LOOPBACK IFF_LOOPBACK
#define IFF_POINTOPOINT IFF_POINTOPOINT
#define IFF_NOTRAILERS IFF_NOTRAILERS
#define IFF_RUNNING IFF_RUNNING
#define IFF_NOARP IFF_NOARP
#define IFF_PROMISC IFF_PROMISC
#define IFF_ALLMULTI IFF_ALLMULTI
#define IFF_MASTER IFF_MASTER
#define IFF_SLAVE IFF_SLAVE
#define IFF_MULTICAST IFF_MULTICAST
#define IFF_PORTSEL IFF_PORTSEL
#define IFF_AUTOMEDIA IFF_AUTOMEDIA
#define IFF_DYNAMIC IFF_DYNAMIC
#define IFF_LOWER_UP IFF_LOWER_UP
#define IFF_DORMANT IFF_DORMANT
#define IFF_ECHO IFF_ECHO
#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\
IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
/* Private (from user) interface flags (netdevice->priv_flags). */
#define IFF_802_1Q_VLAN 0x1
/* 802.1Q VLAN device. */
#define IFF_EBRIDGE 0x2
/* Ethernet bridging device. */
#define IFF_SLAVE_INACTIVE 0x4
/* bonding slave not the curr. active */
#define IFF_MASTER_8023AD 0x8
/* bonding master, 802.3ad. */
#define IFF_MASTER_ALB 0x10
/* bonding master, balance-alb. */
#define IFF_BONDING 0x20
/* bonding master or slave */
#define IFF_SLAVE_NEEDARP 0x40
/* need ARPs for validation */
#define IFF_ISATAP 0x80
/* ISATAP interface (RFC4214) */
#define IFF_MASTER_ARPMON 0x100
/* bonding master, ARP mon in use */
#define IFF_WAN_HDLC 0x200
/* WAN HDLC device */
#define IFF_XMIT_DST_RELEASE 0x400
/* dev_hard_start_xmit() is allowed to
* release skb->dst
*/
#define IFF_DONT_BRIDGE 0x800
/* disallow bridging this ether dev */
#define IFF_DISABLE_NETPOLL 0x1000
/* disable netpoll at run-time */
#define IFF_MACVLAN_PORT 0x2000
/* device used as macvlan port */
#define IFF_BRIDGE_PORT 0x4000
/* device used as bridge port */
#define IFF_OVS_DATAPATH 0x8000
/* device used as Open vSwitch
* datapath port */
#define IFF_TX_SKB_SHARING 0x10000
/* The interface supports sharing
* skbs on transmit */
#define IFF_UNICAST_FLT 0x20000
/* Supports unicast filtering */
#define IFF_TEAM_PORT 0x40000
/* device used as team port */
#define IFF_SUPP_NOFCS 0x80000
/* device supports sending custom FCS */
#define IFF_LIVE_ADDR_CHANGE 0x100000
/* device supports hardware address
* change when it's running */
#define IFF_MACVLAN 0x200000
/* Macvlan device */
#define IF_GET_IFACE 0x0001
/* for querying only */
#define IF_GET_PROTO 0x0002
...
...
include/linux/if_ether.h
View file @
e4d5edba
...
...
@@ -68,11 +68,11 @@
#define ETH_P_SLOW 0x8809
/* Slow Protocol. See 802.3ad 43B */
#define ETH_P_WCCP 0x883E
/* Web-cache coordination protocol
* defined in draft-wilson-wrec-wccp-v2-00.txt */
#define ETH_P_PPP_DISC 0x8863
/* PPPoE discovery messages */
#define ETH_P_PPP_SES 0x8864
/* PPPoE session messages */
#define ETH_P_MPLS_UC 0x8847
/* MPLS Unicast traffic */
#define ETH_P_MPLS_MC 0x8848
/* MPLS Multicast traffic */
#define ETH_P_ATMMPOA 0x884c
/* MultiProtocol Over ATM */
#define ETH_P_PPP_DISC 0x8863
/* PPPoE discovery messages */
#define ETH_P_PPP_SES 0x8864
/* PPPoE session messages */
#define ETH_P_LINK_CTL 0x886c
/* HPNA, wlan link local tunnel */
#define ETH_P_ATMFATE 0x8884
/* Frame-based ATM Transport
* over Ethernet
...
...
@@ -89,6 +89,8 @@
#define ETH_P_FCOE 0x8906
/* Fibre Channel over Ethernet */
#define ETH_P_TDLS 0x890D
/* TDLS */
#define ETH_P_FIP 0x8914
/* FCoE Initialization Protocol */
#define ETH_P_80221 0x8917
/* IEEE 802.21 Media Independent Handover Protocol */
#define ETH_P_LOOPBACK 0x9000
/* Ethernet loopback packet, per IEEE 802.3 */
#define ETH_P_QINQ1 0x9100
/* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_QINQ2 0x9200
/* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
#define ETH_P_QINQ3 0x9300
/* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
...
...
include/linux/tcp.h
View file @
e4d5edba
...
...
@@ -186,6 +186,9 @@ struct tcp_info {
__u32
tcpi_rcv_space
;
__u32
tcpi_total_retrans
;
__u64
tcpi_pacing_rate
;
__u64
tcpi_max_pacing_rate
;
};
/* for TCP_MD5SIG socket option */
...
...
include/linux/tcp_metrics.h
View file @
e4d5edba
...
...
@@ -11,12 +11,15 @@
#define TCP_METRICS_GENL_VERSION 0x1
enum
tcp_metric_index
{
TCP_METRIC_RTT
,
TCP_METRIC_RTTVAR
,
TCP_METRIC_RTT
,
/* in ms units */
TCP_METRIC_RTTVAR
,
/* in ms units */
TCP_METRIC_SSTHRESH
,
TCP_METRIC_CWND
,
TCP_METRIC_REORDERING
,
TCP_METRIC_RTT_US
,
/* in usec units */
TCP_METRIC_RTTVAR_US
,
/* in usec units */
/* Always last. */
__TCP_METRIC_MAX
,
};
...
...
include/linux/xfrm.h
View file @
e4d5edba
...
...
@@ -298,6 +298,8 @@ enum xfrm_attr_type_t {
XFRMA_TFCPAD
,
/* __u32 */
XFRMA_REPLAY_ESN_VAL
,
/* struct xfrm_replay_esn */
XFRMA_SA_EXTRA_FLAGS
,
/* __u32 */
XFRMA_PROTO
,
/* __u8 */
XFRMA_ADDRESS_FILTER
,
/* struct xfrm_address_filter */
__XFRMA_MAX
#define XFRMA_MAX (__XFRMA_MAX - 1)
...
...
@@ -474,6 +476,14 @@ struct xfrm_user_mapping {
__be16
new_sport
;
};
struct
xfrm_address_filter
{
xfrm_address_t
saddr
;
xfrm_address_t
daddr
;
__u16
family
;
__u8
splen
;
__u8
dplen
;
};
/* backwards compatibility for userspace */
#define XFRMGRP_ACQUIRE 1
#define XFRMGRP_EXPIRE 2
...
...
ip/xfrm_state.c
View file @
e4d5edba
...
...
@@ -1136,7 +1136,30 @@ static int xfrm_state_list_or_deleteall(int argc, char **argv, int deleteall)
}
}
else
{
if
(
rtnl_wilddump_request
(
&
rth
,
preferred_family
,
XFRM_MSG_GETSA
)
<
0
)
{
struct
xfrm_address_filter
addrfilter
=
{
.
saddr
=
filter
.
xsinfo
.
saddr
,
.
daddr
=
filter
.
xsinfo
.
id
.
daddr
,
.
family
=
filter
.
xsinfo
.
family
,
.
splen
=
filter
.
id_src_mask
,
.
dplen
=
filter
.
id_dst_mask
,
};
struct
{
struct
nlmsghdr
n
;
char
buf
[
NLMSG_BUF_SIZE
];
}
req
=
{
.
n
.
nlmsg_len
=
NLMSG_HDRLEN
,
.
n
.
nlmsg_flags
=
NLM_F_DUMP
|
NLM_F_REQUEST
,
.
n
.
nlmsg_type
=
XFRM_MSG_GETSA
,
.
n
.
nlmsg_seq
=
rth
.
dump
=
++
rth
.
seq
,
};
if
(
filter
.
xsinfo
.
id
.
proto
)
addattr8
(
&
req
.
n
,
sizeof
(
req
),
XFRMA_PROTO
,
filter
.
xsinfo
.
id
.
proto
);
addattr_l
(
&
req
.
n
,
sizeof
(
req
),
XFRMA_ADDRESS_FILTER
,
&
addrfilter
,
sizeof
(
addrfilter
));
if
(
rtnl_send
(
&
rth
,
(
void
*
)
&
req
,
req
.
n
.
nlmsg_len
)
<
0
)
{
perror
(
"Cannot send dump request"
);
exit
(
1
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment