P4

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?

不知道是这样理解吗?
已邀请:

要回复问题请先登录注册