2 * DiffServ classname <-> DiffServ codepoint mapping functions.
4 * The latest list of the mappings can be found at:
5 * <http://www.iana.org/assignments/dscp-registry>
7 * This code is released under the GNU GPL v2, 1991
14 #include <iptables_common.h>
18 static struct ds_class
51 class_to_dscp(const char *name
)
55 for (i
= 0; i
< sizeof(ds_classes
) / sizeof(struct ds_class
); i
++) {
56 if (!strncasecmp(name
, ds_classes
[i
].name
,
57 strlen(ds_classes
[i
].name
)))
58 return ds_classes
[i
].dscp
;
61 exit_error(PARAMETER_PROBLEM
,
62 "Invalid DSCP value `%s'\n", name
);
68 dscp_to_name(unsigned int dscp
)
72 for (i
= 0; i
< sizeof(ds_classes
) / sizeof(struct ds_class
); i
++) {
73 if (dscp
== ds_classes
[i
].dscp
)
74 return ds_classes
[i
].name
;
78 exit_error(PARAMETER_PROBLEM
,
79 "Invalid DSCP value `%d'\n", dscp
);