P4中可变length的用法
header_type ipv4_t {
fields {
version : 4;
ihl : 4;
diffserv : 8;
totalLen : 16;
identification : 16;
flags : 3;
fragOffset : 13;
ttl : 8;
protocol : 8;
hdrChecksum : 16;
srcAddr : 32;
dstAddr : 32;
options : *;
}
length : (ihl << 2);
max_length : 60;
}
代码中options定义为可变长度,下面的两个length分别限制什么呢?
length : (ihl << 2); ---限制options的长度不超过4*4bit?
max_length : 60; ---限制整个 ipv4_t的长度不超过60Byte?
不知道是这样理解吗?
0 个回复