code: func (b *RedistributeBody) DecodeFromBytes(data []byte, version uint8) error {
  	if version <= 3 {
  		b.Redist = ROUTE_TYPE(data[0])
  	} else { // version >= 4
  		b.Afi = AFI(data[0])
  		b.Redist = ROUTE_TYPE(data[1])
  		b.Instance = binary.BigEndian.Uint16(data[2:4])
  	}
  	return nil
  }
docs: //  Reference: zebra_redistribute_add function in zebra/redistribute.c of Quagga1.2.x (ZAPI3)
  //  Reference: zebra_redistribute_add function in zebra/redistribute.c of FRR3.x (ZAPI4)
  //  Reference: zebra_redistribute_add function in zebra/redistribute.c of FRR5.x (ZAPI5)