While IEEE and CEE use the same structure to store apps, the selector and priority fields for both are different. Only the priority field is explained, add documentation explaining how the selector field differs for both. cgdcbxd code shows an example of how selector fields differ.
Showing the changes to include/uapi (1 of 1 file). Show all
Unified · Split
| @@ -207,8 +207,7 @@ struct cee_pfc { · 206 unmodified lines | |||
| 207 | #define IEEE_8021QAZ_APP_SEL_ANY 4 | 207 | #define IEEE_8021QAZ_APP_SEL_ANY 4 |
| 208 | 208 | ||
| 209 | /* This structure contains the IEEE 802.1Qaz APP managed object. This | 209 | /* This structure contains the IEEE 802.1Qaz APP managed object. This |
| 210 | * object is also used for the CEE std as well. There is no difference | 210 | * object is also used for the CEE std as well. |
| 211 | * between the objects. | ||
| 212 | * | 211 | * |
| 213 | * @selector: protocol identifier type | 212 | * @selector: protocol identifier type |
| 214 | * @protocol: protocol of type indicated | 213 | * @protocol: protocol of type indicated |
| @@ -216,13 +215,18 @@ struct cee_pfc { · 1 unmodified line | |||
| 216 | * 8-bit 802.1p user priority bitmap for CEE | 215 | * 8-bit 802.1p user priority bitmap for CEE |
| 217 | * | 216 | * |
| 218 | * ---- | 217 | * ---- |
| 219 | * Selector field values | 218 | * Selector field values for IEEE 802.1Qaz |
| 220 | * 0 Reserved | 219 | * 0 Reserved |
| 221 | * 1 Ethertype | 220 | * 1 Ethertype |
| 222 | * 2 Well known port number over TCP or SCTP | 221 | * 2 Well known port number over TCP or SCTP |
| 223 | * 3 Well known port number over UDP or DCCP | 222 | * 3 Well known port number over UDP or DCCP |
| 224 | * 4 Well known port number over TCP, SCTP, UDP, or DCCP | 223 | * 4 Well known port number over TCP, SCTP, UDP, or DCCP |
| 225 | * 5-7 Reserved | 224 | * 5-7 Reserved |
| 225 | * | ||
| 226 | * Selector field values for CEE | ||
| 227 | * 0 Ethertype | ||
| 228 | * 1 Well known port number over TCP or UDP | ||
| 229 | * 2-3 Reserved | ||
| 226 | */ | 230 | */ |
| 227 | struct dcb_app { | 231 | struct dcb_app { |
| 228 | __u8 selector; | 232 | __u8 selector; |