Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1958 commits) net: pack skb_shared_info more efficiently net_sched: red: split red_parms into parms and vars net_sched: sfq: extend limits cnic: Improve error recovery on bnx2x devices cnic: Re-init dev->stats_addr after chip reset net_sched: Bug in netem reordering bna: fix sparse warnings/errors bna: make ethtool_ops and strings const xgmac: cleanups net: make ethtool_ops const vmxnet3" make ethtool ops const xen-netback: make ops structs const virtio_net: Pass gfp flags when allocating rx buffers. ixgbe: FCoE: Add support for ndo_get_fcoe_hbainfo() call netdev: FCoE: Add new ndo_get_fcoe_hbainfo() call igb: reset PHY after recovering from PHY power down igb: add basic runtime PM support igb: Add support for byte queue limits. e1000: cleanup CE4100 MDIO registers access e1000: unmap ce4100_gbe_mdio_base_virt in e1000_remove ...
This commit is contained in:
22
net/socket.c
22
net/socket.c
@@ -538,6 +538,8 @@ int sock_tx_timestamp(struct sock *sk, __u8 *tx_flags)
|
||||
*tx_flags |= SKBTX_HW_TSTAMP;
|
||||
if (sock_flag(sk, SOCK_TIMESTAMPING_TX_SOFTWARE))
|
||||
*tx_flags |= SKBTX_SW_TSTAMP;
|
||||
if (sock_flag(sk, SOCK_WIFI_STATUS))
|
||||
*tx_flags |= SKBTX_WIFI_STATUS;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(sock_tx_timestamp);
|
||||
@@ -549,6 +551,8 @@ static inline int __sock_sendmsg_nosec(struct kiocb *iocb, struct socket *sock,
|
||||
|
||||
sock_update_classid(sock->sk);
|
||||
|
||||
sock_update_netprioidx(sock->sk);
|
||||
|
||||
si->sock = sock;
|
||||
si->scm = NULL;
|
||||
si->msg = msg;
|
||||
@@ -674,6 +678,22 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__sock_recv_timestamp);
|
||||
|
||||
void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
int ack;
|
||||
|
||||
if (!sock_flag(sk, SOCK_WIFI_STATUS))
|
||||
return;
|
||||
if (!skb->wifi_acked_valid)
|
||||
return;
|
||||
|
||||
ack = skb->wifi_acked;
|
||||
|
||||
put_cmsg(msg, SOL_SOCKET, SCM_WIFI_STATUS, sizeof(ack), &ack);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__sock_recv_wifi_status);
|
||||
|
||||
static inline void sock_recv_drops(struct msghdr *msg, struct sock *sk,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
@@ -2738,10 +2758,10 @@ static int ethtool_ioctl(struct net *net, struct compat_ifreq __user *ifr32)
|
||||
case ETHTOOL_GRXRINGS:
|
||||
case ETHTOOL_GRXCLSRLCNT:
|
||||
case ETHTOOL_GRXCLSRULE:
|
||||
case ETHTOOL_SRXCLSRLINS:
|
||||
convert_out = true;
|
||||
/* fall through */
|
||||
case ETHTOOL_SRXCLSRLDEL:
|
||||
case ETHTOOL_SRXCLSRLINS:
|
||||
buf_size += sizeof(struct ethtool_rxnfc);
|
||||
convert_in = true;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user