[ovs-dev] [PATCH] Strip down vport interface : iflink
Pravin Shelar
pshelar at nicira.com
Wed Sep 7 23:41:14 UTC 2011
Remove iflink from vport interface. iflink is not used anywhere in
OVS. So there is not need to have iflink as vport attribute.
Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
---
datapath/datapath.c | 13 +------------
datapath/vport-internal_dev.c | 1 -
datapath/vport-netdev.c | 7 -------
datapath/vport-netdev.h | 1 -
datapath/vport.c | 22 ----------------------
datapath/vport.h | 5 -----
include/openvswitch/datapath-protocol.h | 3 ---
lib/dpif-linux.c | 8 --------
lib/dpif-linux.h | 1 -
9 files changed, 1 insertions(+), 60 deletions(-)
diff --git a/datapath/datapath.c b/datapath/datapath.c
index 7c9ec3b..7499081 100644
--- a/datapath/datapath.c
+++ b/datapath/datapath.c
@@ -142,16 +142,12 @@ static int dp_fill_ifinfo(struct sk_buff *skb,
{
struct datapath *dp = port->dp;
int ifindex = vport_get_ifindex(port);
- int iflink = vport_get_iflink(port);
struct ifinfomsg *hdr;
struct nlmsghdr *nlh;
if (ifindex < 0)
return ifindex;
- if (iflink < 0)
- return iflink;
-
nlh = nlmsg_put(skb, 0, 0, event, sizeof(*hdr), flags);
if (nlh == NULL)
return -EMSGSIZE;
@@ -177,9 +173,6 @@ static int dp_fill_ifinfo(struct sk_buff *skb,
NLA_PUT(skb, IFLA_ADDRESS, ETH_ALEN, vport_get_addr(port));
- if (ifindex != iflink)
- NLA_PUT_U32(skb, IFLA_LINK,iflink);
-
return nlmsg_end(skb, nlh);
nla_put_failure:
@@ -1613,7 +1606,7 @@ static int ovs_vport_cmd_fill_info(struct vport *vport, struct sk_buff *skb,
{
struct ovs_header *ovs_header;
struct nlattr *nla;
- int ifindex, iflink;
+ int ifindex;
int mtu;
int err;
@@ -1648,10 +1641,6 @@ static int ovs_vport_cmd_fill_info(struct vport *vport, struct sk_buff *skb,
if (ifindex > 0)
NLA_PUT_U32(skb, OVS_VPORT_ATTR_IFINDEX, ifindex);
- iflink = vport_get_iflink(vport);
- if (iflink > 0)
- NLA_PUT_U32(skb, OVS_VPORT_ATTR_IFLINK, iflink);
-
return genlmsg_end(skb, ovs_header);
nla_put_failure:
diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c
index 8cb7083..f777637 100644
--- a/datapath/vport-internal_dev.c
+++ b/datapath/vport-internal_dev.c
@@ -285,7 +285,6 @@ const struct vport_ops internal_vport_ops = {
.is_running = netdev_is_running,
.get_operstate = netdev_get_operstate,
.get_ifindex = netdev_get_ifindex,
- .get_iflink = netdev_get_iflink,
.get_mtu = netdev_get_mtu,
.send = internal_dev_recv,
};
diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c
index d1e61bb..dbc8db2 100644
--- a/datapath/vport-netdev.c
+++ b/datapath/vport-netdev.c
@@ -257,12 +257,6 @@ int netdev_get_ifindex(const struct vport *vport)
return netdev_vport->dev->ifindex;
}
-int netdev_get_iflink(const struct vport *vport)
-{
- const struct netdev_vport *netdev_vport = netdev_vport_priv(vport);
- return netdev_vport->dev->iflink;
-}
-
int netdev_get_mtu(const struct vport *vport)
{
const struct netdev_vport *netdev_vport = netdev_vport_priv(vport);
@@ -444,7 +438,6 @@ const struct vport_ops netdev_vport_ops = {
.is_running = netdev_is_running,
.get_operstate = netdev_get_operstate,
.get_ifindex = netdev_get_ifindex,
- .get_iflink = netdev_get_iflink,
.get_mtu = netdev_get_mtu,
.send = netdev_send,
};
diff --git a/datapath/vport-netdev.h b/datapath/vport-netdev.h
index 88a5f90..3f64767 100644
--- a/datapath/vport-netdev.h
+++ b/datapath/vport-netdev.h
@@ -36,7 +36,6 @@ unsigned netdev_get_dev_flags(const struct vport *);
int netdev_is_running(const struct vport *);
unsigned char netdev_get_operstate(const struct vport *);
int netdev_get_ifindex(const struct vport *);
-int netdev_get_iflink(const struct vport *);
int netdev_get_mtu(const struct vport *);
#endif /* vport_netdev.h */
diff --git a/datapath/vport.c b/datapath/vport.c
index 2b5a0b4..bf6297e 100644
--- a/datapath/vport.c
+++ b/datapath/vport.c
@@ -577,28 +577,6 @@ int vport_get_ifindex(const struct vport *vport)
}
/**
- * vport_get_iflink - retrieve device system link index
- *
- * @vport: vport from which to retrieve index
- *
- * Retrieves the system link index of the given device. The link is the index
- * of the interface on which the packet will actually be sent. In most cases
- * this is the same as the ifindex but may be different for tunnel devices.
- * Returns a negative index on error.
- *
- * Must be called with RTNL lock or rcu_read_lock.
- */
-int vport_get_iflink(const struct vport *vport)
-{
- if (vport->ops->get_iflink)
- return vport->ops->get_iflink(vport);
-
- /* If we don't have an iflink, use the ifindex. In most cases they
- * are the same. */
- return vport_get_ifindex(vport);
-}
-
-/**
* vport_get_mtu - retrieve device MTU
*
* @vport: vport from which to retrieve MTU
diff --git a/datapath/vport.h b/datapath/vport.h
index 388ba1c..0a6d831 100644
--- a/datapath/vport.h
+++ b/datapath/vport.h
@@ -46,7 +46,6 @@ int vport_is_running(const struct vport *);
unsigned char vport_get_operstate(const struct vport *);
int vport_get_ifindex(const struct vport *);
-int vport_get_iflink(const struct vport *);
int vport_get_mtu(const struct vport *);
@@ -172,9 +171,6 @@ struct vport_parms {
* @get_operstate: Get the device's operating state.
* @get_ifindex: Get the system interface index associated with the device.
* May be null if the device does not have an ifindex.
- * @get_iflink: Get the system interface index associated with the device that
- * will be used to send packets (may be different than ifindex for tunnels).
- * May be null if the device does not have an iflink.
* @get_mtu: Get the device's MTU. May be %NULL if the device does not have an
* MTU (as e.g. some tunnels do not).
* @send: Send a packet on the device. Returns the length of the packet sent.
@@ -209,7 +205,6 @@ struct vport_ops {
unsigned char (*get_operstate)(const struct vport *);
int (*get_ifindex)(const struct vport *);
- int (*get_iflink)(const struct vport *);
int (*get_mtu)(const struct vport *);
diff --git a/include/openvswitch/datapath-protocol.h b/include/openvswitch/datapath-protocol.h
index 535aab3..97a7c04 100644
--- a/include/openvswitch/datapath-protocol.h
+++ b/include/openvswitch/datapath-protocol.h
@@ -225,8 +225,6 @@ enum ovs_vport_cmd {
* @OVS_VPORT_ATTR_MTU: MTU for the vport. Omitted if the vport does not have
* an MTU as, e.g., some tunnels do not.
* @OVS_VPORT_ATTR_IFINDEX: ifindex of the underlying network device, if any.
- * @OVS_VPORT_ATTR_IFLINK: ifindex of the device on which packets are sent (for
- * tunnels), if any.
*
* These attributes follow the &struct ovs_header within the Generic Netlink
* payload for %OVS_VPORT_* commands.
@@ -256,7 +254,6 @@ enum ovs_vport_attr {
OVS_VPORT_ATTR_MTU, /* 32-bit maximum transmission unit */
OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */
OVS_VPORT_ATTR_IFINDEX, /* 32-bit ifindex of backing netdev */
- OVS_VPORT_ATTR_IFLINK, /* 32-bit ifindex on which packets are sent */
__OVS_VPORT_ATTR_MAX
};
diff --git a/lib/dpif-linux.c b/lib/dpif-linux.c
index adfef40..8d655f3 100644
--- a/lib/dpif-linux.c
+++ b/lib/dpif-linux.c
@@ -1241,7 +1241,6 @@ dpif_linux_vport_from_ofpbuf(struct dpif_linux_vport *vport,
[OVS_VPORT_ATTR_MTU] = { .type = NL_A_U32, .optional = true },
[OVS_VPORT_ATTR_OPTIONS] = { .type = NL_A_NESTED, .optional = true },
[OVS_VPORT_ATTR_IFINDEX] = { .type = NL_A_U32, .optional = true },
- [OVS_VPORT_ATTR_IFLINK] = { .type = NL_A_U32, .optional = true },
};
struct nlattr *a[ARRAY_SIZE(ovs_vport_policy)];
@@ -1286,9 +1285,6 @@ dpif_linux_vport_from_ofpbuf(struct dpif_linux_vport *vport,
if (a[OVS_VPORT_ATTR_IFINDEX]) {
vport->ifindex = nl_attr_get_u32(a[OVS_VPORT_ATTR_IFINDEX]);
}
- if (a[OVS_VPORT_ATTR_IFLINK]) {
- vport->iflink = nl_attr_get_u32(a[OVS_VPORT_ATTR_IFLINK]);
- }
return 0;
}
@@ -1340,10 +1336,6 @@ dpif_linux_vport_to_ofpbuf(const struct dpif_linux_vport *vport,
if (vport->ifindex) {
nl_msg_put_u32(buf, OVS_VPORT_ATTR_IFINDEX, vport->ifindex);
}
-
- if (vport->iflink) {
- nl_msg_put_u32(buf, OVS_VPORT_ATTR_IFLINK, vport->iflink);
- }
}
/* Clears 'vport' to "empty" values. */
diff --git a/lib/dpif-linux.h b/lib/dpif-linux.h
index 6526fb7..3a2c816 100644
--- a/lib/dpif-linux.h
+++ b/lib/dpif-linux.h
@@ -40,7 +40,6 @@ struct dpif_linux_vport {
const struct nlattr *options; /* OVS_VPORT_ATTR_OPTIONS. */
size_t options_len;
int ifindex; /* OVS_VPORT_ATTR_IFINDEX. */
- int iflink; /* OVS_VPORT_ATTR_IFLINK. */
};
void dpif_linux_vport_init(struct dpif_linux_vport *);
--
1.7.1
More information about the dev
mailing list