Loading include/uapi/linux/Kbuild +1 −0 Original line number Diff line number Diff line Loading @@ -286,6 +286,7 @@ header-y += msm_audio_sbc.h header-y += msm_ipc.h header-y += msm_charm.h header-y += msm_rmnet.h header-y += rmnet_data.h header-y += mtio.h header-y += n_r3964.h header-y += nbd.h Loading include/uapi/linux/if_ether.h +2 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,8 @@ #define ETH_P_QINQ3 0x9300 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_EDSA 0xDADA /* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_MAP 0xDA1A /* Multiplexing and Aggregation Protocol * NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is less than this value * then the frame is Ethernet II. Else it is 802.3 */ Loading include/uapi/linux/msm_rmnet.h +61 −1 Original line number Diff line number Diff line Loading @@ -29,10 +29,70 @@ enum rmnet_ioctl_cmds_e { RMNET_IOCTL_CLOSE = 0x000089F9, /* Close transport port */ RMNET_IOCTL_FLOW_ENABLE = 0x000089FA, /* Flow enable */ RMNET_IOCTL_FLOW_DISABLE = 0x000089FB, /* Flow disable */ RMNET_IOCTL_SET_RX_HEADROOM = 0x000089FC, /* RX Headroom */ RMNET_IOCTL_FLOW_SET_HNDL = 0x000089FC, /* Set flow handle */ /* RmNet Data Required IOCTLs */ RMNET_IOCTL_GET_SUPPORTED_FEATURES = 0x00008A00, /* Get features */ RMNET_IOCTL_SET_MRU = 0x00008A01, /* Set MRU */ RMNET_IOCTL_GET_MRU = 0x00008A02, /* Get MRU */ RMNET_IOCTL_GET_EPID = 0x00008A03, /* Get endpoint ID */ RMNET_IOCTL_GET_DRIVER_NAME = 0x00008A04, /* Get driver name */ RMNET_IOCTL_ADD_MUX_CHANNEL = 0x00008A05, /* Add MUX ID */ RMNET_IOCTL_SET_EGRESS_DATA_FORMAT = 0x00008A06, /* Set EDF */ RMNET_IOCTL_SET_INGRESS_DATA_FORMAT = 0x00008A07, /* Set IDF */ RMNET_IOCTL_SET_AGGREGATION_COUNT = 0x00008A08, /* Set agg count */ RMNET_IOCTL_GET_AGGREGATION_COUNT = 0x00008A09, /* Get agg count */ RMNET_IOCTL_SET_AGGREGATION_SIZE = 0x00008A0A, /* Set agg size */ RMNET_IOCTL_GET_AGGREGATION_SIZE = 0x00008A0B, /* Get agg size */ RMNET_IOCTL_FLOW_CONTROL = 0x00008A0C, /* Do flow control */ RMNET_IOCTL_GET_DFLT_CONTROL_CHANNEL = 0x00008A0D, /* For legacy use */ RMNET_IOCTL_GET_HWSW_MAP = 0x00008A0E, /* Get HW/SW map */ RMNET_IOCTL_SET_RX_HEADROOM = 0x00008A0F, /* RX Headroom */ RMNET_IOCTL_GET_EP_PAIR = 0x00008A10, /* Endpoint pair */ RMNET_IOCTL_MAX }; /* Return values for the RMNET_IOCTL_GET_SUPPORTED_FEATURES IOCTL */ #define RMNET_IOCTL_FEAT_NOTIFY_MUX_CHANNEL (1<<0) #define RMNET_IOCTL_FEAT_SET_EGRESS_DATA_FORMAT (1<<1) #define RMNET_IOCTL_FEAT_SET_INGRESS_DATA_FORMAT (1<<2) #define RMNET_IOCTL_FEAT_SET_AGGREGATION_COUNT (1<<3) #define RMNET_IOCTL_FEAT_GET_AGGREGATION_COUNT (1<<4) #define RMNET_IOCTL_FEAT_SET_AGGREGATION_SIZE (1<<5) #define RMNET_IOCTL_FEAT_GET_AGGREGATION_SIZE (1<<6) #define RMNET_IOCTL_FEAT_FLOW_CONTROL (1<<7) #define RMNET_IOCTL_FEAT_GET_DFLT_CONTROL_CHANNEL (1<<8) #define RMNET_IOCTL_FEAT_GET_HWSW_MAP (1<<9) /* Input values for the RMNET_IOCTL_SET_EGRESS_DATA_FORMAT IOCTL */ #define RMNET_IOCTL_EGRESS_FORMAT_MAP (1<<1) #define RMNET_IOCTL_EGRESS_FORMAT_AGGREGATION (1<<2) #define RMNET_IOCTL_EGRESS_FORMAT_MUXING (1<<3) #define RMNET_IOCTL_EGRESS_FORMAT_CHECKSUM (1<<4) /* Input values for the RMNET_IOCTL_SET_INGRESS_DATA_FORMAT IOCTL */ #define RMNET_IOCTL_INGRESS_FORMAT_MAP (1<<1) #define RMNET_IOCTL_INGRESS_FORMAT_DEAGGREGATION (1<<2) #define RMNET_IOCTL_INGRESS_FORMAT_DEMUXING (1<<3) #define RMNET_IOCTL_INGRESS_FORMAT_CHECKSUM (1<<4) /* Input values for the RMNET_IOCTL_ADD_MUX_CHANNEL IOCTL */ struct rmnet_mux_val_s { uint32_t mux_id; const char *vchannel_name; }; /* Input values for the RMNET_IOCTL_FLOW_CONTROL IOCTL */ struct flow_control_prop_s { uint8_t flow_mode; uint8_t mux_id; }; /* Return values for RMNET_IOCTL_GET_EP_PAIR */ struct ipa_ep_pair_s { uint32_t consumer_pipe_num; uint32_t producer_pipe_num; }; /* QMI QoS header definition */ #define QMI_QOS_HDR_S __attribute((__packed__)) qmi_qos_hdr_s struct QMI_QOS_HDR_S { Loading include/uapi/linux/rmnet_data.h 0 → 100644 +194 −0 Original line number Diff line number Diff line /* * Copyright (c) 2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * RMNET Data configuration specification */ #ifndef _RMNET_DATA_H_ #define _RMNET_DATA_H_ /* ***************** Constants ********************************************** */ #define RMNET_LOCAL_LOGICAL_ENDPOINT -1 #define RMNET_EGRESS_FORMAT__RESERVED__ (1<<0) #define RMNET_EGRESS_FORMAT_MAP (1<<1) #define RMNET_EGRESS_FORMAT_AGGREGATION (1<<2) #define RMNET_EGRESS_FORMAT_MUXING (1<<3) #define RMNET_INGRESS_FIX_ETHERNET (1<<0) #define RMNET_INGRESS_FORMAT_MAP (1<<1) #define RMNET_INGRESS_FORMAT_DEAGGREGATION (1<<2) #define RMNET_INGRESS_FORMAT_DEMUXING (1<<3) #define RMNET_INGRESS_FORMAT_MAP_COMMANDS (1<<4) /* ***************** Netlink API ******************************************** */ #define RMNET_NETLINK_PROTO 31 #define RMNET_MAX_STR_LEN 16 #define RMNET_NL_DATA_MAX_LEN 64 #define RMNET_NETLINK_MSG_COMMAND 0 #define RMNET_NETLINK_MSG_RETURNCODE 1 #define RMNET_NETLINK_MSG_RETURNDATA 2 struct rmnet_nl_msg_s { uint16_t reserved; uint16_t message_type; uint16_t reserved2:14; uint16_t crd:2; union { uint16_t arg_length; uint16_t return_code; }; union { uint8_t data[RMNET_NL_DATA_MAX_LEN]; struct { uint8_t dev[RMNET_MAX_STR_LEN]; uint32_t flags; uint16_t agg_size; uint16_t agg_count; } data_format; struct { uint8_t dev[RMNET_MAX_STR_LEN]; int32_t ep_id; uint8_t operating_mode; uint8_t next_dev[RMNET_MAX_STR_LEN]; } local_ep_config; struct { uint32_t id; uint8_t vnd_name[RMNET_MAX_STR_LEN]; } vnd; }; }; enum rmnet_netlink_message_types_e { /* * RMNET_NETLINK_ASSOCIATE_NETWORK_DEVICE - Register RMNET data driver * on a particular device. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_ASSOCIATE_NETWORK_DEVICE, /* * RMNET_NETLINK_UNASSOCIATE_NETWORK_DEVICE - Unregister RMNET data * driver on a particular * device. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_UNASSOCIATE_NETWORK_DEVICE, /* * RMNET_NETLINK_GET_NETWORK_DEVICE_ASSOCIATED - Get if RMNET data * driver is registered on a * particular device. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: 1 if registered, 0 if not */ RMNET_NETLINK_GET_NETWORK_DEVICE_ASSOCIATED, /* * RMNET_NETLINK_SET_LINK_EGRESS_DATA_FORMAT - Sets the egress data * format for a particular * link. * Args: uint32_t egress_flags * char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_SET_LINK_EGRESS_DATA_FORMAT, /* * RMNET_NETLINK_GET_LINK_EGRESS_DATA_FORMAT - Gets the egress data * format for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: 4-bytes data: uint32_t egress_flags */ RMNET_NETLINK_GET_LINK_EGRESS_DATA_FORMAT, /* * RMNET_NETLINK_SET_LINK_INGRESS_DATA_FORMAT - Sets the ingress data * format for a particular * link. * Args: uint32_t ingress_flags * char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_SET_LINK_INGRESS_DATA_FORMAT, /* * RMNET_NETLINK_GET_LINK_INGRESS_DATA_FORMAT - Gets the ingress data * format for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: 4-bytes data: uint32_t ingress_flags */ RMNET_NETLINK_GET_LINK_INGRESS_DATA_FORMAT, /* * RMNET_NETLINK_SET_LOGICAL_EP_CONFIG - Sets the logical endpoint * configuration for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * int32_t logical_ep_id, valid values are -1 through 31 * uint8_t rmnet_mode: one of none, vnd, bridged * char[] egress_dev_name: Egress device if operating in bridge mode * Returns: status code */ RMNET_NETLINK_SET_LOGICAL_EP_CONFIG, /* * RMNET_NETLINK_GET_LOGICAL_EP_CONFIG - Gets the logical endpoint * configuration for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * int32_t logical_ep_id, valid values are -1 through 31 * Returns: uint8_t rmnet_mode: one of none, vnd, bridged * char[] egress_dev_name: Egress device */ RMNET_NETLINK_GET_LOGICAL_EP_CONFIG, /* * RMNET_NETLINK_NEW_VND - Creates a new virtual network device node * Args: int32_t node number * Returns: status code */ RMNET_NETLINK_NEW_VND, /* * RMNET_NETLINK_FREE_VND - Removes virtual network device node * Args: int32_t node number * Returns: status code */ RMNET_NETLINK_FREE_VND }; enum rmnet_config_endpoint_modes_e { RMNET_EPMODE_NONE, RMNET_EPMODE_VND, RMNET_EPMODE_BRIDGE, RMNET_EPMODE_LENGTH /* Must be the last item in the list */ }; enum rmnet_config_return_codes_e { RMNET_CONFIG_OK, RMNET_CONFIG_UNKNOWN_MESSAGE, RMNET_CONFIG_UNKNOWN_ERROR, RMNET_CONFIG_NOMEM, RMNET_CONFIG_DEVICE_IN_USE, RMNET_CONFIG_INVALID_REQUEST, RMNET_CONFIG_NO_SUCH_DEVICE, RMNET_CONFIG_BAD_ARGUMENTS, RMNET_CONFIG_BAD_EGRESS_DEVICE }; #endif /* _RMNET_DATA_H_ */ net/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -232,6 +232,7 @@ source "net/batman-adv/Kconfig" source "net/openvswitch/Kconfig" source "net/vmw_vsock/Kconfig" source "net/netlink/Kconfig" source "net/rmnet_data/Kconfig" config RPS boolean "RPS" Loading Loading
include/uapi/linux/Kbuild +1 −0 Original line number Diff line number Diff line Loading @@ -286,6 +286,7 @@ header-y += msm_audio_sbc.h header-y += msm_ipc.h header-y += msm_charm.h header-y += msm_rmnet.h header-y += rmnet_data.h header-y += mtio.h header-y += n_r3964.h header-y += nbd.h Loading
include/uapi/linux/if_ether.h +2 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,8 @@ #define ETH_P_QINQ3 0x9300 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_EDSA 0xDADA /* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_MAP 0xDA1A /* Multiplexing and Aggregation Protocol * NOT AN OFFICIALLY REGISTERED ID ] */ #define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is less than this value * then the frame is Ethernet II. Else it is 802.3 */ Loading
include/uapi/linux/msm_rmnet.h +61 −1 Original line number Diff line number Diff line Loading @@ -29,10 +29,70 @@ enum rmnet_ioctl_cmds_e { RMNET_IOCTL_CLOSE = 0x000089F9, /* Close transport port */ RMNET_IOCTL_FLOW_ENABLE = 0x000089FA, /* Flow enable */ RMNET_IOCTL_FLOW_DISABLE = 0x000089FB, /* Flow disable */ RMNET_IOCTL_SET_RX_HEADROOM = 0x000089FC, /* RX Headroom */ RMNET_IOCTL_FLOW_SET_HNDL = 0x000089FC, /* Set flow handle */ /* RmNet Data Required IOCTLs */ RMNET_IOCTL_GET_SUPPORTED_FEATURES = 0x00008A00, /* Get features */ RMNET_IOCTL_SET_MRU = 0x00008A01, /* Set MRU */ RMNET_IOCTL_GET_MRU = 0x00008A02, /* Get MRU */ RMNET_IOCTL_GET_EPID = 0x00008A03, /* Get endpoint ID */ RMNET_IOCTL_GET_DRIVER_NAME = 0x00008A04, /* Get driver name */ RMNET_IOCTL_ADD_MUX_CHANNEL = 0x00008A05, /* Add MUX ID */ RMNET_IOCTL_SET_EGRESS_DATA_FORMAT = 0x00008A06, /* Set EDF */ RMNET_IOCTL_SET_INGRESS_DATA_FORMAT = 0x00008A07, /* Set IDF */ RMNET_IOCTL_SET_AGGREGATION_COUNT = 0x00008A08, /* Set agg count */ RMNET_IOCTL_GET_AGGREGATION_COUNT = 0x00008A09, /* Get agg count */ RMNET_IOCTL_SET_AGGREGATION_SIZE = 0x00008A0A, /* Set agg size */ RMNET_IOCTL_GET_AGGREGATION_SIZE = 0x00008A0B, /* Get agg size */ RMNET_IOCTL_FLOW_CONTROL = 0x00008A0C, /* Do flow control */ RMNET_IOCTL_GET_DFLT_CONTROL_CHANNEL = 0x00008A0D, /* For legacy use */ RMNET_IOCTL_GET_HWSW_MAP = 0x00008A0E, /* Get HW/SW map */ RMNET_IOCTL_SET_RX_HEADROOM = 0x00008A0F, /* RX Headroom */ RMNET_IOCTL_GET_EP_PAIR = 0x00008A10, /* Endpoint pair */ RMNET_IOCTL_MAX }; /* Return values for the RMNET_IOCTL_GET_SUPPORTED_FEATURES IOCTL */ #define RMNET_IOCTL_FEAT_NOTIFY_MUX_CHANNEL (1<<0) #define RMNET_IOCTL_FEAT_SET_EGRESS_DATA_FORMAT (1<<1) #define RMNET_IOCTL_FEAT_SET_INGRESS_DATA_FORMAT (1<<2) #define RMNET_IOCTL_FEAT_SET_AGGREGATION_COUNT (1<<3) #define RMNET_IOCTL_FEAT_GET_AGGREGATION_COUNT (1<<4) #define RMNET_IOCTL_FEAT_SET_AGGREGATION_SIZE (1<<5) #define RMNET_IOCTL_FEAT_GET_AGGREGATION_SIZE (1<<6) #define RMNET_IOCTL_FEAT_FLOW_CONTROL (1<<7) #define RMNET_IOCTL_FEAT_GET_DFLT_CONTROL_CHANNEL (1<<8) #define RMNET_IOCTL_FEAT_GET_HWSW_MAP (1<<9) /* Input values for the RMNET_IOCTL_SET_EGRESS_DATA_FORMAT IOCTL */ #define RMNET_IOCTL_EGRESS_FORMAT_MAP (1<<1) #define RMNET_IOCTL_EGRESS_FORMAT_AGGREGATION (1<<2) #define RMNET_IOCTL_EGRESS_FORMAT_MUXING (1<<3) #define RMNET_IOCTL_EGRESS_FORMAT_CHECKSUM (1<<4) /* Input values for the RMNET_IOCTL_SET_INGRESS_DATA_FORMAT IOCTL */ #define RMNET_IOCTL_INGRESS_FORMAT_MAP (1<<1) #define RMNET_IOCTL_INGRESS_FORMAT_DEAGGREGATION (1<<2) #define RMNET_IOCTL_INGRESS_FORMAT_DEMUXING (1<<3) #define RMNET_IOCTL_INGRESS_FORMAT_CHECKSUM (1<<4) /* Input values for the RMNET_IOCTL_ADD_MUX_CHANNEL IOCTL */ struct rmnet_mux_val_s { uint32_t mux_id; const char *vchannel_name; }; /* Input values for the RMNET_IOCTL_FLOW_CONTROL IOCTL */ struct flow_control_prop_s { uint8_t flow_mode; uint8_t mux_id; }; /* Return values for RMNET_IOCTL_GET_EP_PAIR */ struct ipa_ep_pair_s { uint32_t consumer_pipe_num; uint32_t producer_pipe_num; }; /* QMI QoS header definition */ #define QMI_QOS_HDR_S __attribute((__packed__)) qmi_qos_hdr_s struct QMI_QOS_HDR_S { Loading
include/uapi/linux/rmnet_data.h 0 → 100644 +194 −0 Original line number Diff line number Diff line /* * Copyright (c) 2013, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * RMNET Data configuration specification */ #ifndef _RMNET_DATA_H_ #define _RMNET_DATA_H_ /* ***************** Constants ********************************************** */ #define RMNET_LOCAL_LOGICAL_ENDPOINT -1 #define RMNET_EGRESS_FORMAT__RESERVED__ (1<<0) #define RMNET_EGRESS_FORMAT_MAP (1<<1) #define RMNET_EGRESS_FORMAT_AGGREGATION (1<<2) #define RMNET_EGRESS_FORMAT_MUXING (1<<3) #define RMNET_INGRESS_FIX_ETHERNET (1<<0) #define RMNET_INGRESS_FORMAT_MAP (1<<1) #define RMNET_INGRESS_FORMAT_DEAGGREGATION (1<<2) #define RMNET_INGRESS_FORMAT_DEMUXING (1<<3) #define RMNET_INGRESS_FORMAT_MAP_COMMANDS (1<<4) /* ***************** Netlink API ******************************************** */ #define RMNET_NETLINK_PROTO 31 #define RMNET_MAX_STR_LEN 16 #define RMNET_NL_DATA_MAX_LEN 64 #define RMNET_NETLINK_MSG_COMMAND 0 #define RMNET_NETLINK_MSG_RETURNCODE 1 #define RMNET_NETLINK_MSG_RETURNDATA 2 struct rmnet_nl_msg_s { uint16_t reserved; uint16_t message_type; uint16_t reserved2:14; uint16_t crd:2; union { uint16_t arg_length; uint16_t return_code; }; union { uint8_t data[RMNET_NL_DATA_MAX_LEN]; struct { uint8_t dev[RMNET_MAX_STR_LEN]; uint32_t flags; uint16_t agg_size; uint16_t agg_count; } data_format; struct { uint8_t dev[RMNET_MAX_STR_LEN]; int32_t ep_id; uint8_t operating_mode; uint8_t next_dev[RMNET_MAX_STR_LEN]; } local_ep_config; struct { uint32_t id; uint8_t vnd_name[RMNET_MAX_STR_LEN]; } vnd; }; }; enum rmnet_netlink_message_types_e { /* * RMNET_NETLINK_ASSOCIATE_NETWORK_DEVICE - Register RMNET data driver * on a particular device. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_ASSOCIATE_NETWORK_DEVICE, /* * RMNET_NETLINK_UNASSOCIATE_NETWORK_DEVICE - Unregister RMNET data * driver on a particular * device. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_UNASSOCIATE_NETWORK_DEVICE, /* * RMNET_NETLINK_GET_NETWORK_DEVICE_ASSOCIATED - Get if RMNET data * driver is registered on a * particular device. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: 1 if registered, 0 if not */ RMNET_NETLINK_GET_NETWORK_DEVICE_ASSOCIATED, /* * RMNET_NETLINK_SET_LINK_EGRESS_DATA_FORMAT - Sets the egress data * format for a particular * link. * Args: uint32_t egress_flags * char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_SET_LINK_EGRESS_DATA_FORMAT, /* * RMNET_NETLINK_GET_LINK_EGRESS_DATA_FORMAT - Gets the egress data * format for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: 4-bytes data: uint32_t egress_flags */ RMNET_NETLINK_GET_LINK_EGRESS_DATA_FORMAT, /* * RMNET_NETLINK_SET_LINK_INGRESS_DATA_FORMAT - Sets the ingress data * format for a particular * link. * Args: uint32_t ingress_flags * char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: status code */ RMNET_NETLINK_SET_LINK_INGRESS_DATA_FORMAT, /* * RMNET_NETLINK_GET_LINK_INGRESS_DATA_FORMAT - Gets the ingress data * format for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * Returns: 4-bytes data: uint32_t ingress_flags */ RMNET_NETLINK_GET_LINK_INGRESS_DATA_FORMAT, /* * RMNET_NETLINK_SET_LOGICAL_EP_CONFIG - Sets the logical endpoint * configuration for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * int32_t logical_ep_id, valid values are -1 through 31 * uint8_t rmnet_mode: one of none, vnd, bridged * char[] egress_dev_name: Egress device if operating in bridge mode * Returns: status code */ RMNET_NETLINK_SET_LOGICAL_EP_CONFIG, /* * RMNET_NETLINK_GET_LOGICAL_EP_CONFIG - Gets the logical endpoint * configuration for a particular * link. * Args: char[] dev_name: Null terminated ASCII string, max length: 15 * int32_t logical_ep_id, valid values are -1 through 31 * Returns: uint8_t rmnet_mode: one of none, vnd, bridged * char[] egress_dev_name: Egress device */ RMNET_NETLINK_GET_LOGICAL_EP_CONFIG, /* * RMNET_NETLINK_NEW_VND - Creates a new virtual network device node * Args: int32_t node number * Returns: status code */ RMNET_NETLINK_NEW_VND, /* * RMNET_NETLINK_FREE_VND - Removes virtual network device node * Args: int32_t node number * Returns: status code */ RMNET_NETLINK_FREE_VND }; enum rmnet_config_endpoint_modes_e { RMNET_EPMODE_NONE, RMNET_EPMODE_VND, RMNET_EPMODE_BRIDGE, RMNET_EPMODE_LENGTH /* Must be the last item in the list */ }; enum rmnet_config_return_codes_e { RMNET_CONFIG_OK, RMNET_CONFIG_UNKNOWN_MESSAGE, RMNET_CONFIG_UNKNOWN_ERROR, RMNET_CONFIG_NOMEM, RMNET_CONFIG_DEVICE_IN_USE, RMNET_CONFIG_INVALID_REQUEST, RMNET_CONFIG_NO_SUCH_DEVICE, RMNET_CONFIG_BAD_ARGUMENTS, RMNET_CONFIG_BAD_EGRESS_DEVICE }; #endif /* _RMNET_DATA_H_ */
net/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -232,6 +232,7 @@ source "net/batman-adv/Kconfig" source "net/openvswitch/Kconfig" source "net/vmw_vsock/Kconfig" source "net/netlink/Kconfig" source "net/rmnet_data/Kconfig" config RPS boolean "RPS" Loading