summaryrefslogtreecommitdiffhomepage
path: root/device.h
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-04-05 03:24:17 +0200
committerFelix Fietkau <nbd@openwrt.org>2011-04-05 03:24:17 +0200
commitc1692fdcf48ad32217354d5206af31115e562306 (patch)
tree8f7d21f9f6c8085d5e25287d31805fa25bca027d /device.h
parent3a9fe0cb9fa812bdecdf0a6f2d5e81877fe8cd1b (diff)
add low level configuration for devices
Diffstat (limited to 'device.h')
-rw-r--r--device.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/device.h b/device.h
index 3919652..bfd044a 100644
--- a/device.h
+++ b/device.h
@@ -16,6 +16,12 @@ struct device_type {
void (*free)(struct device *);
};
+enum {
+ DEV_OPT_MTU = (1 << 0),
+ DEV_OPT_MACADDR = (1 << 1),
+ DEV_OPT_TXQUEUELEN = (1 << 2)
+};
+
/*
* link layer device. typically represents a linux network device.
* can be used to support VLANs as well
@@ -36,6 +42,15 @@ struct device {
device_state_cb set_state;
const struct device_hotplug_ops *hotplug_ops;
+
+ /* settings */
+ unsigned int flags;
+
+ unsigned int mtu;
+ unsigned int txqueuelen;
+ uint8_t macaddr[6];
+
+ uint32_t config_hash;
};
/* events broadcasted to all users of a device */
@@ -80,5 +95,6 @@ void release_device(struct device *dev);
int check_device_state(struct device *dev);
struct device *get_vlan_device_chain(const char *ifname, bool create);
+struct device *bridge_create(const char *name, struct uci_section *s);
#endif