in tcp_input file when process tcphdr&optionlen continuous (for processing option check):
1.For ipv4, here we call m_pullup;
2.For ipv6, here we call IP6_EXTHDR_CHECK, in this macro it jude M_LOOP. In this case, when packets were received, it calls m_pullup just when M_LOOP is set.M_LOOP is set when loopback and output packets case.
so, my question is:why it is different between ipv4 and ipv6?why jude M_LOOP flag here?
1.For ipv4, here we call m_pullup;
2.For ipv6, here we call IP6_EXTHDR_CHECK, in this macro it jude M_LOOP. In this case, when packets were received, it calls m_pullup just when M_LOOP is set.M_LOOP is set when loopback and output packets case.
so, my question is:why it is different between ipv4 and ipv6?why jude M_LOOP flag here?