diff options
author | Jan Maria Matejka <mq@ucw.cz> | 2018-05-07 14:47:00 +0200 |
---|---|---|
committer | Jan Maria Matejka <mq@ucw.cz> | 2018-05-29 12:35:06 +0200 |
commit | ee7e2ffd265fd76dbc8c94d9c2d48da54c27ff76 (patch) | |
tree | 7460254b1bd105e5bc45937e2e00aaac7da4ccf7 /sysdep | |
parent | c3becfe1934da2dc2c0881a71eac8a26f810791f (diff) |
Protocol: Introducing an enum protocol_class
This supersedes the EAP_* constants.
Diffstat (limited to 'sysdep')
-rw-r--r-- | sysdep/linux/krt-sys.h | 38 | ||||
-rw-r--r-- | sysdep/linux/netlink.c | 2 | ||||
-rw-r--r-- | sysdep/unix/krt.c | 3 | ||||
-rw-r--r-- | sysdep/unix/krt.h | 4 |
4 files changed, 24 insertions, 23 deletions
diff --git a/sysdep/linux/krt-sys.h b/sysdep/linux/krt-sys.h index 76ae29b7..2b8cdaa7 100644 --- a/sysdep/linux/krt-sys.h +++ b/sysdep/linux/krt-sys.h @@ -34,9 +34,9 @@ static inline struct ifa * kif_get_primary_ip(struct iface *i UNUSED) { return N #define KRT_ALLOW_MERGE_PATHS 1 -#define EA_KRT_PREFSRC EA_CODE(EAP_KRT, 0x10) -#define EA_KRT_REALM EA_CODE(EAP_KRT, 0x11) -#define EA_KRT_SCOPE EA_CODE(EAP_KRT, 0x12) +#define EA_KRT_PREFSRC EA_CODE(PROTOCOL_KERNEL, 0x10) +#define EA_KRT_REALM EA_CODE(PROTOCOL_KERNEL, 0x11) +#define EA_KRT_SCOPE EA_CODE(PROTOCOL_KERNEL, 0x12) #define KRT_METRICS_MAX 0x10 /* RTAX_QUICKACK+1 */ @@ -48,22 +48,22 @@ static inline struct ifa * kif_get_primary_ip(struct iface *i UNUSED) { return N * Following attributes are parts of RTA_METRICS kernel route attribute, their * ids must be consistent with their RTAX_* constants (+ KRT_METRICS_OFFSET) */ -#define EA_KRT_METRICS EA_CODE(EAP_KRT, 0x20) /* Dummy one */ -#define EA_KRT_LOCK EA_CODE(EAP_KRT, 0x21) -#define EA_KRT_MTU EA_CODE(EAP_KRT, 0x22) -#define EA_KRT_WINDOW EA_CODE(EAP_KRT, 0x23) -#define EA_KRT_RTT EA_CODE(EAP_KRT, 0x24) -#define EA_KRT_RTTVAR EA_CODE(EAP_KRT, 0x25) -#define EA_KRT_SSTRESH EA_CODE(EAP_KRT, 0x26) -#define EA_KRT_CWND EA_CODE(EAP_KRT, 0x27) -#define EA_KRT_ADVMSS EA_CODE(EAP_KRT, 0x28) -#define EA_KRT_REORDERING EA_CODE(EAP_KRT, 0x29) -#define EA_KRT_HOPLIMIT EA_CODE(EAP_KRT, 0x2a) -#define EA_KRT_INITCWND EA_CODE(EAP_KRT, 0x2b) -#define EA_KRT_FEATURES EA_CODE(EAP_KRT, 0x2c) -#define EA_KRT_RTO_MIN EA_CODE(EAP_KRT, 0x2d) -#define EA_KRT_INITRWND EA_CODE(EAP_KRT, 0x2e) -#define EA_KRT_QUICKACK EA_CODE(EAP_KRT, 0x2f) +#define EA_KRT_METRICS EA_CODE(PROTOCOL_KERNEL, 0x20) /* Dummy one */ +#define EA_KRT_LOCK EA_CODE(PROTOCOL_KERNEL, 0x21) +#define EA_KRT_MTU EA_CODE(PROTOCOL_KERNEL, 0x22) +#define EA_KRT_WINDOW EA_CODE(PROTOCOL_KERNEL, 0x23) +#define EA_KRT_RTT EA_CODE(PROTOCOL_KERNEL, 0x24) +#define EA_KRT_RTTVAR EA_CODE(PROTOCOL_KERNEL, 0x25) +#define EA_KRT_SSTRESH EA_CODE(PROTOCOL_KERNEL, 0x26) +#define EA_KRT_CWND EA_CODE(PROTOCOL_KERNEL, 0x27) +#define EA_KRT_ADVMSS EA_CODE(PROTOCOL_KERNEL, 0x28) +#define EA_KRT_REORDERING EA_CODE(PROTOCOL_KERNEL, 0x29) +#define EA_KRT_HOPLIMIT EA_CODE(PROTOCOL_KERNEL, 0x2a) +#define EA_KRT_INITCWND EA_CODE(PROTOCOL_KERNEL, 0x2b) +#define EA_KRT_FEATURES EA_CODE(PROTOCOL_KERNEL, 0x2c) +#define EA_KRT_RTO_MIN EA_CODE(PROTOCOL_KERNEL, 0x2d) +#define EA_KRT_INITRWND EA_CODE(PROTOCOL_KERNEL, 0x2e) +#define EA_KRT_QUICKACK EA_CODE(PROTOCOL_KERNEL, 0x2f) /* Bits of EA_KRT_LOCK, also based on RTAX_* constants */ #define EA_KRT_LOCK_MTU EA_KRT_LOCK | EA_BIT(0x2) diff --git a/sysdep/linux/netlink.c b/sysdep/linux/netlink.c index 84591eb2..f5db1575 100644 --- a/sysdep/linux/netlink.c +++ b/sysdep/linux/netlink.c @@ -1751,7 +1751,7 @@ nl_parse_route(struct nl_parse_state *s, struct nlmsghdr *h) for (t = 1; t < KRT_METRICS_MAX; t++) if (metrics[0] & (1 << t)) { - ea->attrs[n].id = EA_CODE(EAP_KRT, KRT_METRICS_OFFSET + t); + ea->attrs[n].id = EA_CODE(PROTOCOL_KERNEL, KRT_METRICS_OFFSET + t); ea->attrs[n].flags = 0; ea->attrs[n].type = EAF_TYPE_INT; /* FIXME: Some are EAF_TYPE_BITFIELD */ ea->attrs[n].u.data = metrics[t]; diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c index b4fb1967..ae51927e 100644 --- a/sysdep/unix/krt.c +++ b/sysdep/unix/krt.c @@ -232,6 +232,7 @@ kif_copy_config(struct proto_config *dest, struct proto_config *src) struct protocol proto_unix_iface = { .name = "Device", .template = "device%d", + .class = PROTOCOL_DEVICE, .proto_size = sizeof(struct kif_proto), .config_size = sizeof(struct kif_config), .preconfig = kif_preconfig, @@ -1235,7 +1236,7 @@ krt_get_attr(eattr *a, byte *buf, int buflen) struct protocol proto_unix_kernel = { .name = "Kernel", .template = "kernel%d", - .attr_class = EAP_KRT, + .class = PROTOCOL_KERNEL, .preference = DEF_PREF_INHERITED, .channel_mask = NB_IP | MAYBE_IP6_SADR | MAYBE_MPLS, .proto_size = sizeof(struct krt_proto), diff --git a/sysdep/unix/krt.h b/sysdep/unix/krt.h index b627882d..ff27bcf5 100644 --- a/sysdep/unix/krt.h +++ b/sysdep/unix/krt.h @@ -30,8 +30,8 @@ struct kif_proto; #define KRT_DEFAULT_ECMP_LIMIT 16 -#define EA_KRT_SOURCE EA_CODE(EAP_KRT, 0) -#define EA_KRT_METRIC EA_CODE(EAP_KRT, 1) +#define EA_KRT_SOURCE EA_CODE(PROTOCOL_KERNEL, 0) +#define EA_KRT_METRIC EA_CODE(PROTOCOL_KERNEL, 1) /* Whenever we recognize our own routes, we allow learing of foreign routes */ |