mirror of
https://github.com/openvswitch/ovs
synced 2025-09-01 14:55:18 +00:00
netdev: Remove netdev_get_vlan_vid().
It has no remaining users.
This commit is contained in:
@@ -277,7 +277,6 @@ static const struct netdev_class dummy_class = {
|
||||
|
||||
NULL, /* get_features */
|
||||
NULL, /* set_advertisements */
|
||||
NULL, /* get_vlan_vid */
|
||||
|
||||
NULL, /* set_policing */
|
||||
NULL, /* get_qos_types */
|
||||
|
@@ -72,7 +72,6 @@
|
||||
|
||||
VLOG_DEFINE_THIS_MODULE(netdev_linux);
|
||||
|
||||
COVERAGE_DEFINE(netdev_get_vlan_vid);
|
||||
COVERAGE_DEFINE(netdev_set_policing);
|
||||
COVERAGE_DEFINE(netdev_arp_lookup);
|
||||
COVERAGE_DEFINE(netdev_get_ifindex);
|
||||
@@ -1544,60 +1543,6 @@ netdev_linux_set_advertisements(struct netdev *netdev, uint32_t advertise)
|
||||
ETHTOOL_SSET, "ETHTOOL_SSET");
|
||||
}
|
||||
|
||||
/* If 'netdev_name' is the name of a VLAN network device (e.g. one created with
|
||||
* vconfig(8)), sets '*vlan_vid' to the VLAN VID associated with that device
|
||||
* and returns 0. Otherwise returns a errno value (specifically ENOENT if
|
||||
* 'netdev_name' is the name of a network device that is not a VLAN device) and
|
||||
* sets '*vlan_vid' to -1. */
|
||||
static int
|
||||
netdev_linux_get_vlan_vid(const struct netdev *netdev, int *vlan_vid)
|
||||
{
|
||||
const char *netdev_name = netdev_get_name(netdev);
|
||||
struct ds line = DS_EMPTY_INITIALIZER;
|
||||
FILE *stream = NULL;
|
||||
int error;
|
||||
char *fn;
|
||||
|
||||
COVERAGE_INC(netdev_get_vlan_vid);
|
||||
fn = xasprintf("/proc/net/vlan/%s", netdev_name);
|
||||
stream = fopen(fn, "r");
|
||||
if (!stream) {
|
||||
error = errno;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (ds_get_line(&line, stream)) {
|
||||
if (ferror(stream)) {
|
||||
error = errno;
|
||||
VLOG_ERR_RL(&rl, "error reading \"%s\": %s", fn, strerror(errno));
|
||||
} else {
|
||||
error = EPROTO;
|
||||
VLOG_ERR_RL(&rl, "unexpected end of file reading \"%s\"", fn);
|
||||
}
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (!sscanf(ds_cstr(&line), "%*s VID: %d", vlan_vid)) {
|
||||
error = EPROTO;
|
||||
VLOG_ERR_RL(&rl, "parse error reading \"%s\" line 1: \"%s\"",
|
||||
fn, ds_cstr(&line));
|
||||
goto done;
|
||||
}
|
||||
|
||||
error = 0;
|
||||
|
||||
done:
|
||||
free(fn);
|
||||
if (stream) {
|
||||
fclose(stream);
|
||||
}
|
||||
ds_destroy(&line);
|
||||
if (error) {
|
||||
*vlan_vid = -1;
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
#define POLICE_ADD_CMD "/sbin/tc qdisc add dev %s handle ffff: ingress"
|
||||
#define POLICE_CONFIG_CMD "/sbin/tc filter add dev %s parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate %dkbit burst %dk mtu 65535 drop flowid :1"
|
||||
|
||||
@@ -2331,7 +2276,6 @@ netdev_linux_change_seq(const struct netdev *netdev)
|
||||
\
|
||||
netdev_linux_get_features, \
|
||||
netdev_linux_set_advertisements, \
|
||||
netdev_linux_get_vlan_vid, \
|
||||
\
|
||||
netdev_linux_set_policing, \
|
||||
netdev_linux_get_qos_types, \
|
||||
|
@@ -320,17 +320,6 @@ struct netdev_class {
|
||||
* support configuring advertisements. */
|
||||
int (*set_advertisements)(struct netdev *netdev, uint32_t advertise);
|
||||
|
||||
/* If 'netdev' is a VLAN network device (e.g. one created with vconfig(8)),
|
||||
* sets '*vlan_vid' to the VLAN VID associated with that device and returns
|
||||
* 0.
|
||||
*
|
||||
* Returns ENOENT if 'netdev' is a network device that is not a
|
||||
* VLAN device.
|
||||
*
|
||||
* This function should be set to null if it doesn't make any sense for
|
||||
* your network device (it probably doesn't). */
|
||||
int (*get_vlan_vid)(const struct netdev *netdev, int *vlan_vid);
|
||||
|
||||
/* Attempts to set input rate limiting (policing) policy, such that up to
|
||||
* 'kbits_rate' kbps of traffic is accepted, with a maximum accumulative
|
||||
* burst size of 'kbits' kb.
|
||||
|
@@ -922,7 +922,6 @@ unparse_patch_config(const char *name OVS_UNUSED, const char *type OVS_UNUSED,
|
||||
\
|
||||
NULL, /* get_features */ \
|
||||
NULL, /* set_advertisements */ \
|
||||
NULL, /* get_vlan_vid */ \
|
||||
\
|
||||
NULL, /* set_policing */ \
|
||||
NULL, /* get_qos_types */ \
|
||||
|
18
lib/netdev.c
18
lib/netdev.c
@@ -1250,24 +1250,6 @@ netdev_change_seq(const struct netdev *netdev)
|
||||
{
|
||||
return netdev_get_dev(netdev)->netdev_class->change_seq(netdev);
|
||||
}
|
||||
|
||||
/* If 'netdev' is a VLAN network device (e.g. one created with vconfig(8)),
|
||||
* sets '*vlan_vid' to the VLAN VID associated with that device and returns 0.
|
||||
* Otherwise returns a errno value (specifically ENOENT if 'netdev_name' is the
|
||||
* name of a network device that is not a VLAN device) and sets '*vlan_vid' to
|
||||
* -1. */
|
||||
int
|
||||
netdev_get_vlan_vid(const struct netdev *netdev, int *vlan_vid)
|
||||
{
|
||||
int error = (netdev_get_dev(netdev)->netdev_class->get_vlan_vid
|
||||
? netdev_get_dev(netdev)->netdev_class->get_vlan_vid(netdev,
|
||||
vlan_vid)
|
||||
: ENOENT);
|
||||
if (error) {
|
||||
*vlan_vid = 0;
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
/* Initializes 'netdev_dev' as a netdev device named 'name' of the specified
|
||||
* 'netdev_class'. This function is ordinarily called from a netdev provider's
|
||||
|
@@ -196,9 +196,6 @@ int netdev_dump_queue_stats(const struct netdev *,
|
||||
|
||||
unsigned int netdev_change_seq(const struct netdev *netdev);
|
||||
|
||||
/* Linux stuff. */
|
||||
int netdev_get_vlan_vid(const struct netdev *, int *vlan_vid);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user