📄 icmpv6metric.java
字号:
package com.ict.netcom2.metric;
import java.nio.ByteBuffer;
/**
* 28 * 24 = 672 bytes
* @author as
*
*/
public class ICMPv6Metric {
public static final int length = 672;
public MetricUnit echo_req = new MetricUnit(); // Echo Request
public MetricUnit echo_reply = new MetricUnit(); // Echo Reply
public MetricUnit[] dst_unreach = new MetricUnit[5]; // Destination Unreachabl,数组下标表示code
public MetricUnit pkt_toobig = new MetricUnit(); // Packet too big
public MetricUnit time_exceed = new MetricUnit(); // Time Exceeded
public MetricUnit param_problem = new MetricUnit(); // Parameter Problem
public MetricUnit mcast_query = new MetricUnit(); // Multicast Listener Query
public MetricUnit mcast_report = new MetricUnit(); // Multicast Listener Report
public MetricUnit mcast_done = new MetricUnit(); // Multicast Listener Done
public MetricUnit router_soli = new MetricUnit(); // Router Solicitation
public MetricUnit router_adv = new MetricUnit(); // Router Advertisement
public MetricUnit neib_soli = new MetricUnit(); // Neighbor Solicitation
public MetricUnit neib_adv = new MetricUnit(); // Neighbor Advertisement
public MetricUnit redirect = new MetricUnit(); // Redirect Message
public MetricUnit router_renum = new MetricUnit(); // Router Renumbering
public MetricUnit info_query = new MetricUnit(); // ICMP Node Information Query
public MetricUnit info_resp = new MetricUnit(); // ICMP Node Information Response
public MetricUnit inv_neibdisc_soli = new MetricUnit(); // Inverse Neighbor Discovery Solicitation Message
public MetricUnit inv_neibdisc_adv = new MetricUnit(); // Inverse Neighbor Discovery Advertisement Message
public MetricUnit v2_mcast_report = new MetricUnit(); // Version 2 Multicast Listener Report
public MetricUnit HA_addrdisc_req = new MetricUnit(); // Home Agent Address Discovery Reques Message
public MetricUnit HA_addrdisc_rly = new MetricUnit(); // Home Agent Address Discovery Reply Message Attention:Changed By Chen Jian Ning
public MetricUnit mobil_prefix_soli = new MetricUnit(); // Mobile Prefix Solicitation
public MetricUnit mobil_prefix_adv = new MetricUnit(); // Mobile Prefix Advertisement
public ICMPv6Metric() {
for (int i=0; i<5; i++) {
dst_unreach[i] = new MetricUnit();
}
}
public void store(byte[] result) {
if (result.length != length) {
System.err.println("[ICMPv6Metric.store()] param len wrong.");
}
ByteBuffer buf = ByteBuffer.wrap(result);
byte[] b = new byte[MetricUnit.length];
buf.get(b);
echo_req.store(b); // Echo Request
buf.get(b);
echo_reply.store(b); // Echo Reply
for (int i=0; i<5; i++) {
buf.get(b);
dst_unreach[i].store(b); // Destination Unreachabl
}
buf.get(b);
pkt_toobig.store(b); // Packet too big
buf.get(b);
time_exceed.store(b); // Time Exceeded
buf.get(b);
param_problem.store(b); // Parameter Problem
buf.get(b);
mcast_query.store(b); // Multicast Listener Query
buf.get(b);
mcast_report.store(b); // Multicast Listener Report
buf.get(b);
mcast_done.store(b); // Multicast Listener Done
buf.get(b);
router_soli.store(b); // Router Solicitation
buf.get(b);
router_adv.store(b); // Router Advertisement
buf.get(b);
neib_soli.store(b); // Neighbor Solicitation
buf.get(b);
neib_adv.store(b); // Neighbor Advertisement
buf.get(b);
redirect.store(b); // Redirect Message
buf.get(b);
router_renum.store(b); // Router Renumbering
buf.get(b);
info_query.store(b); // ICMP Node Information Query
buf.get(b);
info_resp.store(b); // ICMP Node Information Response
buf.get(b);
inv_neibdisc_soli.store(b); // Inverse Neighbor Discovery Solicitation Message
buf.get(b);
inv_neibdisc_adv.store(b); // Inverse Neighbor Discovery Advertisement Message
buf.get(b);
v2_mcast_report.store(b); // Version 2 Multicast Listener Report
buf.get(b);
HA_addrdisc_req.store(b); // Home Agent Address Discovery Reques Message
buf.get(b);
HA_addrdisc_rly.store(b); // Home Agent Address Discovery Reply Message Attention: Changed By Chen Jian Ning
buf.get(b);
mobil_prefix_soli.store(b); // Mobile Prefix Solicitation
buf.get(b);
mobil_prefix_adv.store(b); // Mobile Prefix Advertisement
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -