summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFlavio Leitner <fbl@redhat.com>2013-01-07 18:36:12 -0200
committerThomas Graf <tgraf@suug.ch>2013-01-11 13:44:47 +0100
commit3540e44b158f0f45fc2364d99e70433fba176b21 (patch)
treee240f23be2283d001b2657f8375d133d029c09a9 /include
parentf12379543415e10e3d546b6e1ba70e88ff431710 (diff)
downloadlibnl-3540e44b158f0f45fc2364d99e70433fba176b21.tar.gz
link: add carrier support
Signed-off-by: Flavio Leitner <fbl@redhat.com> Signed-off-by: Thomas Graf <tgraf@suug.ch>
Diffstat (limited to 'include')
-rw-r--r--include/linux/if.h6
-rw-r--r--include/linux/if_link.h1
-rw-r--r--include/netlink-types.h1
-rw-r--r--include/netlink/route/link.h7
4 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/if.h b/include/linux/if.h
index 32f910f..238cf43 100644
--- a/include/linux/if.h
+++ b/include/linux/if.h
@@ -117,6 +117,12 @@ enum {
IF_LINK_MODE_DORMANT, /* limit upward transition to dormant */
};
+/* carrier state */
+enum {
+ IF_CARRIER_DOWN,
+ IF_CARRIER_UP
+};
+
/*
* Device mapping structure. I'd just gone off and designed a
* beautiful scheme using only loadable modules with arguments
diff --git a/include/linux/if_link.h b/include/linux/if_link.h
index c0a1dd9..a753d11 100644
--- a/include/linux/if_link.h
+++ b/include/linux/if_link.h
@@ -142,6 +142,7 @@ enum {
#define IFLA_PROMISCUITY IFLA_PROMISCUITY
IFLA_NUM_TX_QUEUES,
IFLA_NUM_RX_QUEUES,
+ IFLA_CARRIER,
__IFLA_MAX
};
diff --git a/include/netlink-types.h b/include/netlink-types.h
index 057ea2b..46856a3 100644
--- a/include/netlink-types.h
+++ b/include/netlink-types.h
@@ -182,6 +182,7 @@ struct rtnl_link
uint32_t l_num_tx_queues;
uint32_t l_num_rx_queues;
uint32_t l_group;
+ uint8_t l_carrier;
};
struct rtnl_ncacheinfo
diff --git a/include/netlink/route/link.h b/include/netlink/route/link.h
index 8268b13..dbde72f 100644
--- a/include/netlink/route/link.h
+++ b/include/netlink/route/link.h
@@ -141,6 +141,10 @@ extern int rtnl_link_str2operstate(const char *);
extern char * rtnl_link_mode2str(uint8_t, char *, size_t);
extern int rtnl_link_str2mode(const char *);
+/* Carrier State Translations */
+extern char * rtnl_link_carrier2str(uint8_t, char *, size_t);
+extern int rtnl_link_str2carrier(const char *);
+
/* Access Functions */
extern void rtnl_link_set_qdisc(struct rtnl_link *, const char *);
extern char * rtnl_link_get_qdisc(struct rtnl_link *);
@@ -182,6 +186,9 @@ extern int rtnl_link_get_link(struct rtnl_link *);
extern void rtnl_link_set_master(struct rtnl_link *, int);
extern int rtnl_link_get_master(struct rtnl_link *);
+extern void rtnl_link_set_carrier(struct rtnl_link *, uint8_t);
+extern uint8_t rtnl_link_get_carrier(struct rtnl_link *);
+
extern void rtnl_link_set_operstate(struct rtnl_link *, uint8_t);
extern uint8_t rtnl_link_get_operstate(struct rtnl_link *);